0766719180 [email protected]

Salut. Astazi vreau sa va vorbesc putin despre PHP vs JavaScript din perspectiva unui programator care le foloseste pe amandoua. Articolul asta este util atat pentru cei care acum incep sa invete despre programarea web dar si pentru cei care au ceva experienta in spate si vor sa se specializeze.

Pentru inceput, de ce vorbim despre JavaScript si PHP, avand in vedere ca exista foarte multe alte limbaje de programare in lumea asta? Pentru ca blogul asta este in principiu despre lumea WEB (design web si programare WEB) dar si pentru ca vreau sa vorbesc din propria experienta, iar astea sunt limbajele pe care eu le-am folosit cel mai mult.

Privind putin in urma, sa zicem aproximativ 10 ani, Javascript si PHP erau cunoscute ca doua limbaje de programare ce erau folosite foarte frecvent impreuna (HTML, CSS, Javascript si PHP faceau parte din arsenalul uzual al unui programator web). De ceva ani, de cand NodeJS a inceput sa fie popular, PHP nu mai este tocmai necesar pentru a crea partea de back-end al unui site sau aplicatii web (dar au exista intotdeauna mai multe alternative).

In partea de front-end (ceea ce ruleaza in browser, adica pe dispozitivul utilizatorului), JavaScript a fost si este in continuare alegerea #1 si cam singura de altfel. Aici nu exista loc de discutie. Avand in vedere lucrul asta, mai are PHP viitor si mai merita sa il inveti sau sa il folosesti in continuare? Categoric.

Fiecare dintre cele doua au avantajele lor. Totul depinde de tine, ceea ce vrei sa faci, unde te vezi in continuare, unde ai vrea sa lucrezi sau cum si clienti ai dorii sa ai.

Sa incepem cu…

mother php

Avantajele PHP

Vorbind despre aplicatii web, daca vei lucra (sau vrei sa lucrezi) la proiecte mici spre medii ca dimensiune, o sa vezi destul de des proiecte bazate pe PHP. Daca vorbim despre site-uri, nu prea ai cum sa treci pe langa limbajul asta.

Sa vorbim in primul rand despre WordPress, cel mai popular content management system (CMS) din lume. In martie 2019 , cei de la WordPress anunta intr-o postare ca WordPress a ajuns sa fie in spatele a unei treimi din top 10 milioane cele mai populare website-uri din lume. Numai statistica asta trebuie sa iti dea mult de gandit. Si numarul este in crestere!

Apoi, mai exista multe alte CMS-uri bazate pe PHP, foarte populare si ele: Drupal, Joomla. Pe partea de ecommerce, avem si acolo de unde alege: WooCommerce (wordpress), Magento, PrestaShop, OpenCart si altele.

Deci ai in plan sa te ocupi de magazine online, e foarte posibil sa te lovesti de PHP. Daca te vei ocupa de website-uri, nu ai cum sa nu te lovesti de PHP.

Daca ai in plan sa lucrezi la proiecte mai mari, in special aplicatii web, acolo situatia e discutabila. Pana la urma depinde de preferinte sau de ce oportunitati ai.

Eu am folosit mult timp CodeIgniter. Este un framework bazat pe conceptul MVC (model-view-controller) si este usor de inteles. Similar mai sunt Symfony sau Laravel.

Ca exemple, site-uri ce folosesc framework-uri PHP. CodeigniterȘ  Bitdefender, 1electric.ro, baneasa.ro,
Magento: Carrefour, bicicletepegas.ro

De WordPress nu mai zic, pentru ca e plin. A, da, legat de WordPress: exista si conferinte anuale bazate pe subiectul WordPress. Eu am fost de vreo 2 ori la WordCamp. Exista si intalniri lunare bazate pe WordPress.

Si ca sa termin cu PHP: Eu am fost ultima data la o agentie unde erau foarte multe proiecte bazate pe PHP. Desigur, si JavaScript era foarte folosit, dar fara PHP nu puteai sa traiesti.

javascript mother

Avantaje JavaScript

Acum, revenind la JavaScript: Front-end, clar nu exista fara javascript. Browserele doar asta inteleg. Exista si limbaje care sunt compilate in JavaScript, dar asta e alta poveste, nu vreau sa fac prea multe paranteze.

Mai acum vreo 5-10 ani, in front-end jQuery era baza, iar in spate ceva bazat pe PHP. Acum, in front-end ai foarte multe optiuni. Pentru proiecte de complixate cel putin medie ai in front-end Angular, React, Vue. Astea sunt top 3 cele mai populare framework-uri javascript in 2019.

Daca vrei sa te angajezi la corporatii sau de principiu intr-un mediu non-agentie, trebuie sa stii ceva JavaScript. In Romania, in corporatii, se lucra mult cu Angular, acum React domina. Vue nu am vazut sa fie chiar atat de cerut precum cele doua, dar am vazut ca prinde rapid din urma.

Deci doar intr-un caz mai izolat in care sa zicem ca ai vrea sa fii 100% back-end developer bazat pe PHP (de exemplu am vazut post de angajare la CEL.ro, il tot vad de vreo 2 ani), tot trebuie sa stii ceva JavaScript pentru front-end.

Daca vrei sa ai clienti mari sau sa lucrezi la proiecte mari, de obicei va trebui sa cunosti Javascript la greu, fie ca vorbim de front-end sau de backend.

De ce e JavaScript popular in zona asta? Pentru ca e mai natural sa ai acelasi limbaj, atat in front-end dar si in back-end. API-urile in ziua de azi sunt intens bazate pe JSON. Nu ca PHP nu ar intelege JSON, dar JSON fiind bazat pe JS trebuie sa iti spuna ceva (bine, asta e doar inca un argument, nu ca ar fi ceva decisiv).

Eu, de exemplu, am o extensie chrome care imi arata instant daca un website e bazat pe React. Chiar acum am scris asta in Evernote, care foloseste React. React e peste tot, e popular, e tare :).

In anul in care suntem si probabil si in viitorul pe termen mediu, nu ai cum sa gresesti cu React. Nu ai cum sa gresesti cu JavaScript. Plus, ca JavaScript mai e folosit si in alta parte.

E folosit pentru inteligenta artificala (tensorflow are varianta tensorflow.js), in IoT, in front-end, in back-end. Am vazut JavaScript folosit in industria auto. Probabil ca exista interfete alea navigatiilor scrise in javascript.

Eu fiind pasionat de masini, urmarind youtube, l-am vazut pe unul ce isi facea o masina de offroad si si isi facuse o interfata pentru masina (sa ii arate temperaturi, unghiuri de atac, camere si altele) in AngularJS.

Acum, dupa mine, JavaScript poate e putin mai ciudatel, cu putin mai greut de invatat decat PHP. Daca esti freelancer, poate e mai greu sa gasesti initial pe cineva care sa lucreze cu tine la o aplicatie mare versus un mic website sau un magazin online. Acum depinde de traseul fiecaruia.