HomeArticoleTest Lab › PHP: Framework-ul, un rau necesar?

PHP: Framework-ul, un rau necesar?

6 iulie 2011 | 08:01
Poate nu multi programatori isi mai pun astazi problema daca este bine sa foloseasca un framework, dar noi ne intrebam: cat te ajuta si cat poate de fapt sa te incurce un framework?
PHP: Framework-ul, un rau necesar?
Este evident ca s-a trecut de mult de pragul in care ne intrebam daca avem nevoie de un framework. Si probabil ca ar fi cel putin la fel de util un articol in care sa analizam framework-urile existente. Dar pentru moment cred ca este la fel de interesant sa ne gandim la “efectele secundare” ale folosirii unui framework.

In general lumea imparte framework-urilor in doua mari categorii: cele “lightweight”, care furnizeaza programatorului doar un cadru general si un set minimal de unelte, si cele “heavyweight”, adevarate “uzine” de dezvoltare care incearca sa satisfaca cele mai exotice dorinte informatice.

Dar una peste alta, este clar ca nu mai putem trai fara ele. Sunt convins ca majoritatea programatorilor experimentati au si incercat sa scrie un framework propriu, iar unii au si reusit. Dar care este totusi necesitatea la care raspunde un asemenea angrenaj?

Nu se poate epuiza intr-o simpla definitie ce este un framework, dar este cert ca el ofera un cadru, mai mult sau mai putin abstractizat, de unelte cu ajutorul carora programatorul isi usureaza munca. Framework-ul aduce astfel doua mari beneficii: aderarea la un cadru general face ca codul sa fie mai organizat, iar pe de alta parte setul de unelte fac ca programatorul sa nu plece de la 0.

Dar mai mult decat atat, si aici as zice ca este primul pericol - indeosebi pentru incepatori -, lucrul cu un framework presupune aderarea la o filosofie, si anume la filosofia celui/celor care au construit si mentin framework-ul respectiv. Cum ziceam mai devreme, multi dintre noi s-au gandit sa faca un framework, iar daca acestea ar fi fost concretizate, fiecare dintre ele ar fi fost diferit, pentru ca fiecare dintre noi are stilul, metoda si dorintele proprii.

Adoptand un anumit framework, ne asumam asadar si aderarea la filosofia lui. Si chiar daca poate parea ca framework-ul respectiv este tot ce ne-am dorit, vom constata inevitabil ulterior ca nu este chiar asa, ca sunt lucruri in el pe care le-am fi dorit diferite. In cele din urma, daca lucrurile nu sunt grave, ne vom adapta noi cerintele la oferta lui. In cele din urma, asadar, ne vom modela noi dupa filosofia creatorului framework-ului. Aici mi se pare ca apare unul din efectele nocive ale framework-ului: el ingradeste, inevitabil, inventivitatea programatorilor, introducandu-i intr-un stil de gandire din care cu greu vor iesi.

Un al doilea efect negativ al framework-ului, in continuarea celui dintai, este ca atunci cand este gresit intrebuintat produce rezultate dezastruoase. Si ce este cel mai rau este ca programatorii - indeosebi incepatorii - isi dau seama tarziu ca gresesc in modul in care folosesc framework-ul. Iar cel mai capital pacat pe care multi il savarsesc din graba sau din lene, este “hacking-ul” framework-ului. Efectele sunt incalculabile, iar apocalipsa informatica este aproape. Dar chiar daca nu se “umbla” la core, nerespectarea conventiilor, a configuratiei sau, in mare, a filosofiei generale a framework-ului duce inevitabil in punctul in care codul devine aproape imposibil de mentinut, iar debugging-ul in acest caz este infernal. Acest lucru nu poate fi evitat decat prin aderarea filosofica de care vorbeam la punctul anterior.

Al treilea efect negativ care poate apare, si cel pe care il consider cel mai grav, derivand din cele doua anterioare, este desfiintarea programatorului de PHP. Poate suna socant, dar mai ales framework-urile “heavyweight” pot duce cu usurinta la tranformarea programatorului din programator de PHP in programator de Symfony sau in programator de Zend Framework etc. Am intalnit in ultimii de ani multi “programatori” care nu stiau sa scrie o secventa de cod cu functii native PHP. Si sa nu ne ascundem dupa deget: PHP-ul nu este vreun limbaj care sa te forteze sa gandesti structurat; daca mai adaugam si comoditatea mentala pe care o aduce un framework, multi aspiranti nu mai ajung programatori deloc, ci numai: utilizatori de Symfony, utilizatori de Cake, utilizatori de Zend Framework.

Nu trebuie sa cadem in depresie: nu vom dispare ca programatori daca vom folosi un framework. Dar trebuie ca fiecare dintre noi sa ne intrebam daca nu cumva este mai usor sa mergem prin oras cu un Smart decat cu un Hummer.
Citeste mai multe despre: , ,
Paulian Dumitrescu

Ce parere au cititorii

Nici un comentariu

Logheaza-te ca sa poti comenta.
Discuta online cu un psiholog oricand!