Comparison of code generation tools

{{Short description|None}}

{{More citations needed|date=February 2015}}

{{Use dmy dates|date=June 2022}}

List of tools

class="wikitable sortable"
Product

! Creator

! Platform

! First public release

! Latest stable version

! Date of the latest stable version

! Software license

Acceleo

|Obeo

|cross-platform (Java / Eclipse)

|2006

|3.7.7

| 2018-12-04

|Eclipse Public

actifsource

|actifsource GmbH

|cross-platform (Java / Eclipse)

|

|10.12.0

|2021-02-22

|Proprietary

DMS Software Reengineering Toolkit

| Semantic Designs

| Windows

| 2001

| 2.0

|

| Proprietary

DRAKON

|Stepan Mitkin

|cross-platform (Tcl/Tk)

|2011

|1.27

| 2016-03-10

|Free

GeneXus

| GeneXus

| Cross Platform (multiple)

| 1991

| v17

|

| Proprietary

Genshi (templating language)

| Edgewall Software

| cross-platform (Python)

| 2006-08-03

| 0.5.1

| 2008-07-09

|

Jinja (Template engine)

| Pocoo team

| cross-platform (Python)

|

| 2.1.1

|

| BSD

Kid (templating language)

| Ryan Tomayko

| cross-platform (Python)

|

| 0.9.6

| 2006-12-20

|

Mako

| Michael Bayer

| cross-platform (Python)

|

| 1.1.2

|2020-03-01

| MIT License

MATLAB

|The MathWorks, Inc.

|Windows, macOS, Linux

|1984

|9.5

| 2018-09-12

|Proprietary

M-Power

| mrc

| cross-platform (Java)

| 2004

|

|

| Proprietary

Microsoft Visual Studio LightSwitch

|Microsoft

| Windows

| 2011

|

| 2011-07-26

| Proprietary

OpenMDX

|

| cross-platform (Java)

| 2004-01-28

| 2.4

| 2009-03-26

| BSD

Scriptcase

|Scriptcase Corp.

|PHP Unix, Linux, Windows, iOS

|2000

|9.7

| 2022-04-13

|Proprietary

T4

| Microsoft

| Windows

| 2005

|

| 2010

| MIT License

Umple

| University of Ottawa

| cross-platform (Java)

| 2010

| 1.35.0

| 2024-10-11

| MIT License

Velocity apache

| Apache Software Foundation

| cross-platform (Java)

|

| 1.6.2

| 2009-03-19

| Apache License 2.0

WaveMaker

|WaveMaker Inc.

|cross platform (aPaaS)

|2003

|10.0.3

|

|Proprietary

Technical features

class="wikitable sortable"
Name

! Implementation Language

! Active; Passive {{cite web |url=http://www.codegeneration.net/tiki-index.php?page=FrequentlyAskedQuestions |title=Code Generation Network - Frequently Asked Questions |website=www.codegeneration.net |access-date=15 January 2022 |archive-url=https://web.archive.org/web/20071024163645/http://www.codegeneration.net/tiki-index.php?page=FrequentlyAskedQuestions |archive-date=24 October 2007 |url-status=usurped}}

! Model

! Typical input

! Other input

! Typical output

Acceleo

| Java

| Active

| Tier

| User-defined EMF based models (UML, Ecore, user defined metamodels)

| Any EMF based input (Xtext DSLs, GMF graphical models, etc.)

| Any textual language.

actifsource

| Java

| Active

| Tier

| User-defined Models

| Import from UML, Ecore.

| Any textual language.

DMS Software Reengineering Toolkit

| Several code generation DSLs (attribute grammars, tree patterns, source-to-source rewrites)

| Active

| DSLs represented as abstract syntax trees

| DSL instance

| Well-formed output language code fragments

| Any programming language (proven for C, C++, Java, C#, PHP, COBOL)

gSOAP

| C / C++

|

|

| WSDL specifications

|

| C / C++ code that can be used to communicate with WebServices. XML with the definitions obtained.

Microsoft Visual Studio LightSwitch

| C# / VB.NET

| Active

| Tier

| Database schema

|

| Complete Silverlight application (Desktop or Web)

Pro*C

|

|

| Inline

| SQL in C

|

| C

Scriptcase

|PHP, JavaScript

|Active

|Tier

|Complete application (Web/Mobile) and build or use the database schema

|PHP, HTML, JavaScript, Ajax,

|Full Web application ready to use (PHP and Javascript) with Interface layer, service layer, PHP, CSS. etc. and Database scripts to apply.

Spring Roo

| Java

| Active

| Tier

| Java and automatically introspected project metadata

| Shell commands

| Java (Full Web Application including Java source, AspectJ source, XML, JSP, Spring application contexts, build tools, property files, etc.)

T4

|

| Passive

|

| T4 Template/Text File

|

| Any text format such as XML, XAML, C# files or just plain text files.

Umple

| Umple, Java, Javascript, PHP

| Active

| Tier

| Umple code embedding one or more of Java, Python, C++, PHP or Ruby

| Pure Umple code describing associations, patterns, state machines, etc.

| Java, Python, C++, PHP, Ruby, ECcore, Umlet, Yuml, Textuml, JSON, Papyrus XMI, USE, NuXMV, Alloy

Velocity apache

| Java

| Passive {{cite web|url=http://my.safaribooksonline.com/0131472208/ch06lev1sec2 |title=Open source tools are available that make the task of developing passive code generators all but trivial. One such offering is Velocity from the Apache Software Foundation |publisher=My.safaribooksonline.com |date= |accessdate=2014-01-24}}

| Tier

| Templates

| Java driver code

| Any text

Yii2 Gii

| PHP

| Active

| Tier

| Database schema, user input, source code

|

| Skeleton application, CRUD applications

References

{{Reflist}}

{{DEFAULTSORT:Code Generation Tools, Comparison Of}}

Category:Programming tools

Code generation tools

Category:Source code generation