V posledním díle seriálu o programování jen pomocí sluchu a hmatu nás Roman Kabelka seznámí s tím, jak se mu poslepu používá Nette Framework.
Slovo má Roman.
Na podzim minulého roku jsem se dozvěděl o Nette Frameworku. Ihned mě zaujaly dvě vlastnosti:
- Webová aplikace má m vstupních akcí a n výstupních pohledů, přičemž logicky související akce a pohledy jsou sdruženy v jedné třídě (presenteru).
- Podoba pohledu je dána šablonou, jež má úspornější zápis a větší bezpečnost, než když šablona je tvořena přímo v PHP.
Presentery a celý komponentový systém formují zdrojové kódy do ustálené struktury, s níž lze pomocí dříve uvedených technik orientace nalézt požadovaný kus kódu. Metody pro akce a pohledy mají v presenterech předepsané konvence, což lze využít např. tak, že hledáním řetězce "ion act" je možné přeskakovat po jednotlivých metodách akcí.
Šablony Latte filteru tím, že dovolují uvození výstupu "<?php echo ..." zkrátit na pouhou otevírací složenou závorku, přispívají také k příjemnější práci. Pokud k tomu přidáme ještě tzv. n atributy, je zdrojový kód přehledný a prostorově úsporný, což se ocení především při čtení skrze braillský řádek.
I když z hlediska přehlednosti je Nette Framework pro nevidomé programátory dosti dobrým pomocníkem, neznamená to, že by každý měl začínat s prvními pokusy o webové aplikace právě v Nette Frameworku. Hlavní úskalí vidím v dokumentaci frameworku a ve faktu, že objektové programování začátečníkům nebude zcela vlastní. Pokud ovšem je člověk schopen toto zvládnout, projeví se veškeré přednosti Nette Frameworku.
Když mi před nedávnem volal kamarád s tipem na vytvoření webu, který se bude skládat převážně ze statických stránek a dvou formulářů odesílaných na e-mail, pojal jsem to jako šanci odzkoušet Nette Framework. K tomu ve skutečnosti došlo až ve chvíli, kdy byl web již hotový. Vše spěchalo, a tak jsem jej dočasně vystavěl na svém vlastním malém frameworku. Po převedení do Nette Frameworku jsem tak mohl porovnat výhody jednotlivých řešení:
- Nebýt jednoduchosti vyvíjeného webu, musel bych řešit generování navigace v Nette Frameworku dle mých požadavků, což ve svém frameworku jsem měl ošetřené.
- Šablona webu v Nette Frameworku je přehlednější zejména díky chytré syntaxi Latte filteru, jehož výhoda ve stručnosti byla již zmíněna.
- Web www.pujckynej.net postavený na Nette Frameworku je členěn do čtyř logických celků, což umožňuje snadno dohledat příslušné pasáže:
- Statické stránky.
- Stránky generované z dat v XML a transformované pomocí XSLT.
- Stránka s formulářem pro žádost o spolupráci.
- Průvodce pro formulář s on-line žádostí.
Mé původní řešení pro statické stránky bylo jednoduché, pro formuláře však už nepříliš průhledné, neboť v rámci přehlednosti se kód tříštil do několika objemějších souborů ošetřujících všechny situace.
- Nette Framework přirozeně vede programátora k dělení aplikace do menších souborů, jež jsou však přehledně provázány díky dědičnosti tříd a doporučené adresářové struktuře. Myslím si, že čím menší soubor, tím lépe pro orientaci skrze odečítač.
- Nette Framework elegantně soustřeďuje na jedno místo definice formulářů a pravidla jejich chování. Z mých zkušeností opakující se HTML kód nejen, že je nezáživný na psaní, ale vykazuje i vyšší chybovost. Orientace v takovém jednotvárném textu je bez zrakové kontroly do jisté míry ztížena vlivem právě jednotvárného okolního kontextu. Tento problém se především týká formulářů a tabulek. Nette Framework kód formuláře generuje dle stručných volání metod, což nesnáze značně v této oblasti redukuje.
Závěrem
Poslepu rozhodně programovat lze. Dá to pouze více úsilí v hledání programovacího jazyka a vývojového prostředí, s nimiž zrakově postižený programátor se dobře zžije z hlediska abstraktního myšlení a automatizace běžných postupů. Mně se nejvíce osvědčil Poznámkový blok Windows a PSPad, z čehož větší úsilí přímo plyne. Je nutno si však uvědomit, že sofistikovaná vývojová prostředí práci skrze odečítač v mnoha případech nijak výrazně neusnadní. Dle mých zkušeností hlavním zdrojem těchto komplikací nejčastěji bývá nestandardní přístup z pohledu operačního systému k ovládacím prvkům, jež umožňují různé zvýrazňování kódu a jeho automatické doplňování, což odečítači může činit nemalé problémy při vyčítání relevantního obsahu.
Na závěr si můžete prohlédnout zdrojový kód třídy jednoho z formulářů, jež jsem vytvořil pro zmíněný web Pujckynej.net.
Autorem článku je Roman Kabelka.
Související odkazy