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

  • Paperclip (JavaScript/DOM/Node template engine) - fast, reactive 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
  • Embedded Perl(Mojolicious: Embedded Perl) - Embedded Perl is a powerful templating engine for use with the Mojolicious Web Framework. It supports variables, functions, includes, conditional inclusion, looping, evaluation, assignment, exceptions, i18n, natural templates, and inheritance. [4]

See also[edit]

References[edit]