CodeIgniter 0
Na příštích několik měsíců mám o zábavu postaráno, za úkol mám dát dohromady jistý informační systém pro usnadnění řízení společnosti (velmi obecně). Protože to bude poměrně dost kódování a rád bych se soustředil hlavně na samotnou aplikaci, přemýšlel jsem o nějakém PHP frameworku. Ušetří mi kupu času a nemusim se zabývat napsáním základních věcí jako je přihlašování a sessions, správa formulářů, databázový layer etc.
Dneska existuje kupa frameworků a většina zdatných frameworků dojde k tomu, že si nakonec jeden napíše sama, ať už ho využije jakkoliv. Já se musel porozléhdnout po nečem již hotovém, co by splňovalo mé požadavky. Chtěl jsem něco lehkého, abych nebyl úplně svázán MVC architekturou a mohl si mít trochu volnější vazby mezi jednotlivými prvky. Rychlost a malá velikost je samozřejmost, nějaký monolitický framework nepotřebuju, akorát bych ztrácel čas přenášením a taháním všech možných funkcí z vzdálených koutů frameworku. Chtěl jsem taky flexibilnost a jednoduchost, kdybych měl čas, tak se kouknu na dokumentaci a zdrojové kódy něčeho komplexnějšího a možná výkonnějšího, nicméně teď mě tlačí čas a já potřebuju něco s čím nebudu muset lézt každý druhý řádek do dokumentace.
Ze zvědavosti jsem nejdřív zkusil Nette, je to české, je to hezké a stojí za tím člověk, kterého si v tomto oboru docela vážím. Snad by splňovala (pro mě je to „ta Nette“, nevím jaký je původní záměr) všechny podmínky, až na tu poslední. MVC model, který používá je jistě geniálně navržený, ale nevyhovuje mi v tom, že dokumentace je krátká, pokrývá základní knihovny a orientace v frameworku závisí na mě samém.
Zend je pro tento projekt nepoužitelný, už jen pro svoji velikost, tak jako tak ho ale moc nemusím.
Z doslechu znám CakePHP, jednou jsem si ním hrál, je ale vcelku robustní a mám pocit, že je trochu těžkopádný.
Abych už konečně doplnil titulek k příspěvků, který už od prvního slova kazí překvapení, za svého vyvoleného jsem si vybral CodeIgniter. Splňuje do puntíku mé představy, je lehký a rychlý. Nesmírná intuitivnost mě nadchla už od začátku :) Škoda jen, že se ještě váže na PHP4, kdyby se udělal fork, který by byl pouze pro PHP5, mohla by se výkonnost ještě zvednout dle mého názoru. Views má udělané naprosto jednoduše, šablonovací systém není nutností a přitom lze lehce zavést. Navázání modelů je hračka a knihovny a helpery obsažené v základním balíku se hodí a jsou vždy k ruce. Nesporná výhoda je, že CI vyvíjí jedna firma, je tedy odstraněna jedna ze stinných vlastností vývoje komunitou, framework má jasný cíl a programuje ho dobře organizovaná skupina lidí. Lidi okolo CI ale přesto jsou, místní wiki je plná rad a řešení, které jsou vcelku kvalitní.
Už teď mám nějaké nápady na drobné rady a triky v CI, snad se o ně i v příštích týdnech podělím tady na blogu.
