IT Industrija
🔥 Najčitanije
🔥 Najčitanije
Prenosimo priču iz predavanja Uroša Anđelića.
Ne postoji najbolja univerzalna tehnologija, smatra Uroš Anđelić. Postoje samo različite tehnologije koje najuspešnije rešavaju određene zadatke, kao i tehnologije koje najviše odgovaraju timu ili pojedincu. Kako je ovaj programer istakao prilikom predavanja održanog u okviru Quantox Virtual Conference, najproverenija je praksa koristiti one alate koji se najbolje poznaju, ali, ponekad, potrebna je i promena.
Iako se u svojoj karijeri uglavnom služio PHP-om, Uroš je objasnio zašto kolegama preporučuje korišćenje Node.js-a. Naglasio je i da PHP (a naročito framework Laravel) pruža široke mogućnosti, te da predstavlja odličan izbor za razvoj backenda, iako Node.js poseduje izvesne prednosti. Skrenuo je i pažnju na to da je reč o njegovom ličnom mišljenju, te da svaki pristup i izbor treba prilagoditi sopstvenim afinitetima.
Za Uroša, najbitnija osobina programskog jezika koji koristi jeste mogućnost da se u njemu bude produktivan. PHP, koji je njegov primarni jezik, to mu obezbeđuje, a framework Laravel podiže taj kvalitet na još viši nivo. Uz to što pruža sve alate potrebne za razvoj veba, Laravel omogućuje i najjednostavnije načine njihove upotrebe, kao i kreiranje održivih aplikacija, pogodnih za proširenje kapaciteta (skalabilnih).
Osim toga, Laravel nema „strmu krivulju učenja”, pa je i početnicima relativno lako da naprave jednostavnu veb aplikaciju. Dostupna je i odlična dokumentacija, a kako Uroš dodaje — ovaj framework je „zabavno” koristiti.
Kada je razmišljao u kom smeru bi nastavio obogaćivanje svog poznavanja backend tehnologija, Uroš je razmatrao učenje Pythona i Node.js-a, dok su sve ostale opcije bile ili previše kompleksne za njegove potrebe, nedovoljno „zrele” ili nedovoljno popularne.
Opredelio se naposletku za Node.js, a za svoju odluku naveo je nekoliko razloga:
Isti programski jezik se koristi i za frontend i za backend — Prema njegovim rečima, lakše je raditi u jednom jeziku (u ovom slučaju JavaScriptu) nego u dva, čak i kada postoje različiti developeri koji rade klijentski i serverski deo aplikacije, ali i kada postoje sasvim odvojene aplikacije za front i back.
„Ako pravite mali veb-sajt, ne morate previše da komplikujete stvari, možda vam je i WordPress ili neka slična tehnologija dovoljna. Uz poznavanje minimuma PHP-a, jQuery-ja, i CSS-a — završili ste posao. Ali, ako pravimo veliki, moderni sajt sa različitim funkcionalnostima, ili ‘single page’ aplikaciju, moramo da razmišljamo o tome koje ćemo tehnologije da koristimo, koliko ćemo korisnika imati, da li će biti potrebno implementirati notifikacije ili čet, ili neki drugi vid komunikacije u realnom vremenu. Jednostavnost je od velikog značaja, a definitivno je lakše raditi u jednom jeziku nego u dva.”
Popularnost — „Kada se ‘zaglavim’ pokušavajući da rešim neki problem, važno mi je da budem siguran da ću od onlajn zajednice dobiti odgovor na pitanja. Biću pošten, Laravel u tom smislu ima prednost u odnosu na bilo koji pojedinačni Node.js framework, ali ne i u odnosu na celu JavaScript zajednicu. Bitno je pronaći kvalitetnu zajednicu i razvijen ekosistem”.
Brzina programskog jezika – Prema Uroševim rečima, brzina je vrlo retko limitirajući faktor kod bekend aplikacija, pošto su svi popularni jezici dovoljno brzi u velikoj većini slučajeva. Ipak, različiti su načini funkcionisanja Node.js-a i PHP-a, pa Uroš i u ovoj stavki prednost daje Node-u.
„U PHP-u, za svaki zahtev upućen serveru, pokreće se novi PHP proces, fajlovi se interpretiraju, a kod se izvršava — pa se tek onda realizuje i ‘biznis logika’ i kreiraju odgovori koji se prosleđuju klijentu. S druge strane, kod Node.js-a proces se pokreće jednom, framework se ‘podiže’ i spreman je da procesuira zahteve. Takođe Node.js koristi ‘event loop’ da ‘hendluje’ zahteve, što je efikasno rešenje, a omogućava i višenitno programiranje. Generalno, Node je mnogo brži od PHP-a.”
Web sockets — „Reč je o tehnologiji koja se koristi za implementaciju funkcionalnosti za koje je potrebna ‘real time’ komunikacija. Četovi, push notifikacije… sve ono što server treba da pošalje korisniku, iako korisnik to nije tražio.
I PHP i Node.js imaju biblioteke koje omogućuju rad sa veb soketima, ali se PHP-ove koriste znatno manje. Čak i kada se backend deo aplikacije izrađuje u PHP-u, deo sa veb soketima kreira se u odvojenoj Node.js aplikaciji ili pomoću nekog drugog servisa.”
Lične preferencije — „Na kraju svega, važno je da vam se dopada ono u čemu radite, i da vam je zabavno dok koristite svoj odabrani programski jezik, ukoliko je to ikako moguće”, zaključuje Uroš. „Zabava motiviše, motivacija vodi ka produktivnosti, a produktivnost daje željene rezultate. Nemojte ignorisati činjenicu da vam se nešto dopada ili ne dopada.”
Objavio/la članak.
sreda, 9. Septembar, 2020.