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)[lower-alpha 1]Languages[lower-alpha 2]License[lower-alpha 3]Variables[lower-alpha 4]Functions[lower-alpha 5]Includes[lower-alpha 6]Conditional inclusion[lower-alpha 7]Looping[lower-alpha 8]Evaluation (language)[lower-alpha 9]Assignment[lower-alpha 10]Errors and exceptions[lower-alpha 11]i18n[lower-alpha 12]Natural templates[lower-alpha 13]Inheritance[lower-alpha 14]
Apache VelocityJava, C#ApacheYesYesYesYesYesYesYesYesNoNoNo
ASP.NET (Microsoft)C#, VB.NETProprietaryYesYesYesYesYesYesYesYes???
ASP.NET (Mono)C#LGPLYesYesYesYesYesYesYesYes???
Laravel BladePHPMITYesYesYesYesYesYesYesYesYesNoYes
CheetahTemplatePythonBSDYesYesYesYesYesYesYesYesNoNoYes
CodeCharge StudioClassic ASP, C#, VB.NET, PHP, Perl, Java/JSP, ColdFusionProprietaryYesYesYesYesYesYesYesNoYesYes?
ColdFusionCFML, CFScriptProprietaryYesYesYesYesYesYesYesYesYesYesYes
CTPPC, C++, Perl, PHP, PythonBSD-likeYesYesYesYesYesNoNoYesNoYesNo
DjangoPythonBSD-likeYesYesYesYesYesYesYesYesYesNoYes
eRubyRubyGNU GPL / Ruby LicenseYesYesYesYesYesYesYesYesYesYesNo
FreeMarkerJavaApacheYesYesYesYesYesYesYesYesYesNoNo
Genshi (templating language)PythonBSD-likeYesYesYesYesYesYes (Python)YesYesYesYesNo
Go templatesGoBSDYesYesYesYesYesYesYesYesYesYesNo
HamlRuby, PHP (WIP)MITYesYesYesYesYesYes (Ruby)YesYesYesNoNo
HamletsJavaBSDYesYesYesYesYesNoYesYes???
JavaServer PagesJavaCDDL + GNU GPL[1]YesYesYesYesYesYesYesYes?Yes?
JinjaPythonBSDYesYesYesYesYesYes (Python)YesNoYesNoYes
Jinja2PythonBSDYesYesYesYesYesYes (Python)YesYesYesNoYes
TeraRustMITYesYesYesYesYesNoYesYesNoNoNo
Kid (templating language)PythonMITYesYesYesYesYesYes (Python)YesYesNoYesNo
LuceeCFMLLGPLYesYesYesYesYesYes (CFML)YesYesYesYesYes
Mustache30+ languagesMITYesYesYesYesYes (foreach)NoNoYesYesYesNo
Open Power TemplatePHP 5BSD-likeYesYesYesYesYesYes (PHP)YesYesNoYesYes
PHPPHPPHP LicenseYesYesYesYesYesYesYesYesYesYesNo
RazorC#, F#, VB.NETApacheYesYesYesYesYesYesYesYesYesYesYes
SmartyPHPLGPLYesYesYesYesYesYes (PHP)YesYes?YesNoYes
Template Attribute LanguageVariousopen sourceYesYesYesYesYesYesYesYesNoYes?
Template ToolkitPerl, Pythonopen sourceYesYesYesYesYesYes (Perl)YesYesNoNoYes
ThymeleafJavaApacheYesYesYesYesYesYesYesYesYesYesNo
TwigPHPBSDYesYesYesYesYesNoYesYesYesNoYes
web2pyPythonLGPL3YesYesYesYesYesYesYesYesYesYesYes
WebMacroJavaApache, GNU GPLYesYesYesYesYesYesYesYes???
Engine (implementation)[lower-alpha 1]Languages[lower-alpha 2]License[lower-alpha 3]Variables[lower-alpha 4]Functions[lower-alpha 5]Includes[lower-alpha 6]Conditional inclusion[lower-alpha 7]Looping[lower-alpha 8]Evaluation (language)[lower-alpha 9]Assignment[lower-alpha 10]Errors and exceptions[lower-alpha 11]i18n[lower-alpha 12]Natural templates[lower-alpha 13]Inheritance[lower-alpha 14]

See also

Notes

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

References

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