Šablony lze použít na širokou škálu vývojových scénářů, kde chcete generovat text na základě konkrétních pravidel zpracování, a často se používají jako součást zobrazení v aplikacích MVC. V tomto článku Jeroen van Bergen vysvětluje, kde se šablony motorů hodí do vaší aplikační architektury, a ukazuje některé operace společné všem motorům šablon. Nakonec porovná dva přední motory šablon Java, Velocity a FreeMarker, pokud jde o výkon, snadné použití a výkon.
Šablony se používají ve vývojových scénářích Java, kde je nutné automaticky generovat text a formátovat jej podle konkrétních pravidel zpracování. Dva nejoblíbenější open source šablony Java v současné době jsou Velocity a FreeMarker. Zatímco Velocity je již dlouhou dobu předním motorem šablon, FreeMarker jej začal předjíždět a nabízí rychlost a propracovanost, které ve Velocity ne vždy najdete.
V tomto článku vám stručně představím šablony motorů, vysvětlím, kde zapadají do vaší aplikační architektury Java a ukážu vám některé základní operace společné pro všechny. Poté porovnám Velocity a FreeMarker na základě výkonu, snadnosti použití a výkonu.
Tato diskuse je primárně určena čtenářům, kteří začínají používat šablony, kteří se chtějí dozvědět, k čemu se používají, a získat pomoc při výběru mezi dvěma hlavními možnostmi otevřeného zdroje.
Co je to stroj šablony?
A stroj šablony je komponenta, která jako vstup přijímá pevný text a data, integruje je podle určitých pravidel zpracování a vydává textový dokument obsahující data. Šablony jsou velmi užitečné pro úkoly, jako je vytváření dynamických webových stránek, dokumentů a e-mailů, a lze je také použít ke generování zdrojového kódu.
Šablony se většinou používají jako komponenta zobrazení v architektuře MVC. Modul šablony podporuje dobré oddělení mezi skutečnou logikou pohledu a vykresleným pohledem, který je považován za dobrou věc. Použití šablonového modulu vyžaduje určitou režii při vytváření aplikace, ale většina vývojářů vidí rychlou návratnost investic, když je třeba aplikaci změnit. Oddělení zobrazení od logiky usnadňuje aktualizaci vzhledu aplikace úpravou šablon, než aby bylo nutné přepisovat zdrojový kód. Vztah je podobný jako u CSS a HTML, kde změna stylu vyžaduje spíše malou úpravu souboru CSS než mnoho revizí HTML.
Přehled otevřených zdrojů šablon Java
Jak se často stává při vývoji na platformě Java, máte na výběr mnoho šablon založených na Javě. Pokusil jsem se sestavit komplexní seznam všech motorů šablon Java, které jsou aktuálně k dispozici. Některé z nich jsou nemovitý šablony motorů v tom smyslu, že nebyly vyvinuty s ohledem na určitý druh aplikace. Některé jsou specializované nástroje, jejichž cílem je vytvořit určitý druh vytváření dokumentů, například zdobení webových stránek. Pokud modul šablony není určen pro všeobecné použití, zobrazí se explicitní popis typu aplikace, pro kterou je určen.
Tabulka 1. Šablony pro platformu Java
název | Verze | Účel | URL | Licence |
---|---|---|---|---|
Rychlost | 1.5 | Univerzální stroj šablon | //velocity.apache.org/ | Softwarová licence Apache |
FreeMarker | 2.3.10 | Univerzální stroj šablon | //www.freemarker.org/index.html | Licence BSD |
SiteMesh | 2.3 | Rozložení a dekorace webových stránek | //www.opensymphony.com/sitemesh | Licence OpenSymphony |
TeaServlet | 2.3 | webové stránky | //teatrove.sourceforge.net | Licence na čaj |
Jamone | 2.3.0 | Univerzální stroj šablon | //www.jamon.org/index.html | Veřejná licence Mozilla |
WebMacro | Univerzální stroj šablon | //www.webmacro.org/ | GNU General Public License |