Programmēšana

Velocity vai FreeMarker?

Veidņu dzinējus var izmantot dažādiem attīstības scenārijiem, kur vēlaties ģenerēt tekstu, pamatojoties uz īpašiem apstrādes noteikumiem, un tos bieži izmanto kā skata komponentu MVC lietojumprogrammās. Šajā rakstā Džerēns van Bergens paskaidro, kur veidņu dzinēji iekļaujas jūsu lietojumprogrammas arhitektūrā, un parāda dažas darbības, kas kopīgas visiem veidņu dzinējiem. Visbeidzot, viņš salīdzina divus vadošos Java veidņu dzinējus - Velocity un FreeMarker - jaudas, lietošanas ērtuma un veiktspējas ziņā.

Veidņu motori tiek izmantoti Java izstrādes scenārijos, kur nepieciešams automātiski ģenerēt tekstu un formatēt to atbilstoši konkrētiem apstrādes noteikumiem. Divi populārākie atvērtā koda Java veidņu dzinēji pašlaik ir Velocity un FreeMarker. Kaut arī Velocity jau ilgu laiku ir bijis vadošais veidņu dzinējs, FreeMarker ir sācis to apsteigt, piedāvājot ātrumu un izsmalcinātību, ko jūs ne vienmēr atradīsit Velocity.

Šajā rakstā es īsi iepazīstinu jūs ar veidņu dzinējiem, paskaidrojot, kur tie iekļaujas jūsu Java lietojumprogrammu arhitektūrā, un parādot dažas pamatdarbības, kas kopīgas visiem. Pēc tam es salīdzinu Velocity un FreeMarker, pamatojoties uz jaudu, lietošanas ērtumu un veiktspēju.

Šī diskusija galvenokārt paredzēta lasītājiem, kas jauni veidņu dzinējiem, kuri vēlas uzzināt, kam viņi tiek izmantoti, un saņemt palīdzību, izvēloties vienu no divām vadošajām atvērtā koda iespējām.

Kas ir veidņu dzinējs?

A veidņu dzinējs ir komponents, kas ievada fiksētu tekstu un datus, integrē tos, ievērojot noteiktus apstrādes noteikumus, un izdod teksta dokumentu, kurā ir dati. Veidņu motori ir ļoti noderīgi tādu uzdevumu veikšanai kā dinamisku tīmekļa lapu, dokumentu un e-pastu izveidošana, un tos var izmantot arī avota koda ģenerēšanai.

Veidņu motori galvenokārt tiek izmantoti kā skata sastāvdaļa MVC arhitektūrā. Veidņu motors veicina labu nošķiršanu starp faktisko skata loģiku un atveidoto skatu, kas tiek uzskatīts par labu. Izmantojot veidņu motoru, lietojumprogrammas veidošanā ir vajadzīgas dažas papildu izmaksas, taču lielākā daļa izstrādātāju redz ātru ieguldījumu atdevi, kad lietojumprogramma ir jāmaina. Skata nošķiršana no loģikas atvieglo lietojumprogrammas izskatu un darbību, pielāgojot veidnes, nevis jāpārraksta avota kods. Attiecības ir līdzīgas CSS un HTML attiecībām, kur stila maiņai ir nepieciešams neliels CSS faila labojums, nevis daudz HTML pārskatījumu.

Pārskats par atvērtā koda Java veidņu motoriem

Kā tas bieži notiek, izstrādājot Java platformā, jums ir daudz Java veidņu dzinēju, no kuriem izvēlēties. Esmu mēģinājis sastādīt visaptverošu visu pašlaik pieejamo Java veidņu motoru sarakstu. Daži no tiem ir īsts veidņu motori tādā nozīmē, ka tie nav izstrādāti, domājot par noteiktu lietojuma veidu. Daži no tiem ir specializēti dzinēji, kuru mērķis ir veikt noteikta veida dokumentu izveidi, piemēram, dekorēt tīmekļa lapas. Ja veidņu motors nav paredzēts vispārējai lietošanai, redzēsit skaidru aprakstu par lietojumprogrammu, kurai tā paredzēta.

1. tabula. Java platformas veidņu motori

NosaukumsVersijaMērķisURLLicence
Ātrums1.5Vispārējs veidņu dzinējs//velocity.apache.org/Apache programmatūras licence
FreeMarker2.3.10Vispārējs veidņu dzinējs//www.freemarker.org/index.htmlBSD licence
VietneMesh2.3Tīmekļa lapu izkārtojums un noformējums//www.opensymphony.com/sitemeshOpenSymphony licence
TeaServlet2.3Web lapas//teatrove.sourceforge.netTējas licence
Džamon2.3.0Vispārējs veidņu dzinējs//www.jamon.org/index.htmlMozilla publiskā licence
WebMacro Vispārējs veidņu dzinējs//www.webmacro.org/GNU vispārējā publiskā licence
$config[zx-auto] not found$config[zx-overlay] not found