Comparison of web template engines

From Wikipedia, the free encyclopedia
  (Redirected from Template engine (web))
Jump to: navigation, search

The following table lists the various Web Template Engines discussed on Wikipedia and a brief rundown of their features. The content here is a work in progress.

Engine (implementation) Languages License Platform Variables Functions Includes Conditional inclusion Looping Evaluation (language) Assignment Errors and exceptions i18n Natural templates Inheritance
Apache Velocity Java, C# Apache License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes No
action4JAVA Java Apache License Cross-platform Yes No Yes Yes Yes No Yes Yes
ASP.NET (Microsoft) C#, VB.NET Proprietary Microsoft Windows Yes Yes Yes Yes Yes Yes Yes Yes
ASP.NET (Mono) C# GNU LGPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
AutoGen C GPL license Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes No Yes
Beilpuz PHP 5 GNU LGPL Cross-platform Yes Yes Yes Yes Yes No Yes Yes
Blitz PHP 5, PHP (C-module) BSD-like Cross-platform Yes Yes Yes Yes Yes No Yes Yes
Casper Java, JavaScript MIT Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
CheetahTemplate Python MIT License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
Chip Template Engine PHP, Perl open-source? Cross-platform Yes Yes Yes Yes Yes No Yes No
Chunk Templates Java open-source Cross-platform Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes
CodeCharge Studio Classic ASP, C#, VB.NET, PHP, Perl, Java/JSP, ColdFusion Proprietary Microsoft Windows Yes Yes Yes Yes Yes Yes Yes No Yes Yes
ColdFusion CFML, CFScript Proprietary Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Cottle C# BSD License Microsoft Windows Yes Yes Yes Yes Yes No Yes No No No
csharptemplates C# New BSD .NET Yes No No No No No No No
CTPP C, C++, Perl, PHP, Python BSD-like Cross-platform Yes Yes Yes Yes Yes No No Yes
dbPager C++ GNU GPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes
Deihro TemplateEngine PHP Open source Cross-platform Yes Yes indirect No No No No No
Dermis Classic ASP MIT License Microsoft Windows Yes No Yes No Yes No Yes No
Django Python BSD-like Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Djolt-objc Objective-C Apache License iPhone/MacOS Yes No No No Yes No No No
Dwoo PHP 5 BSD License Cross-platform Yes Yes Yes Yes Yes Yes (PHP) Yes Yes
Dylan Server Pages Dylan unknown unknown Yes Yes Yes Yes No? No No No
ECT JavaScript MIT License Cross-platform Yes Yes Yes Yes Yes Yes (CoffeeScript) Yes Yes Yes
eRuby Ruby GPL / Ruby License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
Evoque Templating Python, Py3K AFL v3.0 Cross-platform Yes Yes Yes Yes Yes Yes (Python) No Yes
FastTemplate PHP Artistic License Cross-platform Yes Yes Yes Yes Yes No Yes No
FigDice PHP 5 GPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
FreeMarker Java BSD-like Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Genshi (templating language) Python BSD-like Cross-platform Yes Yes Yes Yes Yes Yes (Python) Yes Yes Yes Yes
Google-ctemplate C++ BSD License Cross-platform Yes No Yes Yes Yes No No No
Grantlee Template System C++/Qt LGPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
GvTags Groovy Apache License Cross-platform Yes Yes Yes Yes Yes Yes (Groovy) Yes No
H2o PHP, Ruby MIT License Cross-platform Yes Yes Yes Yes Yes No Yes Yes
HAH PHP MIT License Cross-platform Yes Yes Yes Yes Yes Yes (PHP) Yes No No Yes No
Haml Ruby, PHP (WIP) MIT License Cross-platform Yes Yes Yes Yes Yes Yes (Ruby) Yes Yes
Hamlets Java BSD Cross-platform Yes Yes Yes Yes Yes No Yes Yes
Hyperkit PHP/XML Template Engine PHP, XML open-source Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
Histone template Engine PHP, Java, JavaScript Apache License Cross-platform Yes Yes Yes Yes Yes No Yes Yes No Yes Yes
Jade JavaScript MIT License Cross-platform Yes Yes Yes Yes
JavaServer Pages Java CDDL + GPL License[1] Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
Jenner JavaScript LGPL In-Browser Yes Yes No No Yes Yes Yes (if allowed by hosting application) Yes
jin-template Java, PHP LGPL Cross-platform Yes No No No No No Yes No
Jinja Python BSD Cross-platform Yes Yes Yes Yes Yes Yes (Python) Yes No
Jinja2 Python BSD Cross-platform Yes Yes Yes Yes Yes Yes (Python) Yes Yes Yes Yes Yes
JScore PHP + JS Proprietary Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
Kalahari Python BSD-like Cross-platform Yes Yes Through inheritance No Yes No Yes Yes
Kid (templating language) Python MIT Cross-platform Yes Yes Yes Yes Yes Yes (Python) Yes Yes
Mako Python MIT Cross-platform Yes Yes Yes Yes Yes Yes (Python) Yes Yes
Mars-Templater PHP 5 MIT License Cross-platform Yes No No Yes Yes No No No
MiniTemplator PHP, Java, VB.NET GNU LGPL Cross-platform Yes Yes Yes Yes Yes No No No?
MulleScionTemplates Objective-C BSD-like iPhone/MacOS Yes Yes Yes Yes Yes Yes (Objective-C) Yes No No Yes
mTemplate PHP MIT License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes No Yes
nTPL node.js, JavaScript MIT License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
Open Power Template PHP 5 BSD-like Cross-platform Yes Yes Yes Yes Yes Yes (PHP) Yes Yes
Obyx C++ GNU GPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Pebble Java New BSD Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes
Outline PHP 5 open-source Cross-platform Yes Yes Yes Yes Yes Yes (PHP) Yes Yes?
PHAML PHP MIT License Cross-platform Yes Yes Yes Yes Yes Yes (PHP) Yes Yes?
PHP PHP PHP License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
PURE Unobtrusive Rendering Engine Javascript MIT License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes
pyratemp Python MIT Cross-platform Yes Yes Yes Yes Yes Yes (Python) Yes No Yes
QueryTemplates PHP 5, JavaScript MIT License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
Railo CFML LGPL Cross-platform Yes Yes Yes Yes Yes Yes (CFML) Yes Yes Yes Yes Yes
RainTPL PHP GNU LGPL Cross-platform Yes Yes Yes Yes Yes Yes (PHP) Yes Yes
Razor C#, F#, VB.NET Apache License Microsoft Windows Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Rythm Java Apache License Cross-platform Yes Yes Yes Yes Yes Yes (Java) Yes Yes Yes Yes Yes
Scalate Scala, Java Apache License Cross-platform Yes Yes Yes Yes Yes Yes (Scala) Yes Yes
Scurvy PHP GNU GPL Cross-platform Yes No Yes Yes Yes No No Yes No Yes
Simplate PHP GPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes
Simphple PHP GNU LGPL Cross-platform Yes Yes Yes Yes Yes Yes (PHP) No Yes Yes? No
Smarty PHP GNU LGPL Cross-platform Yes Yes Yes Yes Yes Yes (PHP) Yes Yes? Yes Yes
StampTE PHP BSD Cross-platform Yes No No No No No No No No Yes No
StringTemplate Java (native), Python, C# BSD[2] Cross-platform Yes No Yes Yes Yes No No No No
SUIT Framework PHP, Python GNU LGPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes
/ Talus' TPL
Template Attribute Language Python, PHP 5 open-source Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes
ATal PHP 5.3 open-source Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes
Twital PHP 5.3 open-source Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes
Template Blocks PHP 5 GNU GPL Cross-platform Yes Yes Yes Yes Yes Yes (PHP) Yes Yes?
Template Toolkit Perl, Python open-source Cross-platform Yes Yes Yes Yes Yes Yes (Perl) Yes Yes
Thymeleaf Java Apache License Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
TinyButStrong PHP GNU LGPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Toupl Any with OOP and String class support Apache License Cross-platform Yes[3] Yes[3] Yes[3] Yes[3] Yes[3] Yes[3] Yes[3] Yes[3]
Twig PHP BSD Cross-platform Yes Yes Yes Yes Yes No Yes Yes Yes Yes
[Twirl] Scala Apache Cross-platform Yes
uBook Template PHP GPL Cross-platform Yes No No No Yes No Yes Yes No Yes
Vemplator PHP MIT License Cross-platform Yes Yes Yes Yes Yes Yes (PHP) No No
vlibTemplate PHP Artistic License Cross-platform Yes Yes Yes Yes Yes No No No
WebMacro Java Apache License, GPL Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes
Younicycle PHP 5, JavaScript, ActionScript Proprietary Cross-platform Yes Yes Yes Yes Yes No Yes Yes
ZeniTPL PHP new BSD Cross-platform Yes No No No Yes No Yes No
BabaJS Javascript Open Source Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes No No
Rage Javascript GPL v 3.0 Cross-platform Yes Yes Yes Yes Yes Yes Yes Yes No Yes No

LEGEND:

  • Engine (implementation) = engine name
  • Languages = implementation language of the engine (not the template script language)
  • License = Software license agreement
  • Platform = Computing platform
  • Variables = script language power to use variables
  • Functions = script language power to use functions
  • Includes = script language power include external files
  • Conditional inclusion = script language power to conditional includes
  • Looping = script language power to do loops (for, while) or recursion
  • Evaluation (language) = script language power to do "eval command" (to the implementation language)
  • Assignment = set names and references to sub-templates (?)
  • Errors and exceptions = engine output script errors.
  • i18n = Internationalization and localization feature
  • Natural templates = the template can be a document as valid as the final result, the engine syntax doesn't break the document's structure
  • Inheritance = Supports the ability to inherit a layout from a parent template, separately overriding arbitrary sections of the parent template's content.

For inclusion above[edit]

  • Handlebars (JavaScript/Node: Template engine) - semantic templates.
  • Mustache (Portable Template engine) - logic-less templates.
  • Twirl (Scala: Template engine) - a clone of the Play Framework's template engine.
  • Blade (Laravel: Template engine) - Blade is a simple, yet powerful templating engine provided with Laravel PHP Framework

References[edit]

See also[edit]