Menu

Sa utilizezi sau nu un framework?

Acum o saptamana, cand am publicat articolul „Ce framework sa aleg? Laravel!” am discutat cu cateva persoane pe seama articolului pe Linkedin.
Ce ne intereseaza pe noi insa acum este precizarea urmatoare a lui Daniel Stefan Nanboe:
Legat de Laravel noi am avut o experienta placuta cu el. In schimb trecerea de la CodeIgniter nu a fost una foarte simpla. Laravel vine un nivel de complexitate ridicat, CLI, instalare destul de dificila necesita access SSH atat in productie cat si in development, mai ales pentru database migration. Cerintele PHP pentru Laravel si in special pentru dependente sunt deobicei PHP 5.4 ceea ce il face imposibil de utilizat pe un shared host.

Acum sa incepem dezbaterea subiectului, pentru ca multi sunt inca indecisi daca sa foloseasca un framework sau nu.
Majoritatea punctelor unde se face referire la un framework ma refer in special la Laravel, dar ele se aplica la majoritatea framework-urilor mature.

Mituri despre framework-uri

Necesita versiuni foarte noi de PHP

Cu toate ca PHP 5.4 este vechi de 2 ani, realizat pe 01.03.2012 conform http://www.php.net/ChangeLog-5.php#5.4.0 el nu este absolut necesar in utilizarea unui framework.
Majoritatea framework-urilor se pot utiliza foarte usor si pe versiuni decente, dar este extrem de recomandat sa utilizati o versiune cat mai noua pentru a folosii framework-ul la putere completa.
Ca exemplu, la versiunea 5.4 beneficiati fata de alte versiuni de minunatele Traits care e un MUST(necesar) pentru un cod cat mai reutilizabil.

Nu se poate utiliza pe hosting tip shared

Din fericire shared-urile nu sunt concepute ca sa nu ne mearga noua framework-urile pe ele. Providerii de hosting shared doresc ca tu sa ai cat mai multe optiuni pe acel shared, inclusiv sa utilizezi ce framework doresti.
Deci da, pe un hosting shared se poate utiliza fara probleme un Laravel. Fara composer(vezi Ce este composer) instalarea este absolut normala: se utilizeaza composer local, se creeaza o arhiva si se uploadeaza pe server unde se va dezarhiva prin filemanager-ul cpanel-ului.(ca alternativa la adaugarea directa prin ftp printr-un program gen filezilla, care consuma mult mai mult timp deoarece sunt foarte multe fisiere)

Este greu de instalat

Din fericire nu. Instalarea unui framework se face in general mult mai rapid decat iti imaginezi. Majoritatea lucrurilor pe care unii le considera consumatoare mari de timp(gen instalari de framework-uri, VM-uri pentru faza de dezvoltare) sunt mult mai rapide decat iti inchipui.
Ca aproximatie: iti poti instala Laravel intr-un minut folosind Composer. Din fericire Laravel nu este singurul framework ce se poate instala prin composer, deci ai o gramada optiuni ce se pot instala extrem de usor printr-o singura comanda.
Din fericire nu. Instalarea unui framework se face in general mult mai rapid decat iti imaginezi. Majoritatea lucrurilor pe care unii le considera consumatoare mari de timp(gen instalari de framework-uri, VM-uri pentru faza de dezvoltare) sunt mult mai rapide decat iti inchipui.
Daca accesezi Packagist(main Composer repository - depozitul de unde Composer isi ia pachetele) poti vizualiza o lista completa cu ce poti instala prin composer.

Mituri despre framework-uri privind clientii/firmele

Fie ca lucrezi la o firma sau ai clienti carora le realizezi site-uri, de multe ori exista greseala ca deciziile de avansare a soft-urilor create de programatori sa depinda de ei.
Din fericire utilizarea unui framework are doar aspecte pozitive.

Cu un framework realizarea site-urilor se face mai greu

Utilizarea unui framework se bazeaza in special pe faptul ca ele accelereaza dezvolatarea proiectului, asta inseamna in special: Costuri mai reduse, aplicatie mai stabila, mai multa distractie(ca programatori, sa scriem acelasi cod de mai multe ori e o chestie extrem de frustranta) si multe altele.

Este greu sa gasesti programatori/colaboratori care cunosc acel framework

Din pacate numarul impresionant de framework-uri php nu face decat sa creeze mici "bisericute"(nici chiar in totalitatea metaforei, dar pe aproape) de programatori si sa ingreuneze gasirea unui programator. De aceea alegerea unui framework potrivit este foarte importanta. (de asemenea, te poate ajuta si articolul Ce framework sa aleg? Laravel sa-l gasesti)
Daca ai avut grija sa alegi un framework modern si matur atunci fii sigur ca poti gasii programatori pentru proiectul respectiv. In plus, programatorii care folosesc un framework au majoritatea un anumit nivel de cunostinte avansate precum design patterns, asta din fericire defineste si ca vei gasii programatori de-o calitate foarte ok.
Si nu doar atat, in consecinta la neutilizarea unui framework poti fi afectat ca unii programatori nu vor dorii sa vina deoarece experienta folosind un framework custom sau si mai rau nefolosirea niciunuia nu numai ca nu-i va ajuta ci ii si va ingreuna in dezvoltarea proiectului.


Ca concluzie iti recomand cu drag sa folosesti un framework. Eu unul l-am folosit chiar si la proiecte foarte simple, pentru ca chiar si unul cu cateva pagini si acelea statice(precum http://ionut-bajescu.ro/) are nevoie de un router si un template engine.
Avantajele sunt, dupa cum ai observat, enorme iar consecintele sunt in mare parte doar mituri.
In cazul in care inca ai indoieli in utilizarea unui framework te rog anunta-ma printr-un comentariu.

Ti-a placut articolul? Asigura-te ca-ti dam de veste cand publicam altele noi.


Tags: Tutoriale, Programare Web, Php

Comments Nota 0 din 0