Cand poti spune ca stii sa construiesti de la 0? Ciudat este ca, cu cat aduni mai multa experienta cu atat ai senzatia ca sti mai putin. Problema mea este ca programez si front-end si back-end. Nu imi plac framework-urile. La ce am invatat n limbaje de programare daca trebuie sa invat frameworkuri, nu mai bine le invatam de la inceput?
In html5 daca sti tagurile de baza si api-uri cred ca este de ajuns, sa te apuci sa faci niste svg-uri mi se pare nefolositor.
Sa scri 800 linii de cod in css fara sa faci site-ul responsive iar mi se pare nefolositor.
JavaScript este awesome dar trebuie sa te gandesti ca sunt utilizatori ca mine care folosesc in 80% din timpul de navigare cu plug-in-urile noscrip si adblock activate.
Pentru lucurul cu PHP, dupa ce ai urmat un curs de baza, fara clase si obiecte nu poti lucra la proiecte mai mari si care sa fie si sanitizate macar la nivel mediu.
Apoi trebuie sa lucrezi gratuit destul timp la proiecte ca sa poti capata experienta si fara portofoliu nu te baga nimeni in seama. Unii degeaba spun ca au 5-6-7-8 ani de experienta daca se bat cu mine pentru un proiect mic pe siteuri de freelancing, probabil isi cunosc si ei valoare. Iarasi sa progamezi un sistem cu continut administrat fara sa fi atent la securitate si sanitizare lasa loc nu numai persoanelor rau intentionate, dar si errorilor.
Acum lucrez la site-ul meu personal in care sa-mi pun portofolii. Alt avantaj este ca am activat ca editor video si cunsoc si Photoshop-ul destul de bine.
Intrebarea mea este ce mai trebuie sa invat, cate mai trebuie sa stiu ca sa pot programa pe bani? Trebuie neaparat sa invat bine si framework-uri? Oare care este baza SEO?
In orice limbaj de programare este folositor sa inveti un framework (parerea mea). Te ajuta la multe chestii (securitate, viteza de dezvoltare, reutilizarea codul), nu reinventezi roata.
Eu iti recomand sa incerci un framework pentru backend (php sau js), poate sa incerci mai multe si apoi sa te decizi sa avansezi cu un framework care iti place.
Ca framework php iti recomand laravel pentru ca foloseste design patterns relativ moderne, te acomodezi cu ideea de package manager, are chestii utile (queues, event broadcast), este destul de popular incat ecosistemul este destul de dezvoltat (gasesti pluginuri pentru multe chestii), gasesti multe tutoriale pentru laravel.
Daca citesti comentariile mele despre subiectul acesta, in majoritatea recomand sa te concentrezi pe limbajul in sine, in locul frameworkurilor. La inceput.
Dupa ce stapanesti limbajul de baza, urmatorul pas ar fi sa inveti un framework, pe care sa incerci sa il intelegi ca si cod. Facand asta vei descoperii mult mai multe lucruri pe care nu le stii, iar in acelasi timp vei putea mari viteza de dezvoltare, in unele cazuri.
In cazul acesta, un framework pentru fiecare limbaj este mai mult decat suficient, pentru inceput, urmand ca, atunci cand nevoia apare, sa inveti (si) alt framework.
Spre exemplu, in CSS, ca sa nu ai probleme atat de mari cu cross-compatibility, poti folosi boostrap. Si desi e recomandat sa intelegi codul din spatele boostrap-ului, mai ales cand nu intelegi cum sa folosesti produsul in sine, sau cum functioneaza, nu doar ca vei putea dezvolta mai rapid proiecte, stiind boostrap, dar iti da acces la o cota mai mare de piata.
Fiindca nu stii doar css, ci css SI boostrap. Si poti sa le combini.
Citește cu voce tare:
a ști, tu știi, să știi
a fi, să fii, să fi fost
un fiu, doi fii, fiii lui Moromete
Auzi diferența?
M-am oprit sa mai citesc restul. Cand o sa cresti mai mare o sa-ti placa. De nevoie.
Cunosc pe unii cărora nu le placea C++ ca “C++ e de kakao, ASM rules”. Acum lucreaza in C# Oamenii mai cresc, se mai schimba. E normal.
Ca sa ajungi sa nu-ti placa framework-ul X si sa preferi Y, in mod obiectiv, e nevoie de ceva timp. Ironia e ca trebuie sa lucrezi cu ele ceva timp si destul de serios, ca sa ajungi sa ai o opinie cat de cat.
Singurul lucru la care mi-au mai fugit ochii (and squinching my eyes) din post e “Photoshop”
Cel mai bun raspuns, este fix la obiect. M-am hotarat sa ma indrept catre laravel pentru back-end si bootstrap pentru front-end, pentru ca laravel ar fi avut ceva probleme de securitate dar le-au rezolvat, iar din discutiile citite pe forumuri am dedus ca este potrivit pentru mine, iar pentru interfata bootstrap arata bine si este mai documentat decat alte framework-uri, iar pentru clienti sa arate bine pe orice device este prima optiune.
Inca o chestie: Librarii/biblioteci (libraries). Pe langa framework-uri, este posibil sa mai ai nevoie sa inveti sa folosesti librarii (un framework poate contine mai multe librarii).
Ele iti vor face munca mai usoara in multe cazuri, si sunt mult mai lite decat un framework, neavand nevoie de multa documentatie. In unele cazuri, nici nu este nevoie de mai mult de cateva randuri, dar depinde de complexitatea librariei. Un framework poate fi privit ca fiind mai multe librarii facute sa lucreze impreuna. Complexitatea creste, precum si posibilele utilitati ale rezultatului (framework).
Uite si o lista de librarii php random, pe care sa te uiti, sa-ti faci o idee
-
PHP Simple HTML DOM Parser
A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way! -
Upload
File uploads with validation and storage strategies -
Omnipay
An easy to use, consistent payment processing library for PHP 5.3+ -
Gaufrette
PHP5 library that provides a filesystem abstraction layer -
Faker
Faker is a PHP library that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you. -
Validation
The (self-proclaimed) most awesome validation engine ever created for PHP -
Goutte
Goutte, a simple PHP Web Scraper
E ca un mall adica? Libraria Diverta, Humanitas…
Nici nu ar trebui să intre în discuţie să nu treci la un framework. De preferat unul standard.
Noi, programatorii, de multe ori uităm că până la urmă oferim servicii, la fel ca un instalator, la fel ca un mecanic.
Aşa cum ai pretenţia de la un instalator sau de la un mecanic să folosească scule industry-standard, să nu folosească ţevi custom, piuliţe sau şuruburi custom care doar el le ştie folosi, la fel e şi în programare. Imaginează-ţi haosul doar.
Trebuie să ştii folosi sculele standard, pentru că dintre 2 candidaţi sau dintre două firme, una care lucrează cu un framework cunoscut şi una care vine cu frameworkul ei custom, ca şi client, care crezi că va fi aleasă?
Absolut de-acord că trebuie să ştii limbajul de bază, trebuie să ştii ce face frameworkul în backend, cum funcţionează, şamd.
Dar dacă nu eşti Microsoft, Apple, sau Google să îţi poţi impune propriul cod, recomand să înveţi să foloseşti ce e standard.
Da, ştiu că din păcate în lumea noastră lucrurile evoluează repede, dar la fel e peste tot deja în ziua de azi. Gândeşte-te la un mecanic care ieri repara benzinare cu cutie manuală 5 viteze şi mâine va trebui să fie capabil să repare un prius hibrid cu o cutie CVT care nu ştie ce-s alea trepte şi 99% e gestionat de software. Asta ca să rămână competitiv, dacă nu, poate lucra la colţul blocului reparând logan-uri, pe salar pe măsură, nu?
Puțin back to earth :
Dacă te mănâncă să folosești JS e cam limbajul și comunitatea care te forțează să înveți să faci un lucru în minim 3 feluri chiar dacă nu vrei. O să înveți mereu detalii pe care le uiți la următorul proiect.
Răspunsul meu ar fi că niciodată nu vei ști să faci o aplicație web, îți trebuie 2 monitoare, google, stackoverflow, slack și o grămadă de cafea ca să te uiți după inspirație și după să înveți, întrebi, implementezi.