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) | Languages | License | Variables | Functions | Includes | Conditional inclusion | Looping | Evaluation (language) | Assignment | Errors and exceptions | i18n | Natural templates | Inheritance |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Apache Velocity | Java, C# | Apache | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | 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 | No | Yes | Yes | Yes | No | Yes |
CheetahTemplate | Python | BSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | 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 | ? | ? | ? |
Django | Python | BSD-like | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | Yes |
eRuby | Ruby | GNU GPL / Ruby License | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | |
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 |
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 | ? | ? | ? |
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 | ? | ? | ? |
Jinja | Python | BSD | Yes | Yes | Yes | Yes | Yes | Yes (Python) | Yes | No | ? | ? | ? |
Jinja2 | Python | BSD | Yes | Yes | Yes | Yes | Yes | Yes (Python) | Yes | Yes | Yes | Yes | Yes |
Kid (templating language) | Python | MIT | Yes | Yes | Yes | Yes | Yes | Yes (Python) | Yes | Yes | ? | ? | ? |
Lucee | CFML | LGPL | Yes | Yes | Yes | Yes | Yes | Yes (CFML) | Yes | Yes | Yes | Yes | 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 | ? | ? | ? |
PHP | PHP | PHP License | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
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 | ? | Yes |
Squirrelly | JS | MIT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
Template Attribute Language | Various | open-source | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? |
Template Toolkit | Perl, Python | open-source | Yes | Yes | Yes | Yes | Yes | Yes (Perl) | Yes | Yes | ? | ? | ? |
Thymeleaf | Java | Apache | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
TinyButStrong | PHP | LGPL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
Twig | PHP | BSD | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | Yes |
vlibTemplate | PHP | Artistic License | Yes | Yes | Yes | Yes | Yes | No | No | No | ? | ? | ? |
WebMacro | Java | Apache, GNU GPL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
Engine (implementation) | Languages | License | Variables | Functions | Includes | Conditional inclusion | Looping | Evaluation (language) | Assignment | Errors and exceptions | i18n | Natural templates | Inheritance |
- 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
- Template processor
- JavaScript templating
- Category:Template engines
References
This article is issued from
Wikipedia.
The text is licensed under Creative Commons - Attribution - Sharealike.
Additional terms may apply for the media files.