Comparison of web template engines
From HandWiki
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 Velocity | Java, C# | Apache | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
ASP.NET (Microsoft) | C#, VB.NET | Proprietary | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
ASP.NET (Mono) | C# | LGPL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
Laravel Blade | PHP | MIT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
CheetahTemplate | Python | MIT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes |
CodeCharge Studio | Classic ASP, C#, VB.NET, PHP, Perl, Java/JSP, ColdFusion | Proprietary | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ? |
ColdFusion | CFML, CFScript | Proprietary | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
CTPP | C, C++, Perl, PHP, Python | BSD-like | Yes | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | No |
Django | Python | BSD-like | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
Epsilon Generation Language | Java | Eclipse Public License | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No |
eRuby | Ruby | GNU GPL / Ruby License | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
FreeMarker | Java | Apache | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
Genshi (templating language) | Python | BSD-like | Yes | Yes | Yes | Yes | Yes | Yes (Python) | Yes | Yes | Yes | Yes | No |
Go templates | Go | BSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
Haml | Ruby, PHP (WIP) | MIT | Yes | Yes | Yes | Yes | Yes | Yes (Ruby) | Yes | Yes | Yes | No | No |
Hamlets | Java | BSD | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ? | ? | ? |
JavaServer Pages | Java | CDDL + GNU GPL[1] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | Yes | ? |
Jinja | Python | BSD | Yes | Yes | Yes | Yes | Yes | Yes (Python) | Yes | No | Yes | No | Yes |
Jinja2 | Python | BSD | Yes | Yes | Yes | Yes | Yes | Yes (Python) | Yes | Yes | Yes | No | Yes |
Tera | Rust | MIT | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | No |
Kid | Python | MIT | Yes | Yes | Yes | Yes | Yes | Yes (Python) | Yes | Yes | No | Yes | No |
Lucee | CFML | LGPL | Yes | Yes | Yes | Yes | Yes | Yes (CFML) | Yes | Yes | Yes | Yes | Yes |
Mako | Python | MIT | Yes | Yes | Yes | Yes | Yes | Yes (Python) | Yes | Yes | Yes | No | Yes |
Mustache | 30+ languages | MIT | Yes | Yes | Yes | Yes | Yes (foreach) | No | No | Yes | Yes | Yes | No |
Open Power Template | PHP 5 | BSD-like | Yes | Yes | Yes | Yes | Yes | Yes (PHP) | Yes | Yes | No | Yes | Yes |
PHP | PHP | PHP License | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
Pug | JavaScript | MIT[2] | Yes | Yes | Yes | Yes | Yes | Yes (JavaScript) | Yes | Yes | No | No | Yes |
Razor | C#, F#, VB.NET | Apache | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Smarty | PHP | LGPL | Yes | Yes | Yes | Yes | Yes | Yes (PHP) | Yes | Yes? | Yes | No | Yes |
Slim | Ruby | MIT[3] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes |
Template Attribute Language | Various | open source | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | ? |
Template Toolkit | Perl, Python | Perl | Yes | Yes | Yes | Yes | Yes | Yes (Perl) | Yes | Yes | No | No | Yes |
Thymeleaf | Java | Apache | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
Twig | PHP | BSD | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | Yes |
web2py | Python | LGPL3 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
WebMacro | Java | Apache, GNU GPL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
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
- Template processor
- Web template system
- JavaScript templating
- Category:Template engines
- Java template engine performance report in spring boot
Notes
- ↑ 1.0 1.1 Engine (implementation) : engine name
- ↑ 2.0 2.1 Languages : implementation language of the engine (not the template script language)
- ↑ 3.0 3.1 License : Software license agreement
- ↑ 4.0 4.1 Variables : script language power to use variables
- ↑ 5.0 5.1 Functions : script language power to use functions
- ↑ 6.0 6.1 Includes : script language power include external files
- ↑ 7.0 7.1 Conditional inclusion : script language power to conditional includes
- ↑ 8.0 8.1 Looping : script language power to do loops (for, while) or recursion
- ↑ 9.0 9.1 Evaluation (language) : script language power to do "eval command" (to the implementation language)
- ↑ 10.0 10.1 Assignment : set names and references to sub-templates (?)
- ↑ 11.0 11.1 Errors and exceptions : engine output script errors.
- ↑ 12.0 12.1 i18n : Internationalization and localization feature
- ↑ 13.0 13.1 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.0 14.1 Inheritance : Supports the ability to inherit a layout from a parent template, separately overriding arbitrary sections of the parent template's content.
References
Original source: https://en.wikipedia.org/wiki/Comparison of web template engines.
Read more |