Programavimas

„Greitis“ ar „FreeMarker“?

Šablonų varikliai gali būti taikomi įvairiems kūrimo scenarijams, kai norite sukurti tekstą pagal konkrečias apdorojimo taisykles, ir dažnai naudojami kaip rodinio komponentas MVC programose. Šiame straipsnyje Jeroenas van Bergenas paaiškina, kur šablonų varikliai tinka jūsų programos architektūrai, ir parodo kai kurias visiems šablonų varikliams bendras operacijas. Galiausiai jis palygina du pagrindinius „Java“ šablonų variklius - „Velocity“ ir „FreeMarker“ - pagal galią, naudojimo paprastumą ir našumą.

Šablonų varikliai naudojami „Java“ kūrimo scenarijuose, kur būtina automatiškai sugeneruoti tekstą ir suformatuoti jį pagal konkrečias apdorojimo taisykles. Šiuo metu du populiariausi atvirojo kodo „Java“ šablonų varikliai yra „Velocity“ ir „FreeMarker“. Nors „Velocity“ ilgą laiką buvo pagrindinis šablonų variklis, „FreeMarker“ ėmė jį aplenkti, siūlydamas greitį ir rafinuotumą, kurio ne visada rasite „Velocity“.

Šiame straipsnyje aš trumpai supažindinu jus su šablonų varikliais, paaiškindamas, kur jie tinka jūsų „Java“ programos architektūrai, ir parodysiu keletą bendrų jiems visiems bendrų operacijų. Tada palyginu „Velocity“ ir „FreeMarker“, atsižvelgdamas į galią, naudojimo paprastumą ir našumą.

Ši diskusija pirmiausia skirta skaitytojams, naujiems šablonų varikliuose, norintiems sužinoti, kam jie naudojami, ir gauti pagalbos pasirinkdami dvi pagrindines atvirojo kodo parinktis.

Kas yra šablonų variklis?

A šablono variklis yra komponentas, kuris naudoja fiksuotą tekstą ir duomenis kaip įvestį, integruoja šiuos laikydamasis tam tikrų apdorojimo taisyklių ir išleidžia tekstinį dokumentą, kuriame yra duomenys. Šablonų varikliai yra labai naudingi atliekant tokias užduotis, kaip kurti dinaminius tinklalapius, dokumentus ir el. Laiškus, ir taip pat gali būti naudojami kuriant šaltinio kodą.

Šablonų varikliai dažniausiai naudojami kaip vaizdo komponentas MVC architektūroje. Šablonų variklis skatina gerai atskirti faktinę rodinio logiką ir pateiktą vaizdą, kuris laikomas geru dalyku. Naudojant šablonų variklį, kuriant programą reikia šiek tiek papildomų išlaidų, tačiau dauguma kūrėjų mato greitą investicijų grąžą, kai reikia pakeisti programą. Vaizdo atskyrimas nuo logikos leidžia lengvai atnaujinti programos išvaizdą ir veikimą koreguojant šablonus, o ne perrašyti šaltinio kodą. Ryšys yra panašus į CSS ir HTML, kur norint pakeisti stilių, reikia atlikti nedidelį CSS failo pakeitimą, o ne daugybę HTML pakeitimų.

Atvirojo kodo „Java“ šablonų variklių apžvalga

Kaip dažnai būna kuriant „Java“ platformoje, galite rinktis iš daugybės „Java“ pagrindu sukurtų šablonų variklių. Bandžiau sudaryti išsamų visų šiuo metu galimų „Java“ šablonų variklių sąrašą. Kai kurie iš jų yra tikras šablonų varikliai ta prasme, kad jie nebuvo sukurti atsižvelgiant į tam tikrą pritaikymą. Kai kurie yra specializuoti varikliai, kuriais siekiama sukurti tam tikrą dokumentą, pavyzdžiui, dekoruoti tinklalapius. Jei šablonų variklis nėra skirtas naudoti bendram tikslui, pamatysite aiškų programos, kuriai jis skirtas, aprašą.

1 lentelė. „Java“ platformos šablonų varikliai

vardasVersijaTikslasURLLicencija
Greitis1.5Bendrosios paskirties šablonų variklis//velocity.apache.org/„Apache“ programinės įrangos licencija
„FreeMarker“2.3.10Bendrosios paskirties šablonų variklis//www.freemarker.org/index.htmlBSD licencija
„SiteMesh“2.3Tinklalapio išdėstymas ir dekoravimas//www.opensymphony.com/sitemesh„OpenSymphony“ licencija
Arbatos servletas2.3internetiniai puslapiai//teatrove.sourceforge.netArbatos licencija
Jamonas2.3.0Bendrosios paskirties šablonų variklis//www.jamon.org/index.html„Mozilla“ viešoji licencija
„WebMacro“ Bendrosios paskirties šablonų variklis//www.webmacro.org/GNU bendroji viešoji licencija
$config[zx-auto] not found$config[zx-overlay] not found