Ohjelmointi

Nopeus vai FreeMarker?

Mallimoottoreita voidaan soveltaa monenlaisiin kehitysskenaarioihin, joissa haluat luoda tekstiä tiettyjen käsittelysääntöjen perusteella, ja niitä käytetään usein näkymäkomponenttina MVC-sovelluksissa. Tässä artikkelissa Jeroen van Bergen selittää, mihin mallimoottorit sopivat sovellusarkkitehtuuriin, ja näyttää joitain kaikille mallimoottoreille yhteisiä toimintoja. Lopuksi hän vertaa kahta johtavaa Java-mallimoottoria, Velocityä ja FreeMarkeria, tehon, helppokäyttöisyyden ja suorituskyvyn suhteen.

Mallikoneita käytetään Java-kehityskenaarioissa, joissa on tarpeen luoda teksti automaattisesti ja muotoilla se tiettyjen käsittelysääntöjen mukaisesti. Kaksi suosituinta avoimen lähdekoodin Java-mallimoottoria ovat tällä hetkellä Velocity ja FreeMarker. Vaikka Velocity on ollut johtava mallimoottori pitkään, FreeMarker on alkanut ohittaa sen ja tarjoaa nopeuden ja hienostuneisuuden, jota et aina löydä Velocitystä.

Tässä artikkelissa esitän lyhyesti mallimoottorit, selittäen, missä ne sopivat Java-sovellusarkkitehtuuriin, ja esittämällä joitain heille kaikille yhteisiä perustoimintoja. Sitten verran Velocityä ja FreeMarkeria tehon, helppokäyttöisyyden ja suorituskyvyn perusteella.

Tämä keskustelu on tarkoitettu ensisijaisesti mallimoottoreiden uusille lukijoille, jotka haluavat oppia, mihin heitä käytetään, ja saada apua valitsemaan kahden johtavan avoimen lähdekoodin vaihtoehdon välillä.

Mikä on mallimoottori?

A mallimoottori on komponentti, joka ottaa kiinteän tekstin ja datan syötteeksi, integroi nämä seuraavat tietyt käsittelysäännöt ja tuottaa tiedot sisältävän tekstidokumentin. Mallimoottorit ovat erittäin hyödyllisiä tehtävissä, kuten dynaamisten verkkosivujen, asiakirjojen ja sähköpostien luomisessa, ja niitä voidaan käyttää myös lähdekoodin luomiseen.

Mallimoottoreita käytetään enimmäkseen MVC-arkkitehtuurin näkymäkomponenttina. Mallimoottori kannustaa hyvin erottamaan todellisen näkymälogiikan ja renderoidun näkymän, jota pidetään hyvänä. Mallimoottorin käyttämiseen liittyy jonkin verran yleiskustannuksia sovelluksen rakentamiseen, mutta useimmat kehittäjät näkevät nopean sijoitetun pääoman tuoton, kun sovellusta on vaihdettava. Näkymän erottaminen logiikasta helpottaa sovelluksen ulkoasun ja tuntuman päivittämistä säätämällä malleja sen sijaan, että tarvitsisi kirjoittaa lähdekoodia uudelleen. Suhde on samanlainen kuin CSS: n ja HTML: n, joissa tyylin muutos vaatii CSS-tiedostoon pienen muokkauksen eikä monia HTML-versioita.

Katsaus avoimen lähdekoodin Java-mallimoottoreihin

Kuten usein tapahtuu Java-alustalla kehittäessä, sinulla on useita Java-pohjaisia ​​mallimoottoreita, joista valita. Olen yrittänyt koota kattavan luettelon kaikista tällä hetkellä käytettävissä olevista Java-mallimoottoreista. Jotkut näistä ovat todellinen mallimoottorit siinä mielessä, että niitä ei ole kehitetty tietyntyyppistä sovellusta ajatellen. Jotkut ovat erikoistuneita moottoreita, jotka pyrkivät tekemään tietyntyyppisiä asiakirjoja, kuten koristelemaan verkkosivuja. Jos mallimoottoria ei ole tarkoitettu yleiskäyttöön, näet nimenomaisen kuvauksen sovellustyypistä, johon se on tarkoitettu.

Taulukko 1. Java-alustan mallimoottorit

NimiVersioTarkoitusURLLisenssi
Nopeus1.5Yleiskäyttöinen mallimoottori//velocity.apache.org/Apache-ohjelmistolisenssi
FreeMarker2.3.10Yleiskäyttöinen mallimoottori//www.freemarker.org/index.htmlBSD-lisenssi
SiteMesh2.3Verkkosivun asettelu ja koristelu//www.opensymphony.com/sitemeshOpenSymphony-lisenssi
TeaServlet2.3verkkosivut//teatrove.sourceforge.netTee-lisenssi
Jamon2.3.0Yleiskäyttöinen mallimoottori//www.jamon.org/index.htmlMozillan julkinen lisenssi
WebMacro Yleiskäyttöinen mallimoottori//www.webmacro.org/GNU: n yleinen julkinen lisenssi
$config[zx-auto] not found$config[zx-overlay] not found