• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy do pracy we Frontendzie lepiej , jako dodatek, uczyć się PHP + MySQL czy nodeJS + MongoDB?

VPS Starter Arubacloud
0 głosów
1,750 wizyt
pytanie zadane 12 grudnia 2015 w Rozwój zawodowy, nauka, praca przez ScriptyChris Mędrzec (190,190 p.)

Od lutego będę pisał magisterkę (aplikacja internetowa + aspekt badawczy do niej) i zastanawiam się czy do obsługi backendu i bazy danych uczyć się (i użyć) PHP + MySQL, czy nodeJS + MongoDB (lub jakaś inna baza pod nodeJS).

Pytam, bo przeglądając oferty pracy dla Juniorów (frontend/JavaScript), czy nawet staży, często w dodatkowych wymaganiach pojawia się PHP i Wordpress. Zdaje sobię sprawę, że od programistów frontendu też wymaga się minimalnej znajomości backendu. Dlatego zastanawiam się, czy uczyć się PHP i MySQL (bo zdecydowanie częściej przewija się w ofertach), czy jednak nodeJS z np. MongoDB(bo może uda mu się wygryźć PHP za kilka lat), no i chyba wygodniej przy znajomości JS douczyć się nodeJS, niż przerzucać się na PHP? Jeśli lepiej uczyć się nodeJS, to jak to ma się do Wordpressa - czy tam koduje się w PHP, czy też i można nodeJS?

Co polecacie? :)

4 odpowiedzi

+5 głosów
odpowiedź 12 grudnia 2015 przez Comandeer Guru (599,730 p.)

bo może uda mu się wygryźć PHP za kilka lat

O, zapewne platformie przeznaczonej do tworzenia skalowalnych web aplikacji real-time uda się wyprzeć język do tworzenia stron ;)

chyba wygodniej przy znajomości JS douczyć się nodeJS

Pytanie brzmi: na ile ogarniasz asychroniczność? Bo jak nie ogarniasz, to uwierz mi: szybciej ogarniesz PHP.

Poza tym: czemu tak dziwnie łączysz technologie? MongoDB ma też fajne drivery pod PHP, a node.js bez problemu obsłuży MySQL. Powiem więcej: jeśli zastanawiasz się jakiej bazy potrzebujesz, to potrzebujesz jakiejś SQL - w tym wypadku MySQL. MongoDB (i ogólnie NOSQL) mają bardzo wąski zakres stosowania i są mocno specyficzne. Dodatkowo, jeśli Twoje dane nie są samodzielnymi dokumentami i/lub posiadają relacje, to przy MongoDB wypadną Ci włosy zanim cokolwiek sensownego stworzysz.

Natomiast Wordpress jest CMS-em napisanym w PHP, więc nie da się z nim użyć node.js.

komentarz 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)

O, zapewne językowi przeznaczonemu do tworzenia skalowalnych web aplikacji real-time uda się wyprzeć język do tworzenia stron ;)

Wybacz, napisałem co zasłyszałem i "wydaje mnie się" :)

 Pytanie brzmi: na ile ogarniasz asychroniczność? Bo jak nie ogarniasz, to uwierz mi: szybciej ogarniesz PHP.

Ja chce nauczyć się pod "pracę" - bo tam wymagają PHP i Wordpressa (tzn. często to widzę w ogłoszeniach). Dlatego zapytałem, czy przy znajomości JS (w przyszłości zakłądam, że dużo lepszej) jest sens uczyć siePHP, czy tylko rozwijać się w stronę nodeJS 

Natomiast Wordpress jest CMS-em napisanym w PHP, więc nie da się z nim użyć node.js.

Czyli (niestety dla mnie) jestem zmuszony uczyć się PHP, którego na obecną chwilę nie lubię i w ogóle nie rozumiem. Bo Wordpress jest dosyć popularny i "trzeba umieć" pisać wtyczki, czy czego tam sobie ludzie zażyczą - więc bez PHP ani rusz? :)

komentarz 12 grudnia 2015 przez Comandeer Guru (599,730 p.)
Hm… Z tą pracą zrozumiałem, że chcesz backendu nauczyć się do magisterski.

Bo jeśli chodzi o prawdziwą pracę (;)), to writen ma rację: jak szukasz pracy we froncie, to backend Cię całkowicie nie interesuje. Oferty typu "szukamy fronta z dobrą znajomością PHP" znaczą tyle, co "szukamy murzyna, który będzie masowo produkował gówna w WordPressie".
komentarz 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)

Nie, praca magisterska będzie napisana w formie SPA, ale tam raczej musi być serwer i baza, z której dane będą przesyłane (AJAX i JSON? - do nauczenia jeszcze). Z nauką PHP i Wordpress miałem na myśli pracę zawodową, ale jeśli jest tak jak napisał @writen, to lepiej dla mnie. Ja backend omijam szerokim łukiem.

komentarz 12 grudnia 2015 przez Comandeer Guru (599,730 p.)
W teorii PHP + MySQL jest bardziej popularne i bardziej Ci się może przydać. Jeśli już musisz czegoś użyć, to polecałbym to.
komentarz 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)
A czy w takiej sytuacji (PHP + MySQL) należy lepiej umieć PHP, czy SQL (język relacyjnych baz danych)? Bo wiem, że MySQL to "platforma", na której stosuje się język SQL.
komentarz 12 grudnia 2015 przez Comandeer Guru (599,730 p.)
SQL jest niby standardem, ale prawda jest taka, że każda baza implementuje go po swojemu… Więc SQL w MySQL niekoniecznie jest tym samym SQL, co w PostgreSQL itd.
komentarz 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)
Widziałem już, że SQL w Oracle'u jest inny niż w MySQL. Natomiast nie wiem jak to wygląda po stronie nodeJS (o ile czegoś nie pomyliłem), to tam są bazy NOSQL (nierelacyjne) i jest kilka. Ale pisze się w nich JavaScriptem?
komentarz 12 grudnia 2015 przez Comandeer Guru (599,730 p.)
Ale co ma baza do tego, co używasz na serwerze?

Nie, w node.js równie dobrze można wykorzystywać SQL. Po prostu na fali hype'u ukuto termin MEAN, który po prostu oznacza najczęściej wykorzystywane połączenie do tworzenia aplikacji w node.js (MongoDB + Express.js + Angular.js + node.js). Problem w tym, że to jest sterowane wyłącznie popularnością, a nie sensownością…

MongoDB da się w całości oskryptować przy pomocy JS - to prawda. Jest jeszcze kilka takich baz (teraz nie przypomnę se jakie). Niemniej bazy są całkowicie niezależne od języka/platformy serwera i łączenie tego w pary to właśnie łączenie wyłącznie poprzez populrność konkretnego rozwiązania.

Poza tym: PostgreSQL umie przechowywać JSON-a lepiej niż MongoDB. Warto o tym pamiętać ;)
komentarz 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)
W takim razie co byś polecił (język/technologia/platforma) do napisania (obsługi) serwera i bazy dla SPA, dla początkującego ale z nastawieniem na JS?
komentarz 12 grudnia 2015 przez Comandeer Guru (599,730 p.)
Początkującemu o wiele łatwiej będzie ogarnąć PHP niż node.js – taka prawda.
+4 głosów
odpowiedź 12 grudnia 2015 przez writen Nałogowiec (29,060 p.)
edycja 13 grudnia 2015 przez writen

Ja chciałem cię tylko uświadomić, że MySQL i mongodb to zupełnie różne systemy zarządzania bazami danych i wykorzystuje się je w różnych celach. Nie ma tutaj znaczenia w jakim języku programujesz. W nodeJS możesz również korzystać z mysql, jak i w php z mongodb. Co za różnica, skoro bazę danych wybiera się ze względu na to jaki charakter ma aplikacja? Jako frontendowiec nie musi cie to nawet interesować. Jeśli będziesz zatrudniony jako programista front-end, a będziesz musiał robić cokolwiek z backendu to możesz śmiało przełożonego wyśmiać i iść gdzie indziej.

Zdaje sobię sprawę, że od programistów frontendu też wymaga się minimalnej znajomości backendu.

Możesz to śmiało olać. A najlepiej omijać takie oferty szerokim łukiem. Czasem ze znajomymi lubimy poczytać takie oferty pracy i nieźle się pośmiać.

bo może uda mu się wygryźć PHP za kilka lat

Trochę ci się żart nie udał. Jesteśmy chwilę po wydaniu PHP7, a ty z takim tekstem wyjeżdżasz.

Jeśli lepiej uczyć się nodeJS, to jak to ma się do Wordpressa - czy tam koduje się w PHP, czy też i można nodeJS?

WP jest napisany w PHP, więc chyba powinieneś się domyślić.

Pamiętaj też, że nodeJS to nie jest jakiś język programowania. Jeśli znasz bardzo dobrze JS to raczej nie ma za dużo do uczenia się.

 

komentarz 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)

Może na wyższych poziomach frontendu (mid, senior) nie trzeba zajmować się PHP/Wordpress. Ale na stażach lub Junior - a tam łapie się pierwsze doświadczenie, to niestety można sięz tym spotkać i trzeba umieć podstawowe rzeczy napisać.

Ja chciałem cię tylko uświadomić, że MySQL i mongodb to zupełnie różne systemy zarządzania bazami danych i wykorzystuje się je w różnych celach.

Tak, zgadza się.

Jako frontendowiec nie musi cie to nawet interesować. Jeśli będziesz zatrudniony jako programista front-end, a będziesz musiał robić cokolwiek z backendu to możesz śmiało przełożonego wyśmiać i iść gdzie indziej.

Mam taka nadzieję, bo narazie backend omijam szerokim łukiem. Ale już w pracy magisterskiej jakiś serwer do aplikacji SPA będę musiał postawić i bazę zrobić. A skoro już będę musiał to zrobić, to chciałem przyszłościowo nauczyć się w języku, z którego ewentualnie (oby nie) bym korzystał w przyszłości.

komentarz 12 grudnia 2015 przez efiku Szeryf (75,160 p.)
Jak front to jeszcze bym na Twoim miejscu poczytał o twigu, bo możesz się spotkać z aplikacjami które używają systemu szablonów TWIG. Warto chociaż poczytać dokumentację. ( mam na myśli dobre aplikację, bo gówno kod zawsze będzie mieszany z PHP i powodzenia w edycji czegoś takiego ^^)

------------------------- Tyle odnośnie frontu -----------------------------

No Aplikację taką SPA nie ruszysz bez backendu xD

Projektowanie aplikacji obsługującej SPA możesz walnąć nawet w hhvm xD Generalnie to na początku zaprojektuj sobie domene aplikacji, relacje między encjami, itd. Narysuj sobie to na kartce,  rozplanuj komunikację. Pamiętaj, że wybór bazy powinien być na końcu. Załóżmy, że to jest język PHP, no  to chyba nie będziesz pisał całego mechanizmu routingu, cache, requestów od początku? Bo oglądałeś jakieś śmieszne kursy XD. CO zrobisz?  Użyjesz jakiegoś FW który zajmie się tym za Ciebie, a obsługę połączenia z bazą ogarniesz za pomocą jakiegoś dbala np Doctrine.
komentarz 13 grudnia 2015 przez Comandeer Guru (599,730 p.)
Część aplikacji SPA może działać bez backendu c: to aplikacje standalone, którym serwer jest potrzebny do posłania początkowych zasobów. Później serwer może nawet paść, a takie aplikacje sobie poradzą (np dzięki ServiceWorkerowi).
komentarz 13 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)

Załóżmy, że to jest język PHP, no  to chyba nie będziesz pisał całego mechanizmu routingu, cache, requestów od początku? Bo oglądałeś jakieś śmieszne kursy XD. CO zrobisz?  Użyjesz jakiegoś FW który zajmie się tym za Ciebie, a obsługę połączenia z bazą ogarniesz za pomocą jakiegoś dbala np Doctrine.

Nie do końca rozumiem o czym napisałeś -  w sensie tych backendowych pojęć :(

Tematem mojej pracy jest porównanie Angulara z czystym JS przy tworzeniu SPA. Będę pisał conajmniej 2 wersje aplikacji: jedna z czystym JS (ewentualnie z jQuery), druga na Angularze (z jQuery), trzecia i czwarta to z/bez RWD. O backendzie jeszcze nie myślałem, ale oby był jak najprostszy, bo w powyższej pracy będę analizował głównie frontend. Dlatego też w tym temacie pytam o PHP vs nodeJS, ale skoro PHP jest łatwiejszy dla początkujących to niech będzie PHP na początek backendowej nauki.

komentarz 13 grudnia 2015 przez Comandeer Guru (599,730 p.)
Obadaj zatem projekt TodoMVC - to jest de facto to, o czym piszesz. Przy okazji dowiesz się, że baza danych jest de facto w każdej przeglądarce i w sumie w backendzie starczy Ci serwer do przesyłania statycznych zasobów ;)
komentarz 13 grudnia 2015 przez efiku Szeryf (75,160 p.)
No i elegancko Ci Comandeer dał rozwiązanie :)
komentarz 13 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)
@Comandeer, dzięki.

Budowę SPA zaczynać tradycyjnie (jak na frontend) od HTML -> CSS -> JS, a na końcu backend? Czy tutaj najpierw backend, albo inna kolejność?
komentarz 13 grudnia 2015 przez Comandeer Guru (599,730 p.)
Jak Ci wygodniej…
0 głosów
odpowiedź 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)

Rozwijając pytanie.

Czego lepiej zaczynać się uczyć teraz, jeśli w przyszłości chciałbym być FullStack? PHP pod Wordpress, czy nodeJS bo łatwiej z JS się nauczyć (będąc frontem oczywiście)?

Może znowu coś mylę, ale ja chcę sobie ułożyć jakiś plan - a wiem, że po kilku latach pracy, mając już odpowiednie doświadczenie można zarabiać więcej jako FullStack. Ponadto, czytam na forach, że niedługo frontend będzie prostszy do ogarnięcia dla laików i siłą rzeczy programista frontendu, będzie musiał umieć backend, żeby nie zarabiał groszy. Ale może to też plotki?

komentarz 12 grudnia 2015 przez Comandeer Guru (599,730 p.)

 Ponadto, czytam na forach, że niedługo frontend będzie prostszy do ogarnięcia dla laików i siłą rzeczy programista frontendu, będzie musiał umieć backend, żeby nie zarabiał groszy. 

>facepalm< Nie wiem gdzie Ty czytasz takie głupoty, ale lepiej przestań. Front staje się coraz bardziej skomplikowany z powodu tego, że JS jest wykorzystywany do coraz bardziej skomplikowanych zadań. Wystarczy popatrzeć na amd.js, SIMD i WebAssembly, żeby szybko się przekonać, że nie jest to w żadnym stopniu przeznaczone dla laików.

Owszem, powstaje pełno rozwiązań, które mają pomóc stworzyć każdemu swoją stronę internetową (np thegrid.io), ale paradoksalnie sprawiają, że programiści z dużą wiedzą będą jeszcze bardziej w cenie. Inaczej utonęlibyśmy w morzu miernoty.

 Czego lepiej zaczynać się uczyć teraz, jeśli w przyszłości chciałbym być FullStack?

IMO fullstack bardziej odnosi się do programistów JS, którzy kodzą izomorficzne aplikacje internetowe. W tym wypadku zdecydowanie node.js. Inna rzecz: na pewno Ci to potrzebne? 

komentarz 12 grudnia 2015 przez writen Nałogowiec (29,060 p.)

Tak, plotki. Front-end to już nie jest samo klepanie szablonów, a całych aplikacji działających po stronie klienta. Dlatego też dla prawdziwych pracodawców programista fullStack to kpina.

Jeśli chesz się też bawić w backend to zdecydowanie szybciej ogarniesz PHP.

a wiem, że po kilku latach pracy, mając już odpowiednie doświadczenie można zarabiać więcej jako FullStack. 

Niestety tak nie jest. Będziesz robił za trzech, a kasa będzie taka sama. W tych wszystkich ofertach pracy, w których od front-endowca wymagają jakiejś zanajomiści back-endu, szukają po prostu frajera, który będzie robił jak za darmo.

komentarz 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)

Inna rzecz: na pewno Ci to potrzebne? 

Teraz i przez najbliższe 2 lata - nie, nie planuję FullStacka, a później to zobaczę co będzie się działo w technologii. Ale jeśli już muszę napisać aplikacje, która będzie wymagała serwera i bazy danych oraz na stażu/jako junior możliwe że będę pisał coś dla Wordpress - to chcę już myśleć czego się uczyć. Owszem, chciałbym skupić się w 100% na froncie, ale tez nie chcę za pół roku obudzić się, że jednak na staż/juniora (tak wiem, powtarzam się) chcą PHP z Wordpressem. Dlatego już teraz o tym myślę i pytam.

Front staje się coraz bardziej skomplikowany z powodu tego, że JS jest wykorzystywany do coraz bardziej skomplikowanych zadań.

Wiem, tu polecam ciekawy wykład (obecny stan JS i niejako przyszłość, zaczyna się od około 27 minuty) https://www.youtube.com/watch?v=je1-oHcyCNY 

komentarz 12 grudnia 2015 przez ScriptyChris Mędrzec (190,190 p.)

Jeśli chesz się też bawić w backend to zdecydowanie szybciej ogarniesz PHP.

Nie, ja nie chcę :) Tylko z tego co czytam (a Wy tu zaprzeczacie, i dobrze) FullStack jest (niby) lepiej opłacanym programistą. Tylko dlatego pytam, czego się uczyć jużpisząc magisterkę. 

0 głosów
odpowiedź 19 marca 2017 przez Tomek Sochacki Ekspert (227,510 p.)
W kwestii PHP czy node nie wypowiem się, gdyż uważam, że wszystko zależy od tego w czym się po prostu lepiej czujesz, a pracę znajdziesz i tu i tu.

Natomiast co do bazy danych to przyznam, że nie znam zbyt dobrze MongoDB natomiast mam parę większych aplikacji opartych na MySQL i za nic nie zamieniłbym teraz tej bazy na inną. Dlaczego? Otóż gdy przyjdzie Ci kiedyś robić bardziej rozbudowaną aplikację, jakiś CRM itp. to docenisz zalety takich "elementów" MySQL jak triggers, procedury, klucze obce, widoki. Fakt jednak, że aby to w pełni wykorzystać musisz mieć dobry hosting. Gdybyś takiego szukał to daj znać na prv (nie wiem czy można tu robić reklamy, a przyznam, że nie mam teraz czasu na sprawdzenie całego regulaminu).

Także ze swojego doświadczenia powiem tak: jeśli myślisz o bazach danych to polecam pouczyć się MySQL ale nie tylko prostych select z join czy where ale poznanie pełnych możliwości tej bazy. Jeśli planujesz naukę bazy to pomyśl może nad jakimś własnym małym crm, programem fakturującym czy jakąś inną aplikacją, w której możesz także nieco poduczyć się frontu i mieć ciekawy projekt do CV.

Gdybyś potrzebował więcej info gdzie i jak szukać materiałów do MySQL to daj znać (najlepiej prv bo nie zawsze śledzę na bieżąco wszystkie wątki) to coś ci spróbuję doradzić.
komentarz 19 marca 2017 przez Benek Szeryf (90,690 p.)
Sprawdzaj datę ostatnich wpisów, zanim stworzysz wiadomość. Sam się kiedyś tak naciąłem i odgrzałem stary temat.
komentarz 19 marca 2017 przez radek024 Szeryf (77,180 p.)
Ciekawe, czy magisterka wogóle ruszyła :D
komentarz 19 marca 2017 przez ScriptyChris Mędrzec (190,190 p.)

@radek024, moja?

komentarz 19 marca 2017 przez Tomek Sochacki Ekspert (227,510 p.)
ehh faktycznie, skupiłem się na przejrzeniu odpowiedzi ale zupełnie pominąłem daty :)

Podobne pytania

0 głosów
0 odpowiedzi 221 wizyt
pytanie zadane 27 września 2019 w JavaScript przez DanexZ Obywatel (1,270 p.)
0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 7 czerwca 2020 w JavaScript przez Allen Obywatel (1,010 p.)
0 głosów
0 odpowiedzi 97 wizyt

92,453 zapytań

141,262 odpowiedzi

319,087 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...