V novém…
Jak jsem doporučoval Nette Framework
Dnes jsem měl v rychlosti a ve stručnosti představit Nette Framework. Nejlépe jednoduchou a srozumitelnou formou.
Připravil jsem si tedy pár poznámek o Nette, které osobně považuji za nejzásadnější:
Proč použít Nette Framework
Proč by měl někdo použít zrovna Nette? Jaké má výhody a přednosti?
- Jsou vytvořené a odladěné základní věci, které PHP nativně neřeší, ale v praxi jsou nutné dnes a denně.
Nevymýšlím tedy již vymyšlené, čímž šetřím čas, peníze i energii. Díky tomu se rychle vyvíjí – řeší se skutečně důležité věci na projektu. - Obecně povyšuje úroveň programování
- Nabízí celou řadu užitečných nástrojů na vývoj, ladění, debug, měření, …
- Znovupoužitelnost zejména v rámci jiných projektů (mohu použít stejný model, presenter, komponenta, apod.)
Lze používat vlastní knihovny, které sdílím mezi více projekty. - Přehlednost zdrojového kódu je dána návrhem struktury frameworku. Pokud tedy dodržím koncept, jsou aplikace velmi přehledné. To se může týkat i nového kolegy, který se v aplikaci velmi snadno zorientuje.
- Spolupráce s kolegy je snadná – každý může pracovat na jednotlivých modulech a spojit je až později.
- Komunita kolem Frameworku je už celkem rozsáhlá. V případě dotazu je snadné získat odpověď na fóru, apod.
Navíc se pořádají pravidelná měsíční setkání „Poslední sobota„, kde se scházejí programátoři a přátelé Nette. Účastní se také David Grudl, autor frameworku.
Již sama komunita produkuje užitečné nápady a knihovny. - Formuláře jsou mé oblíbené. Celá práce s formuláři – od jejich vytváření, definice „políček“ až po ověřování a validace – je opravdu výborná!
- Jsou optimálně řešené vrstvy (databáze, systém, šablony) + knihovna Nette.
- Vytváření hezkých URL ocení zejména SEO specialisté. Vlastní vzhled URL adresy je definována vlastně až na konec a její změna či nastavení je hračkou.
- Výborná práce s šablonami, bloky a komponenty. Nemusím „bastlit“ přímo HTML kód, ale využívám připravených syntaxí – například pro cykly nebo podmínky ({if}, {foreach}, apod.).
Práce s layoutem a bloky (především dědičnost bloků) je jedna z významných vlastností, kterou téměř nikde jinde nenajdeme. Při opravdu dobrém návrhu stránek dokáže na těchto stránkách doslova minimalizovat množství kódu a rapidně ho tak zpřehlednit. - Laděnka je kapitolou sama pro sebe. Jedná se o nástroj, který umožní velmi rychle a efektivně hledat chyby.
- Framework není nutné použít ihned a celý, lze využít i jeho části (třeba zmiňovanou Laděnku).
- Vhodné je použití i pro menší projekty – nejde tedy o tak zvazný „kanón na vrabce“.
- Velikost Nette je zhruba 200 kB, což je oproti konkurenčnímu Zendu (3,5 MB) opravdu málo.
- Zabezpečení formulářů a obecně aplikací proti běžným útokům je standardně ve frameworku obsažena a ušetří nám ne jednu starost.
- Poslední dobou zažívá Nette příjemný boom, kdy se rozšiřuje obecná povědomost o tomto frameworku a kvapem přibývá zkušených programátorů.
Proč se zúčastnit školení?
Sám autor frameworku, David Grudl, nabízí dvoudenní Školení Nette Framework. Sám jsem školení absolvoval a mohu vřele doporučit. Náš článek ohlédnutí za školením Nette.
- Ušetří spoustu času (peněz) oproti samostudiu
- Školí sám autor frameworku, zná tedy myšlenku a všechno ve Frameworku (nikdo neví víc :)
- Vhodné zejména pro začínající či lehce pokročilé zájemce
- Na školení se účastník dozví i celou řadu podnětných informací z oblasti vývoje
- Po školení je schopen běžnou aplikaci (např. blog) napsat i ten, který Nette nikdy před tím neviděl
Důležité odkazy
Nakonec připojím ještě pár základních odkazů.
- Oficiální web Nette Frameworku – http://nette.org/
- Komunita, fórum – http://forum.nette.org/cs/
- Autor Frameworku David Grudl – http://davidgrudl.com/
- Školení Nette Framework – http://www.skoleniphp.cz/skoleni-nette-vyvoj-webovych-aplikaci
Opravdu velmi povedené shrnutí Nette Frameworku.
Nicméně pár připomínek a drobností co mě ještě teď napadlo:
– Práce s formuláři nyní ještě opravdu báječná není. Nechal bych si trochu rezervu v tom názvosloví a použil např. jen výborná, protože nyní je u velmi složitých formulářů ještě pár zádrhelů. Nicméně to co nás čeká a snad se už brzy dostane i do vývojové verze bude opravdu luxus.
– Slovo widget se z frameworku hodně rychle vytrácí a používal bych místo něj spíše pojem komponenta.
– Trochu ti zkazím statistiku při porovnávání velikostí zmíněných frameworků. Při pohledu na minified verzi Nette jsem teď zjistil, že dneska už má kolem 350 kB, ale i tak je to pořád řádově méně než má Zend.
– U šablon moc nevyzdvihuješ práci s layoutem a bloky (především dědičnost bloků). Co jsem si teď tak uvědomil tak je to asi jedna z killer featur, kterou téměř nikde jinde nenajdeme, a která při opravdu dobrém návrhu stránek dokáže na těchto stránkách doslova minimalizovat množství kódu a rapidně ho tak zpřehlednit.
– Nette programátoři se dnes množí opravdu velmi rychle, a navíc potěšující je i to, že dnes firmy tyto programátory opravdu shání. Není proto se třeba obávat toho, že se to člověk naučí a nenajde uplatnění, ba naopak, stačí se jen podívat na nabídky firem.
– Nadruhou stranu je ale potřeba si uvědomit, že Nette z člověka programátora neudělá (jak si to bohužel dnes spousta lidí myslí). Pro práci v Nette jsou potřeba alespoň základní znalosti objektového programování. Nicméně s pokročilejšími znalostmi pak člověk dostává do rukou opravdu mocný nástroj.
No trochu jsem se rozepsal :-)
2 Proki: Děkuji za připomínky. Většinu z nich jsem do článku zapracoval.
Ahoj,
rád bych zde pochvalil zmínku školení od Davida Grudla.
Byl jsem již na třech ( 2 x nette 1 x jQuerry ) a ty školení jsou fantastické. Možna se budete ptát proč jsem byl na školení nette 2 x krat? To jedno školení nestačí? Samozřejmě jedno školení stačí ale framework se celkem rychle rozvíjí a objevůjí se zde nove a nové věci a narovinu. Jedno dvojdenní školení celý framework nepokryje.