Wikiwand AI

Comparison of web template engines

From Wikipedia, the free encyclopedia

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

More information Engine (implementation), Languages ...
Engine (implementation)[a]Languages[b]License[c]
Variables[d]
Functions[e]
Includes[f]
Conditional
inclusion[g]
Looping[h]Evaluation
(language)[i]
Assignment[j]
Errors and
exceptions[k]
i18n[l]
Natural
templates[m]
Inheritance[n]
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 Language[1]JavaEclipse Public LicenseYesYesYesYesYesYesYesYesNoYesNo
EJSJavaScriptVariousYesYesYesYesYesYesYesYesYesYesYes
eRubyRubyGNU GPL / Ruby LicenseYesYesYesYesYesYesYesYesYesYesNo
FreeMarkerJavaApacheYesYesYesYesYesYesYesYesYesNoNo
GenshiPythonBSD-likeYesYesYesYesYesYes (Python)YesYesYesYesNo
Go templatesGoBSDYesYesYesYesYesYesYesYesYesYesNo
HamlRuby, PHP (WIP)MITYesYesYesYesYesYes (Ruby)YesYesYesNoNo
HamletsJavaBSDYesYesYesYesYesNoYesYes???
JavaServer PagesJavaCDDL + GNU GPL[2]YesYesYesYesYesYesYesYes?Yes?
JinjaPythonBSDYesYesYesYesYesYes (Python)YesNoYesNoYes
Jinja2PythonBSDYesYesYesYesYesYes (Python)YesYesYesNoYes
Tera[3]RustMITYesYesYesYesYesNoYesYesNoNoNo
KidPythonMITYesYesYesYesYesYes (Python)YesYesNoYesNo
LuceeCFMLLGPLYesYesYesYesYesYes (CFML)YesYesYesYesYes
MakoPythonMITYesYesYesYesYesYes (Python)YesYesYesNoYes
Mustache30+ languagesMITYesYesYesYesYes
(foreach)
NoNoYesYesYesYes
Open Power TemplatePHP 5BSD-likeYesYesYesYesYesYes (PHP)YesYesNoYesYes
PHPPHPPHP LicenseYesYesYesYesYesYesYesYesYesYesNo
Pug[4]JavaScriptMIT[5]YesYesYesYesYesYes (JavaScript)YesYesNoNoYes
RazorC#, F#, VB.NETApacheYesYesYesYesYesYesYesYesYesYesYes
SmartyPHPLGPLYesYesYesYesYesYes (PHP)YesYes?YesNoYes
Slim[6]RubyMIT[7]YesYesYesYesYesYesYesYesNoNoYes
Template Attribute LanguageVariousopen sourceYesYesYesYesYesYesYesYesNoYes?
Template ToolkitPerl, PythonPerlYesYesYesYesYesYes (Perl)YesYesNoNoYes
ThymeleafJavaApacheYesYesYesYesYesYesYesYesYesYesNo
TwigPHPBSDYesYesYesYesYesNoYesYesYesNoYes
web2pyPythonLGPL3YesYesYesYesYesYesYesYesYesYesYes
WebMacroJavaApache, GNU GPLYesYesYesYesYesYesYesYes???
Engine (implementation)[a]Languages[b]License[c]
Variables[d]
Functions[e]
Includes[f]
Conditional
inclusion[g]
Looping[h]Evaluation
(language)[i]
Assignment[j]
Errors and
exceptions[k]
i18n[l]
Natural
templates[m]
Inheritance[n]
Close

See also

Notes

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

References

Related Articles

Timelines

Top Qs

Fact Checks