Comparison of web template engines

The following table lists the various Web Template Engines used in Web template systems and a brief rundown of their features.

Engine (implementation)LanguagesLicenseVariablesFunctionsIncludesConditional inclusionLoopingEvaluation (language)AssignmentErrors and exceptionsi18nNatural templatesInheritance
Apache VelocityJava, C#ApacheYesYesYesYesYesYesYesYes??No
ASP.NET (Microsoft)C#, VB.NETProprietaryYesYesYesYesYesYesYesYes???
ASP.NET (Mono)C#LGPLYesYesYesYesYesYesYesYes???
Laravel BladePHPMITYesYesYesYesYesNoYesYesYesNoYes
CheetahTemplatePythonBSDYesYesYesYesYesYesYesYes??Yes
CodeCharge StudioClassic ASP, C#, VB.NET, PHP, Perl, Java/JSP, ColdFusionProprietaryYesYesYesYesYesYesYesNoYesYes?
ColdFusionCFML, CFScriptProprietaryYesYesYesYesYesYesYesYesYesYesYes
CTPPC, C++, Perl, PHP, PythonBSD-likeYesYesYesYesYesNoNoYes???
DjangoPythonBSD-likeYesYesYesYesYesYesYesYesYes?Yes
eRubyRubyGNU GPL / Ruby LicenseYesYesYesYesYesYesYesYes??
FreeMarkerJavaApacheYesYesYesYesYesYesYesYesYesNoNo
Genshi (templating language)PythonBSD-likeYesYesYesYesYesYes (Python)YesYesYes?Yes
Go templatesGoBSDYesYesYesYesYesYesYesYesYesYesNo
HamlRuby, PHP (WIP)MITYesYesYesYesYesYes (Ruby)YesYes???
HamletsJavaBSDYesYesYesYesYesNoYesYes???
JavaServer PagesJavaCDDL + GNU GPL[1]YesYesYesYesYesYesYesYes???
JinjaPythonBSDYesYesYesYesYesYes (Python)YesNo???
Jinja2PythonBSDYesYesYesYesYesYes (Python)YesYesYesYesYes
Kid (templating language)PythonMITYesYesYesYesYesYes (Python)YesYes???
LuceeCFMLLGPLYesYesYesYesYesYes (CFML)YesYesYesYesYes
Mustache30+ languagesMITYesYesYesYesYes (foreach)NoNoYesYesYesNo
Open Power TemplatePHP 5BSD-likeYesYesYesYesYesYes (PHP)YesYes???
PHPPHPPHP LicenseYesYesYesYesYesYesYesYesYesYesNo
RazorC#, F#, VB.NETApacheYesYesYesYesYesYesYesYesYesYesYes
SmartyPHPLGPLYesYesYesYesYesYes (PHP)YesYes?Yes?Yes
SquirrellyJSMITYesYesYesYesYesYesYesYesNoNoNo
Template Attribute LanguageVariousopen-sourceYesYesYesYesYesYesYesYesYes??
Template ToolkitPerl, Pythonopen-sourceYesYesYesYesYesYes (Perl)YesYes???
ThymeleafJavaApacheYesYesYesYesYesYesYesYesYesYesNo
TinyButStrongPHPLGPLYesYesYesYesYesYesYesYesYesYes?
TwigPHPBSDYesYesYesYesYesNoYesYesYesNoYes
vlibTemplatePHPArtistic LicenseYesYesYesYesYesNoNoNo???
WebMacroJavaApache, GNU GPLYesYesYesYesYesYesYesYes???
Engine (implementation)LanguagesLicenseVariablesFunctionsIncludesConditional inclusionLoopingEvaluation (language)AssignmentErrors and exceptionsi18nNatural templatesInheritance
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.

See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.