spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

Peter Payter Gašparík 5.9.2012
Hodnoť článok:
31 1

Veľký prehľad najpoužívanejších PHP frameworkov

Ste PHP programátor a plánujete sa v najbližšej dobe naučiť pracovať s nejakým frameworkom, no neviete si vybrať? Alebo už nejaký používate, no nie ste s ním spokojný a hľadáte alternatívu? Alebo netušíte, o čom je reč, no chceli by ste si rozšíriť obzory? Ak ste na niektorú z týchto otázok odpovedali "áno", tak tento prehľad je práve pre vás!

Čo je to ten framework a na čo to je dobré?

Podľa definície na Wikipédii

Framework je softwarová štruktúra, ktorá slúži ako podpora pri programovaní, vývoji a organizacii iných softwarových projektov. Môže obsahovať podporné programy, knižnice API, podporu pre návrhové vzory alebo doporučené postupy pri vývoji.

Ak sa bavíme o PHP a mám to vysvetliť po slovensky, tak v skratke to znamená, že sú to PHP skripty, v ktorých sú pre nás naprogramované často používané veci. Tieto skripty nám po stiahnutí a následnom používaní šetria čas a nervy ;)

Väčšina PHP frameworkov učí správnym návykom a odstraňuje programátorské stereotypy. Už v základnom balíčku ponúkajú kopu otestovaných komponentov, ako prihlasovanie používateľov, validáciu formulárov alebo majú prepracovaný šablónovací nástroj. Taktiež dopomáhajú k správnym návykom a sú postavené na tzv. MVC pattern. Na rozdiel od CMS framework nie je kompletný systém, ktorý stačí nainštalovať a stránka je hotová. Sú určené hlavne pre tvorbu aplikácií na mieru, pre ktoré by bola úprava nejakého CMS zbytočný zabijak. Takže, aby sme sa už nezdržiavali teóriou, poďme si rozobrať tie najpoužívanejšie:

Zoznam najpoužívanejších frameworkov

#Zend Framework [späť ↑]

História a vývoj

Ako prvý si predstavíme Zend Framework, nakoľko je globálne asi najznámejší. Značnou mierou to je aj tým, že ho má na svedomí Zend Technologies, ktoré vytvorilo a vyvíja samotné PHP. Dokonca na vývoji sa podieľajú fulltime platení zamestnanci, takže o kvalitu kódu a vývoj do budúcnosti netreba mať obavy.

Pod kapotou

  • Robustnosť: je veľmi robustný s množstvom prepracovaných kompomentov už v základnom balíku.
  • Výkon: kód je zastaralý a aj dosť pomalý, preto v reálnych aplikáciach pri využívaní veľkého množstva komponentov je nutné aplikáciu správne vyladiť pomocou cache. Značne vie výkon zvýšiť použitie PHP acclerátora.
  • Technológie a koncepty: má zastaralý autoloader, chýbajú mu moderné koncepty z novších konkurenčných FW.
  • Databázová vrstva: pre komunikáciu s databázou sa využíva vlastná trieda Zend_Db, ktorá je jednoduchým rozhraním pre komunikáciu s databázou.
  • Šablónovací nástroj: neobsahuje šablónovací nástroj, no je veľmi otvorený pre integráciu napr. SMARTY.
  • Modulárnosť: je veľmi flexibilný. Jeho komponenty sa dajú použiť jednoducho aj osamote. Taktiež je veľmi otvorený integrácii komponentov z 3. strán.
  • Magickosť: jeho filozofiou je hlavne use-at-will prístup, magickosti sa stráni.
  • Generátor kódu: má konzolový nástroj pre generovanie kódu, ten však v skutočnosti nie je veľmi nápomocný.

Dokumentácia a komunita

Má veľmi podrobnú dokumentáciu s množstvom príkladov. Dá sa v nej nájsť skutočne všetko, a ak aj nie, tak odpoveď bude určite na stackoverflow.com, kde má 12000+ otagovaných tém.

Krivka učenia

Patrí medzi ťažšie FW. Učenie zaberie mnoho času aj skúsenejšiemu programátorovi. Výhodou je už spomínaná dokumentácia a množstvo návodov, videotutoriálov, diskusií, čo dosť pomáha v učení.

Hodnotenie

Zend Framework patrí medzi tvrdšie oriešky na učenie, no dajú sa ním vytvoriť robustné aplikácie, akou je napríklad Magento. Do budúcna bude ale rozumnejšie prestúpiť na novšiu verziu Zend Framework 2, o ktorom si následne povieme.

#Zend Framework 2 [späť ↑]

História a vývoj

Jedná sa pochopiteľne o modernejšieho nástupcu staršej verzie. V dobe písania článku sa vývoj nachádza vo verzii RC6. Vývoj konceptom nadväzuje na staršiu verziu, no čo sa týka kódu, je kompletne prepísaný.

Pod kapotou

  • Robustnosť: na motívy predchodcu je aj jeho následník robustný s množstvom komponentov v základnom balíku.
  • Výkon: je podstatne rýchlejší ako predchodca vďaka modernému kódu, ktorý sa stále vylaďuje.
  • Technológie a koncepty: používa najmodernejšie techniky (alebo skôr moderné v PHP) ako menné priestory a dependency injection. Návrh si zakladá na používaní modulov, ktoré sa jednoducho pár riadkami "pripájajú" a používajú. Tieto balíčky vie dokonca spracovať zabalené!
  • Databázová vrstva: ako aj v staršej verzii o komunikáciu dbá Zend\Db (samozrejme vynovená). Tí, ktorým to nestačí, môžu jednoducho integrovať plnohodnotné ORM ako napríklad Doctrine 2.
  • Šablónovací nástroj: neobsahuje šablónovací nástroj priamo v balíku, no dá sa tiež ľahko integrovať.
  • https://github.com/doctrine/DoctrineModule

  • Modulárnosť: use-at-will prístup v kombinácii s modulmi je silná kombinácia, ktorá dáva flexibilite ešte širší rozmer ako to bolo u predchodcu.
  • Magickosť: žiadna, ešte viac dbá na flexibilitu
  • Generátor kódu: má vylepšený konzolový nástroj oproti predchodcovi.

Dokumentácia a komunita

Dokumentácia už existuje, ale ešte to nie je ono, treba si počkať. Vďaka tomu, že projekt prešiel na GitHub, bude zapojenie komunuty do tvorby ešte výraznejšie ako u predchodcu.

Krivka učenia

Učenie komplikuje zatiaľ slabšia dokumentácia a to, že sa ešte FW nezabehol medzi komunitou. Mal by byť ľahší na učenie ako bol predchodca, ale treba si počkať.

Hodnotenie

Zend Famework 2 kráča správne, ale veľmi pomaly. Určite príde jeho čas, ale zatiaľ (v dobe písania článku) si treba dobre premyslieť, či vytvoriť nejaký väčší projekt práve na jeho základe.

#CakePHP (1,2) [späť ↑]

História a vývoj

Vývoj CakePHP začal v roku 2005 Michal Tatarynowicz, neskôr tento vývoj prerástol v založenie spoločnosti Cake Software Foundation. Veľkou inšpiráciou pre jeho napísanie bolo Ruby on Rails a používa mnoho jeho konceptov. Verzia 1 a 2 sa veľmi od seba nelíšia, preto som sa rozhodol pokec o nich spojiť do jedného.

Pod kapotou

  • Robustnosť: je stredne veľký s dobrou výbavou komponentov v základnom balíku.
  • Výkon: patrí v testoch medzi pomalšie FW a cachovanie nie je až tak ideálne.
  • Technológie a koncepty: berie koncepty z Ruby on Rails, no až tak dobre nezafungovali v PHP. Návrh je ukrátený o PHP 5.3 vychytávky, keďže si snaží držať spätnú kompatibilitu so staršími verziami.
  • Databázová vrstva: má jednoduché ORM, ktoré funguje na active record pattern a validácia dát prebieha priamo v modeli.
  • Šablónovací nástroj: nemá šablónovací nástroj.
  • Modulárnosť: zakladá na pluginoch, ktoré sa inštalujú jednoducho, no je zložitejšie integrovať komponenty z 3. strán, ktoré niekto z komunity nepripravil.
  • Magickosť: je to to, na čom CakePHP najviac zakladá. Má mnoho magických metód uľahčujúcich volanie tried a helperov. Rozumie si s jQuery a AJAX volania sú s ním tiež veľmi zjednodušené.
  • Generátor kódu: má prepracovaný generátor kódu, čo ešte viac dopomáha magickosti a rapídnemu budovaniu aplikácií. Na pár príkazov sa dajú vytvoriť databázové tabuľky alebo kompletná CRUD štruktúra.

Dokumentácia a komunita

Dokumentácia je prehľadná, vecná, s príkladmi a pomocou searchu sa dá všetko nájsť v podstate ihneď. Komunitu má aktívnu, no pri riešení špecifických problémov je potrebné využiť skill v googlovaní.

Krivka učenia

Pomerne ľahko sa učí, hlavne jednoduché aplikácie sa človek naučí vytvárať rýchlo. Horšie je to so špecifickými požiadavkami, kvôli ktorým sa človek musí do toho zahrabať, aby dokázal spraviť niečo neštandardné.

Hodnotenie

CakePHP je vhodný pre rapídne budovanie aplikácií. Vďaka svojej náročnosti nie je vhodný pre väčšie projekty a tiež pre projekty, ktoré vyžadujú robiť mnoho vecí na mieru.

#Nette 2 [späť ↑]

História a vývoj

O vývoj českého Nette Frameworku sa stará Nette Foundation, no v pozadí je vývoj stále závislý hlavne od jedného človeka a to Davida Grudla. Je autorom samotného Nette a značnou mierou sa stále podieľa na vývoji.

Pod kapotou

  • Robustnosť: je to stredne veľký FW so štandardnou výbavou komponentov v základnom balíku a množstvom prídavných na stiahnutie.
  • Výkon: patrí medzi rýchle frameworky.
  • Technológie a koncepty: veľmi moderný koncept, využíva menné priestory v PHP 5.3, dependency injection, veľmi uľahčuje AJAXové volania.
  • Databázová vrstva: využíva upravený NotORM od Jakuba Vránu, ktorý je jednoduchý a rýchly nástroj pre prácu s databázou.
  • Šablónovací nástroj: ponúka šablónovací nástroj Latte, ktorý ponúka veľa skratiek a uľahčení.
  • Modulárnosť: integrácia cudzích kompotentov je pomerne jednoduchá, taktiež aj testovateľnosť.
  • Magickosť: obsahuje kopu skratiek a vylepšení jazyka PHP a nejedná sa len o šablónovací nástroj Latte. Dosť zjednodušuje prácu napríklad s AJAX volaniami.
  • Generátor kódu: nemá, aj keď boli pokusy, no neujalo sa to a asi sa ani neujme.

Dokumentácia a komunita

V naších končinách to je najpopulárnejší FW s najaktívnejšou komunitou. Komunita usporadúva stretnutia "Posledná sobota", ktoré sú neformálnym stretnutím priateľov Nette. Akcie sa konajú v rôznych mestách v ČR vždy v poslednú sobotu mesiaca. Dokumentácia však nie je taká kvalitná, hlavne kvôli často meniacemu sa kódu, zato odpovede sa dajú získať najčastejšie vo veľmi aktívnom fóre.

Krivka učenia

Naučiť sa pracovať s Nette je ľahké hlavne vďaka absencii jazykovej bariéry, aktívnej komunite a jednoduchému kódu.

Hodnotenie

Nette sa hodí pre tvorbu akýchkoľvek veľkých aplikácií a je veľmi vhodný pre začiatočníkov. Je to jednotka v týchto končinách, čo je plus, no zároveň aj veľké mínus, ak chcete vyvíjať aplikácie pre zahraničných klientov.

#CodeIgniter (1,2) [späť ↑]

História a vývoj

Prvá verejná verzia bola predstavená 28.02.2006. Od tejto doby sa vývoj prehupol cez verziu 2 a už mieri k verzii 3 (v dobe písania článku). Najviac sa oproti verzii 1 a 2 zmenilo však iba číslo v názve. V jednoduchosti je krása a hlavne na toto sa dbalo pri navrhovaní.

Pod kapotou

  • Robustnosť: je kompaktný a v základnom balíku obsahuje iba najžiadanejšie komponenty.
  • Výkon: patrí medzi rýchle FW.
  • Technológie a koncepty: vďaka niekdajšej prehnanej snahe o kompatibilitu s PHP4 je kód zastaralý a len pomaly napreduje. Koncept je však jednoduchý a ľahko pochopiteľný.
  • Databázová vrstva: má iba jednoduchý nástroj pre správu databázy založený na active record pattern. Nemá validáciu vstupných údajov, tá sa vykonáva v controlleri.
  • Šablónovací nástroj: neponúka šablónovací nástroj.
  • Modulárnosť: integrácia komunitných komponentov je ľahká, no vytváranie alebo integrácia komponentov z 3. strán je obtiažna.
  • Magickosť: nie.
  • Generátor kódu: štandardne nemá v sebe generátor kódu, existuje však alternatíva.

Dokumentácia a komunita

Má detailnú dokumentáciu s množstvom príkladov a aktívnu celosvetovú komunitu. Pre našinca je ďalšia výhoda v tom, že tu na Zajtra.sk je videotutoriál Nauč sa CodeIgniter od Yablka.

Krivka učenia

Vzhľadom na vyššie uvedené plusy a jeho jednoduchosť sa dá veľmi rýchlo naučiť a je vhodný pre začiatočníkov.

Hodnotenie

CodeIgniter je rýchly, kompaktný, ľahko sa učí, no je ideálny pre malé a stredne veľké projekty. Nie je vhodný pre rapídny vývoj aplikácií, je to skôr jednoduchý nenáročný pomocník.

#Kohana 3 [späť ↑]

História a vývoj

Kohana vznikol pôvodne z CodeIgniteru, na ktorom sa komunite nepáčilo, že sa stále dodržuje kompatibilita s PHP 4. Postupom času sa Kohana vzďaloval viac od pôvodného konceptu. Momentálne verzia 3 zdieľa málo čŕt s predchodcom.

Pod kapotou

  • Robustnosť: patrí medzi menšie frameworky s menšou nádielkou základných komponentov.
  • Výkon: podľa testov by mal byť o málo rýchlejší ako CodeIgniter.
  • Technológie a koncepty: čo sa týka návrhu, je o krok pred CodeIgniterom. Niekomu ale môže vadiť, že už nepodporovaná verzia 2 nie je kompatibilná s Kohana 3 a nastali tam väčšie zmeny. Oproti iným FW však neponúka nič prevratné.
  • Databázová vrstva: ORM je prerobené oproti pôvodnému bez spätnej kompatibility, no iba sa zjednodušila práca a veľa funkcií nepribudlo.
  • Šablónovací nástroj: neponúka šablónovací nástroj.
  • Modulárnosť: ponúka málo prídavných komponentov a integrácia iných je stále obtiažna, aj keď je ľahšia oproti CodeIgniteru.
  • Magickosť: nie.
  • Generátor kódu: nemá.

Dokumentácia a komunita

Narozdiel od CodeIgniteru má menej aktívnu komunitu a nedostačujúcu dokumentáciu. Veľa ľudí odradila hlavne slabá kompatibilita oproti starším verziám.

Krivka učenia

Vzhľadom na horšiu dokumentáciu je učenie náročnejšie oproti Codeigniteru, aj keď kód je veľmi jednoduchý.

Hodnotenie

Keby mal Kohana za sebou aktívnejšiu komunitu a kvalitnejšiu dokumentáciu, bol by lepšia voľba ako CodeIgniter, takto je však vhodný len na menšie projekty.

#Yii [späť ↑]

História a vývoj

Yii(vyslovuj "Yee") znamená akronym k "Yes It Is!" (áno je!). Vznikol pôvodne z PRADO Frameworku, ktorý mal problémy pri vykreslovaní komplexných stránok. Yii tieto problémy riešil a oddelil sa od pôvodného projektu.

Pod kapotou

  • Robustnosť: radí sa medzi robustnejšie FW s množstvom komponentov
  • Výkon: napriek tomu, že je robustný, je ale zároveň rýchly a má dobré cachovanie.
  • Technológie a koncepty: vďaka spätnej kompatibilite je kód zastaralejší a neponúka veľa moderných vychytávok.
  • Databázová vrstva: ORM je postavené na active record pattern s lazy loadingom. Má v sebe aj prepracovanú validáciu vstupných údajov.
  • Šablónovací nástroj: nemá vlastný tenplatovací nástroj.
  • Modulárnosť: výborne sa robí so základnými komponentami, no s integráciou cudzích je to trošku náročnejšie.
  • Magickosť: využíva v hojnej miere magické metódy a jQuery helpery.
  • Generátor kódu: áno a je to hlavná feature Yii. Narozdiel od iných FW sa s ním nekomunikuje cez konzolu, ale cez pekné webové rozhranie.

Dokumentácia a komunita

Začiatočníkov môže odradiť dokumentácia, ktorá nie je úplne ideálna. Má za sebou veľkú komunitu, ktorá sa nachádza na aktívnom fóre.

Krivka učenia

Učenie sťažuje dokumentácia a prílišná magickosť, ktorá zoberie čas pre výučbu a pochopenie. Dobrá správa je, že tu na Zajtra.sk sa dá nájsť seriál Ako sa stať PHP ninja s Yii Frameworkom v slovenčine. Tiež sa môžete sa učiť z reálnej open source aplikácie požič.si.

Hodnotenie

Yii je výborný nástroj pre rapídny vývoj aplikácií, no vyžaduje si pre rýchlejšiu výučbu skúsenejšieho programátora. A ešte pikoška, ak niekto nevie - zajtra.sk je postavené na Yii.

#Symfony [späť ↑]


O Symfony 1 povieme len v skratke. Je to predchodca Symfony 2, o ktorom si povieme nižšie. Podpora tohto frameworku končí v januári 2013, preto nemá zmysel sa o ňom rozpisovať a začínať vývoj aplikácií na jeho základe. Treba však spomenúť, že narozdiel od takého CakePHP alebo CodeIgniteru sú markantné zmeny medzi verziami 1 a 2, kedy došlo ku kompletnému prepísaniu kódu. Symfony 1 je rozbustný framework, ktorý je stále veľmi populárny, aj keď teraz už ustupuje. Na jeho komponentoch stavia napr. najrozšírenejšie open source fórum phpBB.

#Symfony 2 [späť ↑]

História a vývoj

Hlavná myšlienka pozostáva z rýchlosti, odstránení programátorkých stereotypov a ľahkej údržbe kódu. Sensio labs sa rozhodli svoj prvotný počin kompletne prepísať a vytvoriť moderný framework využívajúci v čo najväčšej miere nové schopnosti PHP 5.3.

Pod kapotou

  • Robustnosť: je to robustný framework, ktorý síce v základnom balíku neobsahuje veľa komponentov, no veľa toho sa dá stiahnuť od komunity, kde prispievajú aj tvorcovia Symfony 2.
  • Výkon: aj keď je robustný, rýchlosť je postačujúca. Je silne odporúčané používať PHP accelerator pre zvýšenie výkonu vo väčších aplikáciách.
  • Technológie a koncepty: koncept zakladá na tom, že všetko v ňom je brané ako bundle (batôžtek). Je veľmi moderný a na svoj chod vyžaduje minimálne PHP 5.3. V plnej miere využíva menné priestory a dependency injection.
  • Databázová vrstva: používa už v základnom balíku populárny Doctrine 2, ktorý sa ako jediný v PHP najviac priližuje k 5vrstvovej architektúre. Takýto modelový návrh sa už roky používa napr. v Jave.
  • Šablónovací nástroj: priamo v sebe má šablónovací nástroj TWIG. Je rýchly, výkonný a maximálne flexibilný pomocník.
  • Modulárnosť: modulárnosť a testovateľnosť je v ňom na vysokej úrovni.
  • Magickosť: nezakladá si na magickosti, no kde neutrpí flexibilita, tam autori ponúkli uľahčenie.
  • Generátor kódu: obsahuje kvalitný generátor kódu, ktorý je veľmi nápomocný hlavne pri synchronizovaní databázovej štruktúry s entitami v Doctrine 2.

Dokumentácia a komunita

Celá komunita sa točí hlavne okolo GitHubu, čo je veľké plus, ale tiež sa dajú ľahko získať odpovede na stackoverflow.com. Dokumentácia je prehľadná a pochopiteľná, no chýba v nej jednoduchšie vyhľadávanie.

Krivka učenia

Patrí medzi náročnejšie FW na učenie vďaka svojmu striknému OOP návrhu. Chce to čas, trpezlivosť a na škodu nie sú ani vedomosti a skúsenosti z iných frameworkov alebo iných vyšších programovacích jazykov.

Hodnotenie

Symfony 2 je výborný nástroj pre stredne veľké a veľké aplikácie. Má skvelý návrh, výborné ORM, no na malých projektoch to je zbytočný overkill. Naučenie si vyžaduje čas, nie je vhodný pre úplnych začiatočníkov. Problém tiež môže nastať na hostingoch bez nainštalovaného PHP accelerátora, aplikácie sú poznateľne pomalšie.

Na záver...

Tak čo, vybrali ste si už svojho favorita? Alebo v tom máte ešte väčší zmätok ako pretým? To nevadí, lebo nabudúce si povieme o tom, podľa akých kritérií je vhodné framework vyberať.

> Pokračovanie tu <

Peter Payter Gašparík Peter Payter Gašparík

Som freelancer na plný uväzok ;)


Hodnoť článok:
31 1

58 komentárov k článku:

Komentovať môžu iba prihlásení

Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)

Prihlás sa tu, ak už máš profil na Zajtra.sk:


Zabudol som heslo

1 0 ttt6 16.4.2015 22:53:18
Pekny prehlad frameworkov; my v praci mame fetish ze kazdy pol rok sa objavi tuzba po dalsom frameworku. Mali sme slim, ZendFramework1, nieco z nette(tracy) a teraz Silex/Symfony2; Moj problem je ze frameworky neuznavam - v podstate neriesia nic nove. Ked mate funkcnu aplikaciu, je framework na opruz ... Ine je ked pise clovek novu aplikaciu (a s nulovou navstevnostou) a chce mat zakladne veci zbuchane rychlo.

Zazil som aj pripad ked sa aplikacia musela prerobit z vlastneho MVC frameworku, ktoremu rozumel len autor. Vtedy som pochopil ze framework je znovuvynajdeny prikaz GOTO - v PHP sa maskuje do $this->$var alebo call_user_func :) To narusa trasovanie a kod je v podstate spageta s nepredvidatelnym stromom volani desiatok medzivrstiev, az niekde na konci sa nieco uzitocne vykonava.

Teda musim sa priznat ze v praci som zazil pouzitie ZendFrameworku (~50MB), ktory pouzivame ako obal na Mysql_PDO a zopar veci typu Zend_View a Zend_Acl. Zend_Acl sa pouzil tak krkolomne znasilnene ze ani autor sekcie pristupovuch prav nevie z voleja povedat na ktorom riadku sa konkretna vec povoluje/zakazuje. Sice su vsetky "rules" sustredene na jednom mieste, je to vsak zlozitejsie ako mat pekne old-style if(ma_pravo) { zobraz_na_co_ma_pravo }



0 0 Ozzbest 30.10.2013 14:36:40
@Peter Payter Gašparík ako by si zhodnotil Laravel?
1 1 Michal Obeda 7.9.2012 18:01:16
@Matúš Jančík - veľa firiem používa vlastný framework (resp. balík vlastných funkcií a metód). Takže to nie je len o verejne dostupných frameworkoch.
Marek Zapach sa čudoval, že niektorí nemajú vo svojich CV skúsenosti s frameworkami. A čo ak niekto robil 5 rokov vo firme, kde mali vlastný framework, alebo systém? Tiež si to do CV moc nedá, napíše si iba, že je výborný programátor a OOP má zvládnuté. V tom naozaj nevidím problém.
0 0 Matúš Jančík 7.9.2012 17:42:44
@Michal Obeda dobre píšeš. V podstate celé rozhodnutie stojí na rozhodnutiach kompetentných. Ak sa firma nerozhodne ísť jedným smerom a nebude tlačiť na to, aby bol kód poriadne a prehľadne napísaný vždy to bude chaos. Dobrý, ale aj priemerný programátor nemôže mať problém naučiť sa určitý postup, framework, písať dokumentáciu aj testy, ale musí byť k tomu nútený, motivovaný alebo musí mať vlastnosť chcieť robiť kvalitne.

Určite najväčšia tragédia je keď sa stretne zadávateľ, ktorému je jedno ako to bude fungovať, hlavne nech vec funguje s programátorom, ktorému je jedno ako to urobí, ale nech to má rýchlo za sebou a čím skôr zarobené. :-D
0 1 Michal Obeda 7.9.2012 17:32:36
@Matúš Jančík - ja som nikde písal, že sa frameworky nemajú používať (sám ich používam)? Iba som vravel, že pre zamestnávateľa to nie je smerodajná informácia.

Ty píšeš, že ak zamestnávaš človeka. A ja teraz rozvediem myšlienku - zamestnával si jedného programátora, ktorý všetky projekty postavil na Yii. Ten programátor je fakt dobrý, si s nim spokojný, ale potrebuješ ďalšieho. Nájdeš dobrého programátora, ktorý síce nepoužíval žiadny framework, ale Yii sa dokázal naučiť a výborne dopĺňa toho prvého. Potom hľadáš ešte jedného, ozve sa ti človek, ktorý robí v Zende. Možno nie je tak dobrý, možno sa nebude chcieť učiť robiť v Yii. Necháš ho programovať v Zende? Používať viac frameworkov v jednej firme je väčšinou neefektívne.
Týmto som len chcel ukázať, že ak programátor nikdy so žiadnym frameworkom nerobil, nie je to automaticky mínus (samozrejme ak nie ste firma, ktorá má všetko postavené na Symfony a hľadáte programátora, ktorý tento fw pozná).

Ja sa napríklad stretávam s novými aplikáciami, ktoré používajú nejaký framework a aj keď pričuchli k OOP, je kód tej aplikácie oveľa horší, ako keby to bolo v tom "starom a zlom" procedurálnom kóde.
A s firmami, ktoré nemajú zdokumentované svoje postupy sa stretneš veľakrát. Vo väčších firmách je to proste daň za počet zamestnancov.
3 1 Matúš Jančík 7.9.2012 16:29:23
@Michal Obeda ja vidim v pouzivani frameworkov velku vyhodu aj v tom, ze pri tvorbe aplikacii sa musis riadit aspon zakladnymi postupmi na ktore ta framework vedie. Staci ti ju jednoducho komentovat a pisanie testov je v podstate jednoduche, nakolko si vies vsetko pozriet v dokumentacii, ktoru komunita stale doplna.

Ak zamestnavas cloveka, uz dopredu ho vies pripravit na to, ze projekty, ktore bude robit budu v danom fw a uz len tym, ze si nastuduje aspon adresarovu strukturu usetris kopec casu aj penazi, ktore na neho musis vynalozit.

Ked sa stretavam s par rokov starymi aplikaciami, ktore ani necuchli k OOP a nedodrziavaju ziadne pravidla na nazvy suborov, premennych, funkcii tak mozes byt akokolvek dobry programator, bude ti trvat strasne dlho kym nieco najdes a dorobis. Podla mna firmy, ktore nepouzivaju framework (ci uz svoj alebo opensource) alebo nemaju dobre zdokumentovane svoje "postupy" podla ktorych sa riadia iba zbytocne mrhaju ludskou pracou.
1 0 Peter Payter Gašparík 7.9.2012 14:47:51
Niekto nevyžaduje aby programátor vedel framework, iný zas áno a dokonca a vedieť nejaký konkrétny. Záleží od zamestnávateľa, napr. má veľký portál kde FW nepoužíva, alebo sa až tak nevyzná a najdôležitejšie je pre neho hlavne iba aby to fungovalo tak mu to je jedno. Nepoužívať ale žiaden pri nových projektoch je v dnešnej dobe podľa mňa hlúposť, načo vymýšľať koleso a viac času venovať tvorbe komponentov ako samotného systému? Hardvér je tiež výkonnejší a lacnejší ako kedysi, rýchlosť tiež prestáva byť problém.
0 1 - 7.9.2012 12:23:48
@MarekZapach moze byt tym, ze prave zacali, resp. nemaju za sebou mnoho projektov. neviem si predstavit robit viac ako 2 roky a nedostat sa do styku s FW...
0 5 Michal Obeda 7.9.2012 12:02:16
@MarekZapach - to nie je pravda. Nedávno som menil "prácu" a nikde nevyžadovali znalosť php frameworku. Ani tam, kde momentálne pôsobím a mám jednu z tých lepšie platených prác (v porovnaní s tým, čo dávajú/ponúkajú inde).

Ak je niekto dobrý programátor, neviem prečo by mal poznať nejaký framework. Poznám takých, čo odmietajú MVC pattern. A chceš povedať, že nejaký začiatočník, ktorý pozná Codeigniter, je lepší než profík, ktorý nerobí so žiadnym frameworkom?

A ešte k vydaniu nového ZF2, čo som si zbežne prečítal quick start, tak som celkom sklamaný. Nikdy som so Zendom nerobil, ale na to, ako ho ospevujú (a že ide o úplne novú verziu), by som čakal niečo viac.
0 1 MarekZapach 7.9.2012 11:43:32
Velmi uzitocny clanok vo vseobecnosti. Napriek tomu, ze je rok 2012, vacsina CV co dostavam do ruk s frameworkami nema ziadnu skusenost. Je to vobec mozne?!?!?! Budem uprimny: dnes bez znalosti MVC/frameworkov poriadnu PHP pracu nezozeniete!
0 1 Jose Zdimera 6.9.2012 19:04:09
na http://tutsplus.com vychadza na larvael video tutorial...
0 2 Michal Obeda 6.9.2012 17:42:35
@Marek Zelinka - zatiaľ mi stačí to, čo je na stránke, ale aj tak ďakujem (len som pozeral, čo je ten framework zač a zaujímajú ma konkrétne vlastnosti/funkcie). A angličtina problém nie je ;-)
0 1 Marek Zelinka 6.9.2012 17:37:53
@Michal Obeda ak chceš tutorail tak asi ofc dokumentácia je dobra, alebo tu http://bit.ly/OAi9vy, alebo http://bit.ly/P3KYFe, je to všetko po anglicky :D
0 2 Michal Obeda 6.9.2012 16:57:28
A popri hľadaní informácií o Laravel frameworku, som našiel aj pekný článok na Vladstudio.com: http://www.vladstudio.com/blog/entry.php?124 (môže pomôcť pri vyberaní frameworku, podobne ako tento článok).
0 1 Michal Obeda 6.9.2012 16:46:16
@Marek Zelinka - najprv som si myslel, že ide o jeden z mnohých frameworkov, ktoré sú odsúdené na zabudnutie. Ale vyzerá to veľmi zaujímavo, po prečítaní pár riadkov sa to tvári ako ligthweight framework (dobrá náhrada napr. za CI). Dokonca jeden z najznámejších vývojárov Codeignitera Phil Sturgeon sa vyjadril pochvalne na adresu Laravel: http://philsturgeon.co.uk/blog/2012/05/laravel-is-awesome
0 1 Marek Zelinka 6.9.2012 16:24:28
Vyskúšajte Laravel (http://www.laravel.com/), je ľahko pochopiteľný, a užasne sa z nim pracuje :D
1 1 Michal Obeda 6.9.2012 14:59:59
horuce novinky zo sveta IT uz kodujeme...
0 3 Michal Obeda 6.9.2012 14:44:10
@Peter Payter Gašparík - a Codeigniter by mohol vydať verziu 2.2 :D
0 0 Peter Payter Gašparík 6.9.2012 14:42:31
Symfony 2.1 je vonku http://tinyurl.com/d74cd8w zas sú popredu oproti ZF2 :D
1 1 Milan Vodička 6.9.2012 13:02:17
na toto by boli dobre tie hot news ;)
Zajtra.sk > Programovanie > PHP > Veľký prehľad najpoužívanejších PHP frameworkov


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama