Comparison of web template engines

Short description: none

This article contains one or more incomplete lists which may never be able to satisfy particular standards for completeness. You can help by expanding it / them with entries that are reliably sourced.

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

Engine (implementation)[lower-alpha 1] | Languages[lower-alpha 2] | License[lower-alpha 3] | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Looping[lower-alpha 4] | Evaluation
(language)[lower-alpha 5] | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header".

|
|
|
|
|
|
|
|
|
|
|
|
|

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[1] | Java | Eclipse Public License | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No
EJS | JavaScript | Various | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes
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 | 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[2] | 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[3] | 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[4] | JavaScript | MIT[5] | 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[6] | Ruby | MIT[7] | 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] | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Looping[lower-alpha 4] | Evaluation
(language)[lower-alpha 5] | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header".

## See also

* Template processor
* Web template system
* JavaScript templating
* Category:Template engines
* Java template engine performance report in spring boot

## Notes

1. ↑ 1.0 1.1 Engine (implementation) : engine name
2. ↑ 2.0 2.1 Languages : implementation language of the engine (not the template script language)
3. ↑ 3.0 3.1 License : Software license agreement
4. ↑ 4.0 4.1 Looping : script language power to do loops (for, while) or recursion
5. ↑ 5.0 5.1 Evaluation (language) : script language power to do "eval command" (to the implementation language)

Cite error: `<ref>` tag with name "Vari" defined in `<references>` is not used in prior text.
Cite error: `<ref>` tag with name "Func" defined in `<references>` is not used in prior text.
Cite error: `<ref>` tag with name "Incl" defined in `<references>` is not used in prior text.
Cite error: `<ref>` tag with name "Cond" defined in `<references>` is not used in prior text.
Cite error: `<ref>` tag with name "Assi" defined in `<references>` is not used in prior text.
Cite error: `<ref>` tag with name "Erro" defined in `<references>` is not used in prior text.
Cite error: `<ref>` tag with name "i18n" defined in `<references>` is not used in prior text.
Cite error: `<ref>` tag with name "Natu" defined in `<references>` is not used in prior text.

Cite error: `<ref>` tag with name "Inhe" defined in `<references>` is not used in prior text.

## References

1. ↑ "Code Generation (EGL) - Epsilon". https://eclipse.dev/epsilon/doc/egl/.
2. ↑ JavaServer(TM) Pages Implementation
3. ↑ "Tera". https://keats.github.io/tera/.
4. ↑ "Getting Started". https://pugjs.org/.
5. ↑ "pugjs/pug" (in en). https://github.com/pugjs/pug.
6. ↑ "Slim - A Fast, Lightweight Template Engine for Ruby". https://slim-template.github.io/.
7. ↑ "slim-template/slim" (in en). https://github.com/slim-template/slim/blob/master/LICENSE.

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Comparison of web template engines. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Comparison_of_web_template_engines&oldid=4290344"