Comparison of code generation tools
Appearance
From Wikipedia, the free encyclopedia
This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Comparison of code generation tools" – news · newspapers · books · scholar · JSTOR (February 2015) (Learn how and when to remove this message)
Find sources: "Comparison of code generation tools" – news · newspapers · books · scholar · JSTOR (February 2015) (Learn how and when to remove this message)
List of tools
[edit ]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
[edit ]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
[edit ]- ^ a b "Code Generation Network - Frequently Asked Questions". www.codegeneration.net. Archived from the original on 24 October 2007. Retrieved 15 January 2022.
- ^ "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". My.safaribooksonline.com. Retrieved 24 January 2014.