Comparison of code generation tools
Product | Creator | Platform | First public release | Latest stable version | Software license |
---|---|---|---|---|---|
Acceleo | Obeo | cross-platform (Java / Eclipse) | 2006 | 3.5.0 / 2014-06-10 | Eclipse Public |
Accelerator | Surround Technologies | Windows (C# / .NET) | 2007 | 3.0 | 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 |
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 | 805 - 2015 | 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 | 6.5.3 / 11-25-2012 | 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 | |
Genshi (templating language) | Edgewall Software | cross-platform (Python) | 2006-08-03 | 0.5.1 / 2008-07-09 | |
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 | 1.0.1.0 / 2014-01-12 | Proprietary |
LayerCake Generator .NET | Delphin Habierre | Windows (C# / .NET) | 2013 | 3.6.0 / 2015-04-19 | 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[1] | cross-platform (Java) | 2004 | 3.3 | LGPLv3 |
NoORM | Ulf Pietruschka | cross-platform (Java) | 2013 | 1.0.0 / 2013-11-19 | Apache License 2.0 |
OfMS.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 | Windows | 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.13 / 2015-03-01 | MIT |
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.17 / 2013-07-05 | 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-2014 | Proprietary |
XACT X4MR | Applied Conversion Technologies Inc | Virtual DOS | 1994 | 3 / 1997-08-01 | Proprietary |
Xomega.Net for Visual Studio | Xomega.Net | Windows | 2010 | 4.0 / 2013-06-01 | Proprietary |
ZumCoder MDD/MDA/ Template Based | Agen Consultoria – Adilson de ALmeida Pedro | Web – Online | 1.0 | Proprietary |
Technical
Name | Implementation Language | Active; Passive [2] | Model[2] | 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. |
Accelerator | C# | Active | Tier | Database schema | XML Schema, Templates and configuration tables | C#, WPF, Silverlight, 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 |
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[3] | 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 |
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 |
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 [4] | 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 [5] | 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 | 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.) |
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, PostgresSQL), 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 [6] | 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 | ||
for Visual Studio | C#, XSL, XSD | Active | Mixed | User-defined models, XML | Templates, Import from DB | User Interface (ASP.NET, WPF, Silverlight), Service Layer (WCF), Business Layer (EF), DAL, DB scripts, Config files, VS project files, Xomega Framework objects |
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
- ↑ 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.
- ↑ 2.0 2.1
- ↑ "Cog". Ned Batchelder. Retrieved 2015-02-23.
- ↑ Isis does not generate any code, the metamodel is used only at runtime
- ↑
- ↑ "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.