Comparison of code generation tools
From Wikipedia, the free encyclopedia
This article needs additional citations for verification. (February 2015) |
List of tools
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
Name | Implementation Language | Active; Passive [1] | Model[1] | 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 [2] | Tier | Templates | Java driver code | Any text |
Yii2 Gii | PHP | Active | Tier | Database schema, user input, source code | Skeleton application, CRUD applications |
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.