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

  1. 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. 2.0 2.1
  3. "Cog". Ned Batchelder. Retrieved 2015-02-23.
  4. Isis does not generate any code, the metamodel is used only at runtime
  5. "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.