[ Webhosting ProFiTux.cz ] [ Obsah.info - tvorba webů ] [ Věštění po telefonu ] [ Sex ] [ Věštění po telefonu ] [ levné hodinky ] [ Muzikál Děti ráje ] [ Neocube kuličky ] [ CoD: Modern Warfare 2 ] [ Košile pro celou rodinu ]
[ Numerologie ] [ Pro dívky ] [ Kartářky a výklad karet ] [ Móda a trendy ] [ mp3 ] [ úvěr, úvěry ] [ Sex po telefonu ] [ Mahjong Online ] [ Sex chat ]

jakubův notes – programování a vejšplechty

Píšu o:

Jak jsem skončil s Nette

Když jsem se rozhodoval, na čem postavit Shopaholic, moc jsem neváhal a říkal si, že konečně na něčem vyzkouším to slavné Nette. Nabuzen články ze seriálu Začínáme s Nette Framework jsem se odvážně vrhl na věc. První fáze byla taková, že jsem postupně vytvářel model databáze a v mezičase četl různé věci z dokumentace. Když byl model, vrhl jsem se již k samotnému programování „těch příjemnějších věcí“.

Nejdříve byla cesta dosti strastiplná – člověku, než se v tom všem zorientuje, to chvilku trvá. Dokumentace tomu moc nepomohla, protože přeci jen se mi zdá o hodně chudší než např. u Zendu. Ke konci práce na frontendu jsem už měl povědomí slušné a v administraci to jen sypalo. Nakonec jsem dodělal celý e-shop a říkal si: Paráda, mám to.

Ale v ten moment začalo to nejhorší, deployment z localhostu na produkční server. Nahraju a bílá obrazovka. Nette\Debug v produkčním módu tohle dělá, tak dám logování do souboru a odesílání chyb na e-mail. Načtu, opět bílá stránka, v errorlogu nic a schránka taky prázdná. Pohled na HTTP hlavičky odpovědi je zajímavý: HTTP/0.9 200 OK, to je všechno. Jo, tak tohle nebude dělat Nette\Debug.

Hrál jsem si s tím. A hrál a hrál, začal sahat na Application, Presenter a další a vysledoval, že provádění skončí někde v metodách formatTemplateFiles() a formatLayoutTemplateFiles(). Zkoušel jsem porůznu upravovat atp. Divné bylo, že asi tak jeden z 50 požadavků se náhodně povedl. Nakonec jsem boj vzdal.

Řekl jsem si, že by to mohlo být použitím poslední verze zdrojových kódů z repozitáře, a proto jsem provedl downgrade na verzi 0.8, která je označena za stabilní. Hurá, už to jakžtakž fungovalo. Projedu, jestli všechno jde. A hle, nejde – jeden presenter hlásí: metoda Environment::getVariables() neexistuje. Začnu bádat, na localhostu všechno jde, podívám se tedy do API dokumentace. A tam metoda Environment::getVariables() je. Kouknu do zdrojových kódů a tam opravdu není. Zkontroluji tedy na SVNko a hle, v 0.8 tahle metoda chybí.

Některé Nettí nástroje – Nette\Debug, profiler – jsou opravdu hezké, usnadňují vývoj. Ale se zbytkem je problém. Ne v tom, že by se nejednalo o kvalitní kód, či podobně, to jsem nezkoumal (tedy až na pár řádků při této deployovací slavnosti). Ale dokumentace, dokonce i API dokumentace – kámen úrazu. Framework prostě bez kvalitní dokumentace být nemůže. Může to být mistrovský kousek kódu, ale bez stejně dobré dokumentace je to jen brak, který nestojí za to používat. Snad se to trochu zlepší po srpnu.

Další věcí je zpětná kompatibilita. Jen za těch pár dnů, co jsem Shopaholic psal, se stihlo změnit hned několik věcí: vylepšená továrnička a úprava životního cyklu presenteru. Opravdu hrozný pocit, když se vám něco pod rukama mění. Může to být dobrý ukazatel stavu projektu – je krásně živý, vyvíjí se. Ale čeho je moc, toho je přespříliš. Takovýhle vývoj už neprospívá věci; je cestou do záhuby. Kult osobnosti Davida Grudla mě nezasáhl, ale byla by škoda špatným marketingem a příliš překotným vývojem poslat do kytek takový podle mě docela slibný český framework.

Možná, že se spolu s Nette ještě někdy potkáme, ale v nejbližší době to asi nebude.

vydáno 17. 7. 2009, 20:48:25

2 komentáře (2 nové)

Zařazeno mezi: