Template Engine - teng
Před nějakou dobou jsem se zmiňoval o šablonovacích systémech. Neoficiálně jsem byl seznámen s tím, že seznam.cz chystá vlastní nástroj na oddělení aplikační logiky a vzhledu. A nyní se s ním můžeme konečně seznámit v praxi.
O zveřejnění jsem se dozvěděl z příspěvku Choseho - Teng - perfektní šablonovací nástroj, zatím i RSSko přímo na tengu taktně mlčí.
Pár postřehů k TENGu
Možná mě tento Template ENGine konečně přesvědčí, abych nějaké šablony zkusil. Po letmém seznámení za pomoci podrobně sepsané dokumentace mám několik postřehů.
- Vychází z podobně filosofie jako Smarty.
- Přináší pohodlný způsob, jak zmenšit velikost výsledné stránky.
- Pro PHP (pro mě zatím nejzajímavější) je k dispozici jako modul, což by mělo být plus pro rychlost.
- Yuhů naopak ocení podporu jazyka Python.
Nedokonalé oddělení grafiky od aplikace
Polde Choseho slouží k oddělení aplikační a prezentační vrstvy. Já bych to viděl spíš tak, že na bedra grafika přidává další úlohu. Kromě grafického vzhledu totiž musí vytvářet šablony. Díky tengu je možné nejen vkládat do sebe jednotlivé části, ale také používat cykly, podmínky, funkce, definovat proměnné, ... S tím si pouhý grafik neporadí a musí mít navíc i zkušenosti programátora - aspoň minimální.
Pokud má grafik dělat grafické návrhy a programátor se starat o aplikační logiku, bude nutné vytvořit novou profesi - "šablonáře". Případně to může být zkušený kodér, který z obrázků bude generovat nejen HTML, ale také přidá část "aplikační" logiky, aby bylo možno celou šablonu nasadit.
Kandidát na zkoušku...
Zkusím si udělat někdy čas a mrknout se na zoubek šablonám trošku víc. Zatím si myslím, že je nemám zapotřebí, ale vlastní zkušenosti mohou převážit v opak. Zatím je to jeden z mála šablonovacích systémů, který je přístupný jako extension. Měl by být rychlejší než ostatní, i přesto že jsou cacheovány a jinak optimalizovány. Dalším kandidátem byl FastTemplate, ale pravděpodobně byl jeho vývoj již ukončen.
Související:
Tip: Nevíte čím obdarovat nejbližší? Nechte je napsat Ježíškovi.