Comparison of code generation tools
Appearance
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Product | Creator | Platform | First public release | Latest stable version | Software license |
---|---|---|---|---|---|
A Xomega.Net plugin for Visual Studio[1] | Xomega.Net | Windows | 2010 | 6.6 / 2015-10-11 | Proprietary |
Acceleo | Obeo | cross-platform (Java / Eclipse) | 2006 | 3.5.0 / 2014-06-10 | Eclipse Public |
Accelerator | Surround Technologies | Windows, Web, Mobile (C# / .NET) | 2007 | 6.2 | Proprietary |
actifsource | actifsource GmbH | cross-platform (Java / Eclipse) | 4.6.3 / 2011-08-09 | Proprietary | |
Apeel PHP Code Generator Pro | City Business Logic | Windows | 2001 | 11.03b / 2011-09-04 | Proprietary |
AtomWeaver | Isomeris | Windows | 2010 | 1.3.1 / 2012-02-20 | Proprietary |
Celerio | Jaxio[2] | cross-platform (Java) | 2015 | 4.0.2 / 2015-11-16 | Apache License 2.0 |
Click2Code | onlinewebtech | windows | 2013 | 1.0 / 2013-09-20 | Proprietary |
Code4Green | Code4Green | Web - Free Online | 2009 | 1.0 | Proprietary |
Code-g flexible pattern based code generator | Abstractmeta | Java | 0.30 / 2012-05-20 | Apache License 2.0 | |
CodeBhagat | CodeBhagat LLC | Windows (C# / .NET) | 2014 | 1.0 / 2014 | Proprietary |
CodeCooker | CodeCooker | Web - Free Online | 2014 | 0.5.1 / 2014-07-02 | Proprietary |
CodeFluent Entities | SoftFluent | Windows | 2005 | 840 - 2016 | Proprietary |
CodeGenerator360 | Windows (Online Tool) | 2011 | Proprietary | ||
Code generation plugin for Astah UML Community | José Carreno | cross-platform | 2014 | 1.3.0_GA / 2014-05-08 | Free |
Code OnTime | Code On Time LLC | Windows (c# / .NET) | Proprietary and Subscription | ||
CodeSmith Generator | CodeSmith Tools | Windows | 2004 | 7.1.0 / 2015-08-10 | Proprietary |
Cog | Ned Batchelder | cross-platform (Python) | 2.1 | MIT | |
DMS Software Reengineering Toolkit | Semantic Designs | Windows | 2001 | 2.0 | Proprietary |
EntiPro | EntiCraft | Windows | Proprietary | ||
EazyCode | Datacraft | Windows | 2004 | 7.1 / 2014-09-08 | Proprietary |
Flowchart to Code | Athek | Windows | 2013 | 1.0 / 2013-01-10 | Proprietary |
GenerateXY | DotXY | Windows | 5.1 | Proprietary | |
generjee[3] | Alexander Derksen | cross-platform (Java) | 2015 | 0.9 | Proprietary |
Genshi (templating language) | Edgewall Software | cross-platform (Python) | 2006-08-03 | 0.5.1 / 2008-07-09 | |
GSL Universal Code Generator | iMatrix | cross-platform | Jan 30, 2015 | GPLv3+ | |
Iron Speed Designer | Iron Speed, Inc. | Windows | 2001 | 9.2.0 / 2013-12-18 | Proprietary |
JCodeBox | cross-platform (Java) | Proprietary | |||
Jigy Generator | GetJigy | Eclipse & Netbeans | 2014 | 1.0.1 / 2014-10-17 | Proprietary |
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 | ||
kiss! C#, VB.Net and SQL Script Generator | Cove Bay Software Limited | Windows | 2013 | 4.0.0.0 / 2015-05-05 | Proprietary |
LayerCake Generator .NET | Delphin Habierre | Windows (C# / .NET) | 2013 | 3.7.1 / 2015-09-06 | Free / OpenSource |
Linx 5 beta | Twenty57 | Windows .NET 4.5 C# | 2008 | 5 | Proprietary |
Mako | Michael Bayer | cross-platform (Python) | 0.2.3 / 2008-05-12 | MIT | |
M-Power | mrc | cross-platform (Java) | 2004 | Proprietary | |
Microsoft Visual Studio LightSwitch | Microsoft | Windows | 2011 | 2011-07-26 | Proprietary |
MinuteProject (Velocity, DB, WSDL) | Florian Adler | cross-platform (Java) | 2004 | 0.8.3 / 2013-06-05 | Apache License 2.0, GPL |
MOLGENIS | Morris Swertz[4] | cross-platform (Java) | 2004 | 3.3 | LGPLv3 |
NoORM | Ulf Pietruschka | cross-platform (Java) | 2013 | 1.0.0 / 2013-11-19 | Apache License 2.0 |
OMS.Ice – T4 Text Template Generator | Olaf Meyer | Windows ( .NET ) | 2012 | 1.4 / 2012-05-30 | Eclipse Public |
OpenMDX | cross-platform (Java) | 2004-01-28 | 2.4 / 2009-03-26 | BSD | |
OutSystems Platform | OutSystems | cross-platform (.Net, Java) | 2001 | 9.0 / 2014-09-24 | Proprietary |
Application Builder | projecz.com | PHP | 2014 | 1.0 / 2014-03-20 | Proprietary |
PHPRunner | Xlinesoft | Windows | 2003 | 5.3 / 2010-10-15 | Proprietary |
Radarc Online | Icinetic | Android, iOS, Windows (C#/XAML, Java, Objective C) | 2012 | 1.2.0 / 2014-11-04 | Proprietary |
Reegenerator | Kodeo Limited | Windows (C#, VB.Net) | 2010 | 2.0.5 / 2014-01-26 | Proprietary |
ribosome | Martin Sustrik | cross-platform (Ruby, JavaScript or Python) | 2014 | 1.15 / 2015-07-08 | MIT |
Stadium | Twenty57 (http://stadium.twenty57.com) | Windows | 2005 | 2015 | Proprietary |
T4 | Microsoft | Windows | 2005 | 2010 | Proprietary |
Telosys Tools | OW2 | cross-platform (Java : Eclipse) | 2011 | 2.1.0 / 2014-04-02 | Eclipse Public License |
Umple | University of Ottawa | cross-platform (Java / Eclipse) | 2010 | 1.23.0 / 2015-12-21 | MIT |
Velocity apache | Apache Software Foundation | cross-platform (Java) | 1.6.2 / 2009-03-19 | Apache License 2.0 | |
X2X | Triple-S GmbH | Windows | 2005 | X2X-2015 | Proprietary |
XACT X4MR | Applied Conversion Technologies Inc | Virtual DOS | 1994 | 3 / 1997-08-01 | Proprietary |
ZumCoder MDD/MDA/ Template Based | Agen Consultoria – Adilson de ALmeida Pedro | Web – Online | 1.0 | Proprietary |
Technical
Name | Implementation Language | Active; Passive [5] | Model[5] | Typical input | Other input | Typical output |
---|---|---|---|---|---|---|
A Xomega.Net plugin for Visual Studio | C#, XSL, XSD | Active | Mixed | User-defined models, XML | Templates, Import from DB | User Interface (HTML5, ASP.NET, WPF, Silverlight), Service Layer (REST, WCF), Business Layer (EF), DAL, DB scripts, Config files, VS project files, Xomega Framework objects |
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. |
Accelerator | C# | Active | Tier | Database schema | XML Schema, Templates and configuration tables | C#, WPF, ASP.NET, MVC, ASP.NET, WCF, WebServices(complete application) |
actifsource | Java | Active | Tier | User-defined Models | Import from UML, Ecore. | Any textual language. |
any<code/> | Java | Active | Tier | User-defined models | Custom templates (Groovy) | Any textual language, depends on your template code. Built-in directives in Java, JPA, Objective-C added since v1.2.0 |
Appsroller Web Form Generator | Javascript | Active | Web Tier | Any code | Javascript | |
Apeel PHP Code Generator Pro | Delphi | Passive | Tier | Database schema | PHP, HTML, CSS | Full Application – PHP, CSS, Apeel Open Source Framework. |
AtomWeaver | C++, Lua | Active | Tier | Tree models built using a cooperative template system, based on the ABSE modeling approach | Code in any language | Any textual language |
Celerio | Java | Active | Tier | Database schema Convention over Configuration and Configuration | Custom templates (velocity) | Any textual language but traditionally Java/Html/Xml/etc. |
Click2Code for windows | VB6 | Active | Mixed | User-defined Templates | Templates | User Interface |
Code4Green | C#, VB.net, ASP.net, SharePoint, SQL, JAVA, classical ASP, HTML, XML | Active | Tier | Code4Green - an online ultimate code generation tool with a green cause of plantation of trees on each 10,000 LOC | Code in C#, VB.net, ASP.net, SharePoint, SQL, JAVA, classical ASP, HTML, XML | Output determined by the selected language type. It is a plain text. |
CodeCooker | Javascript | Active | Mixed | UML | C#, C++ and CoffeeScript classes | |
CodeFluent Entities | C# | Active | Mixed | User-defined models, Database schema | Templates | .NET classes, Persistence layers (Microsoft SQL Server, Oracle, PostgreSQL, MySQL), WCF Services, ASP .NET websites... |
CodeSmith Generator | C#, VB.NET, JavaScript | Active | Mixed | Database schema (ADOX, DB2 zOS, ISeries, MySQL, Oracle, Postgre, SQL Anywhere, SQL Compact, SQL Server, SQLite, VistaDB), C# or VB.NET source code, Any meta data source.. E.G., Web Services, SharePoint, UML, XSD, XML, DBML, EDMX, JSON, HBM, HTML and more... | Templates | Any textual output such as C#, VB.NET, C/C++, XML, SQL, JSON, JavaScript, HTML, or any other plain text format. |
CodeGenerator360 | C# | Active | Tier | Database Schema | XML Schema | Stored Procedures, .NET DAL, C# ASP.NET Pages, Visual Studio 2010 Solution and Project Files |
CodeOnTime | C# | Active | Database Tables | Templates and Various XML configuration tables | C# ASP.NET | |
Cog | Python | Active[6] | Mixed | Any code | Java C# C++ C Perl Python Ruby TCL Javascript Fortran Lisp Scheme Cobol XSLT JSP PHP Yacc SQL XML System Configuration Files | |
C++ Middleware Writer | C++ | Active | DSL instance / Middle file | Include files | C++ marshalling code | |
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) |
EazyCode | C#, VB.Net | Active | Tier | Database schema | Templates | Application and Code in ASP.Net, ASP.Net MVC, C#, VB.Net, WPF, WCF Services, SQL Query, SQL Stored Procedure, BAL, DAL, POCO |
GenerateXY | Java | Active | Tier | User-defined Models | XML, CSV, Java, ... (extensible) | Any textual language, predefined modules for Java, HTML, XML |
generjee | Java | Passive | Tier | Online-editor, user-defined models | Full Java EE Application | |
GNU AutoGen | C | Active | Tier | Autogen definitions (lists of key-value pairs or hierarchical data arranged like C structs), Autogen templates (fixed output plus inline macros for conditional or repetitive emission of code blocks or evaluation of Bourne shell or Scheme expressions) | XML, CGI data | Output determined by template (any language or even plain text); additional support for emitting header guards, certain licenses, option parsers, and finite state machines in C |
GSL Universal Code Generator | C | Active | Tier | gsl script, xml models | Any textual language | |
gSOAP | C / C++ | WSDL specifications | C / C++ code that can be used to communicate with WebServices. XML with the definitions obtained. | |||
Iron Speed Designer | C# / VB.NET | Active | Tier | Database schema | CSS | ASP.NET (Full application, including C# code, VB code, XML, Stored Procedures, etc.) |
Isis | Java pojos | Active [7] | Mixed | Isis Java code: Domain Design | optionally JSON (for layout hints) | Java code: Apache Wicket JAX-RS DataNucleus Apache Shiro |
Jigy Generator | Java | Active | MVC | Just fill out a SIMPLE form | N/A | A Spring MVC Java Web Application Compatible with Either Eclipse or Netbeans Based on the User's Preferences |
Jostraca | Java | Active [8] | Tier | Any code | Java | Any code; Java, JSP |
JCodeBox | Java | Tier | Java | Java (Full Web Application) | ||
kiss! | C#, VB.Net, SQL | Active | Mixed | Database as Data Model | Templates | C#, VB.Net classes, SQL, Schema Information as comma separated values (*.cs, *.vb, *.sql, *.csv) |
LayerCake Generator .NET | C#, SMO API, T4 Templating | Active | Mixed | Microsoft SQL Server Database schema | Templates | Visual Studio Solution, SOA Architecture, Application Layers |
Linx | C# | Active | Tier | Process Design from Linx designer | - | .NET Process (dll) and Windows Service |
Microsoft Visual Studio LightSwitch | C# / VB.NET | Active | Tier | Database schema | Complete Silverlight application (Desktop or Web) | |
MinuteProject | Java code | Active; Passive | Mixed | Database WSDL | config, velocity files | Java code: ORM entities, DAO, Webservices, Full application with proven framework stack: JPA |
NoORM | Java | Active | Mixed | Database schema | Templates | Java classes (Persistence layer with proxy classes for database tables and views, DML code and services for stored procedures and declared queries with support for Oracle) |
OMS.Ice – T4 Text Template Generator | C# | Active | Mixed | T4 text template, C# or VB | C# partial classes | Any textual output such as C#, VB, C/C++, XML, or any other plain text format |
OutSystems Platform | .Net | Active | Tier | User defined models based on the OutSystems visual modelling language | Java, C#, Javascript, HTML5, CSS | ASP.Net and JEE |
PHPRunner | PHP/ASP/C#/VB.NET | Active | Tier | Database schema | PHP, ASPX, HTML, CSS, | PHP, ASP, ASP.NET (Full Web application, including C#, VB.NET, PHP, ASP code, HTML, Javascript, CSS, etc.) |
Pro*C | Inline | SQL in C | C | |||
Radarc Online | C#/Angular.js/Node.js | Active | Mixed | WYSIWYG UI/Data Layer Editor | Templates | User Interface Layer, Services Layer, Business Logic Layer, Data Access Layer, Database, IoC, Test... (Android, iOS, Windows Phone, Windows) |
Reegenerator | C#, VB.Net, XSD | Active | Mixed | User-defined Templates | Database, XSD, XML, C# or VB.Net Code | C#, VB.Net, SQL, Any other textual language |
ribosome | Ruby, JavaScript or Python | Active | Mixed | Any format that can be read by Ruby, JavaScript or Python | Code generation script in Ruby, JavaScript or Python | any text document(s) |
Scalagen | Scala | Passive | Tier | Database | Scala ORM code | |
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.) |
Stadium | C# | Passive&Active | Mixed | Web Application design using Stadium designer | Databases & SQL scripts | .NET Solution with C# sources, Bootstrap CSS, JQuery |
T4 | Passive | T4 Template/Text File | Any text format such as XML, XAML, C# files or just plain text files. | |||
TLGen | Java | Active | Mixed | Database schema (Oracle, MySQL, PostgreSQL), XML (domain model UML exported XML) | Import from UML domain model (XML), Import from DB | Java source classes (EJB3 persistence layer, data classes with interfaces. Session Beans, Entity Managers and Entity Bean source classes. Message Beans. Web Services (SOAP, REST). JUnit Test classes.). DB SQLs |
Umple | Java | Active | Tier | Java, C++, PHP, Ruby with embedded Umple code | Pure Umple code describing associations, patterns, state machines etc. | Java, C++, PHP, Ruby, ECcore, Umlet, Yuml, Textuml, JSON, Papyrus XMI |
Velocity apache | Java | Passive [9] | Tier | Any code | Java | Java |
X2X | C++ | Active | Mixed | Any textual format | CSV export from Excel-Sheet | Any textual language |
XACT X4MR | C | Passive | Language_A Source, Language_A-to-Language_B Transform Rules |
CHILL, CMS2, FORTRAN, COBOL, JOVIAL, PASCAL, PL/1, PLM86 | Compilable Language_B Source; Application_A Documentation; Application_B Documentation | |
XDocLet | Active | Munger | JavaDoc | EJB support beans | ||
ZumCoder/MDA | PHP | Passive | Mixed | XSD, DBML, Database Schema(Mysql,SqlServer,PostegreSQL,SQLite),HTML forms,PHP class and (ZML "ZumCoder Model Language", a XML define structure | Templates | Any textual language, depends upon your template code, you can write your own template to outputs the language of your preference |
References
- ^ http://www.xomega.net
- ^ http://www.jaxio.com/en
- ^ http://www.generjee.com
- ^ Swertz, Morris A.; de Brock, E. O. (Bert); van Hijum, Sacha A. F. T.; de Jong, Anne; Buist, Girbe; Baerends, Richard J. S.; Kok, Jan; Kuipers, Oscar P.; Jansen, Ritsert C. (2004). "Molecular Genetics Information System (MOLGENIS): alternatives in developing local experimental genomics databases". Bioinformatics. 20 (13): 2075–83. doi:10.1093/bioinformatics/bth206. PMID 15059831.
- ^ a b [1]
- ^ "Cog". Ned Batchelder. Retrieved 2015-02-23.
- ^ Isis does not generate any code, the metamodel is used only at runtime
- ^ [2] Archived 2007-10-24 at the Wayback Machine
- ^ "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 2014-01-24.