Intr-o lume in care aplicatiile web devin din ce in ce mai complexe si majoritatea lucrurilor cu adevarat utile de pe desktop se porteaza pe web, programarea in sine, indiferent de limbajul de programare a devenit o mare consumatoare de timp, resurse, cu alte cuvinte eficienta.
In ultimul timp, programatorii web care-si cunosc telurile si care se descurca destul de bine cu programarea orientata pe obiecte au inceput sa foloseasca framework-uri (in special MVC - Model View Controller) ca sa-si usureze munca. Si s-a dovedit ca framework-urile nu doar ca usureaza munca programatorului, dar adauga si un plus de securitate si integritate aplicatiei.
Exemplul perfect este framework-ul CakePHP pe care-l folosesc de mai bine de 6 luni si de cand lucrez proiectele pe el, ma misc mai repede si mi-e mult mai usor sa adaug functionalitate website-ului.
CakePHP este desi foarte puternic, destul de lipsit de multe facilitati pe care le-ar putea implementa echipa (probabil in versiunile ce urmeaza), dar pe de alta parte este exact ce ai nevoie ca proiectarea unei aplicatii sa fie cake.
Un lucru pe care l-am vazut zilele trecute si care mi-a atras atentia indeajuns de mult cat sa raman pe subiect cateva zile si sa studiez, a fost un alt framework MVC, numit Symfony.
Acest Symfony este mult mai complex decat CakePHP dar mult mai greu de folosit. Se orienteaza catre segmentul de programare enterprise, acolo unde aplicatia va fi instalata pe serverul propriu al firmei... and so on.
Destul de stresanta pentru tine, ca om care vrei sa vezi ce poate, e instalarea: trebuie sa ai PEAR > 1.4.2. Apoi se adauga un nou canal la PEAR, de unde isi ia proiectul Symfony si se instaleaza. Din momentul ala exista comanda "symfony" in consola si se lucreaza cu ea orice s-ar face. Cam asta e baza.
Pe mine m-a uimit foarte tare cum lucreaza si cum se configureaza. Daca la CakePHP nu faci decat sa creezi fisiere si sa scrii in ele, aici nici macar nu le mai creezi, doar schimbi prin ele variabile, si adaugi proprietati.
Sistemul de retinere a datelor de configurare este format din fisiere .yml (http://www.yaml.org/) si e foarte intuitiv.
Un lucru care o sa uimeasca multi developeri este admin-generator-ul care e o componenta care genereaza pagini de administrare pentru continutul site-ului si nu numai.
Il puteti urmari in actiune aici (doar pentru coderii dedicati, daca va plictisiti nu va uitati :D)