Programování

Rychlost nebo FreeMarker?

Š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ázevVerzeÚčelURLLicence
Rychlost1.5Univerzální stroj šablon//velocity.apache.org/Softwarová licence Apache
FreeMarker2.3.10Univerzální stroj šablon//www.freemarker.org/index.htmlLicence BSD
SiteMesh2.3Rozložení a dekorace webových stránek//www.opensymphony.com/sitemeshLicence OpenSymphony
TeaServlet2.3webové stránky//teatrove.sourceforge.netLicence na čaj
Jamone2.3.0Univerzální stroj šablon//www.jamon.org/index.htmlVeřejná licence Mozilla
WebMacro Univerzální stroj šablon//www.webmacro.org/GNU General Public License
$config[zx-auto] not found$config[zx-overlay] not found