Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Comparison of web template engines
List article

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

Engine (implementation)LanguagesLicenseVariablesFunctionsIncludesConditionalinclusionLoopingEvaluation(language)AssignmentErrors andexceptionsi18nNaturaltemplatesInheritance
Apache VelocityJava, C#ApacheYesYesYesYesYesYesYesYesNoNoNo
ASP.NET (Microsoft)C#, VB.NETProprietaryYesYesYesYesYesYesYesYes???
ASP.NET (Mono)C#LGPLYesYesYesYesYesYesYesYes???
Laravel BladePHPMITYesYesYesYesYesYesYesYesYesNoYes
CheetahTemplatePythonMITYesYesYesYesYesYesYesYesNoNoYes
CodeCharge StudioClassic ASP, C#, VB.NET, PHP, Perl, Java/JSP, ColdFusionProprietaryYesYesYesYesYesYesYesNoYesYes?
ColdFusionCFML, CFScriptProprietaryYesYesYesYesYesYesYesYesYesYesYes
CTPPC, C++, Perl, PHP, PythonBSD-likeYesYesYesYesYesNoNoYesNoYesNo
DjangoPythonBSD-likeYesYesYesYesYesYesYesYesYesNoYes
Epsilon Generation LanguageJavaEclipse Public LicenseYesYesYesYesYesYesYesYesNoYesNo
EJSJavaScriptVariousYesYesYesYesYesYesYesYesYesYesYes
eRubyRubyGNU GPL / Ruby LicenseYesYesYesYesYesYesYesYesYesYesNo
FreeMarkerJavaApacheYesYesYesYesYesYesYesYesYesNoNo
Genshi (templating language)PythonBSD-likeYesYesYesYesYesYes (Python)YesYesYesYesNo
Go templatesGoBSDYesYesYesYesYesYesYesYesYesYesNo
HamlRuby, PHP (WIP)MITYesYesYesYesYesYes (Ruby)YesYesYesNoNo
HamletsJavaBSDYesYesYesYesYesNoYesYes???
JavaServer PagesJavaCDDL + GNU GPLYesYesYesYesYesYesYesYes?Yes?
JinjaPythonBSDYesYesYesYesYesYes (Python)YesNoYesNoYes
Jinja2PythonBSDYesYesYesYesYesYes (Python)YesYesYesNoYes
TeraRustMITYesYesYesYesYesNoYesYesNoNoNo
KidPythonMITYesYesYesYesYesYes (Python)YesYesNoYesNo
LuceeCFMLLGPLYesYesYesYesYesYes (CFML)YesYesYesYesYes
MakoPythonMITYesYesYesYesYesYes (Python)YesYesYesNoYes
Mustache30+ languagesMITYesYesYesYesYes(foreach)NoNoYesYesYesNo
Open Power TemplatePHP 5BSD-likeYesYesYesYesYesYes (PHP)YesYesNoYesYes
PHPPHPPHP LicenseYesYesYesYesYesYesYesYesYesYesNo
PugJavaScriptMITYesYesYesYesYesYes (JavaScript)YesYesNoNoYes
RazorC#, F#, VB.NETApacheYesYesYesYesYesYesYesYesYesYesYes
SmartyPHPLGPLYesYesYesYesYesYes (PHP)YesYes?YesNoYes
SlimRubyMITYesYesYesYesYesYesYesYesNoNoYes
Template Attribute LanguageVariousopen sourceYesYesYesYesYesYesYesYesNoYes?
Template ToolkitPerl, PythonPerlYesYesYesYesYesYes (Perl)YesYesNoNoYes
ThymeleafJavaApacheYesYesYesYesYesYesYesYesYesYesNo
TwigPHPBSDYesYesYesYesYesNoYesYesYesNoYes
web2pyPythonLGPL3YesYesYesYesYesYesYesYesYesYesYes
WebMacroJavaApache, GNU GPLYesYesYesYesYesYesYesYes???
Engine (implementation)LanguagesLicenseVariablesFunctionsIncludesConditionalinclusionLoopingEvaluation(language)AssignmentErrors andexceptionsi18nNaturaltemplatesInheritance

See also

Notes

References

  1. Engine (implementation) : engine name

  2. Languages : implementation language of the engine (not the template script language)

  3. License : Software license agreement /wiki/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 /wiki/Internationalization_and_localization

  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.

  15. JavaServer(TM) Pages Implementation http://jsp.java.net/

  16. "pugjs/pug". GitHub. Retrieved 2021-05-17. https://github.com/pugjs/pug

  17. "slim-template/slim". Github. Retrieved 2021-05-17. https://github.com/slim-template/slim/blob/master/LICENSE

  18. Engine (implementation) : engine name

  19. Languages : implementation language of the engine (not the template script language)

  20. License : Software license agreement /wiki/Software_license_agreement

  21. Variables : script language power to use variables

  22. Functions : script language power to use functions

  23. Includes : script language power include external files

  24. Conditional inclusion : script language power to conditional includes

  25. Looping : script language power to do loops (for, while) or recursion

  26. Evaluation (language) : script language power to do "eval command" (to the implementation language)

  27. Assignment : set names and references to sub-templates (?)

  28. Errors and exceptions : engine output script errors.

  29. i18n : Internationalization and localization feature /wiki/Internationalization_and_localization

  30. Natural templates : the template can be a document as valid as the final result, the engine syntax doesn't break the document's structure

  31. Inheritance : Supports the ability to inherit a layout from a parent template, separately overriding arbitrary sections of the parent template's content.