Comparison of code generation tools

Product Creator Platform First public release Latest stable version Software license
A Xomega.Net plugin for Visual Studio[1]Xomega.NetWindows20106.6 / 2015-10-11Proprietary
AcceleoObeocross-platform (Java / Eclipse)20063.5.0 / 2014-06-10Eclipse Public
AcceleratorSurround TechnologiesWindows, Web, Mobile (C# / .NET)20076.2Proprietary
actifsourceactifsource GmbHcross-platform (Java / Eclipse) 4.6.3 / 2011-08-09Proprietary
Apeel PHP Code Generator ProCity Business LogicWindows200111.03b / 2011-09-04Proprietary
AtomWeaverIsomerisWindows20101.3.1 / 2012-02-20Proprietary
CelerioJaxio[2]cross-platform (Java)20154.0.2 / 2015-11-16Apache License 2.0
Click2Codeonlinewebtechwindows20131.0 / 2013-09-20Proprietary
Code4GreenCode4GreenWeb - Free Online20091.0Proprietary
Code-g flexible pattern based code generatorAbstractmetaJava 0.30 / 2012-05-20Apache License 2.0
CodeBhagatCodeBhagat LLCWindows (C# / .NET)20141.0 / 2014Proprietary
CodeCookerCodeCookerWeb - Free Online20140.5.1 / 2014-07-02Proprietary
CodeFluent EntitiesSoftFluentWindows2005840 - 2016Proprietary
CodeGenerator360 Windows (Online Tool)2011 Proprietary
Code generation plugin for Astah UML CommunityJosé Carrenocross-platform20141.3.0_GA / 2014-05-08Free
Code OnTimeCode On Time LLCWindows (c# / .NET)  Proprietary and Subscription
CodeSmith GeneratorCodeSmith ToolsWindows20047.1.0 / 2015-08-10Proprietary
CogNed Batcheldercross-platform (Python) 2.1MIT
DMS Software Reengineering ToolkitSemantic DesignsWindows20012.0Proprietary
DRAKONStepan Mitkincross-platform (Tcl/Tk)20111.27 / 2016-03-10Free
EntiProEntiCraftWindows  Proprietary
EazyCodeDatacraftWindows20047.1 / 2014-09-08Proprietary
Flowchart to CodeAthekWindows20131.0 / 2013-01-10Proprietary
GenerateXYDotXYWindows 5.1Proprietary
generjee[3]Alexander Derksencross-platform (Java)20151.0Proprietary
GenexusGenexusCross Platform (multiple)1991-2016Evolution 3Proprietary
Genshi (templating language)Edgewall Softwarecross-platform (Python)2006-08-030.5.1 / 2008-07-09 
GSL Universal Code GeneratoriMatrixcross-platform Jan 30, 2015GPLv3+
Iron Speed DesignerIron Speed, Inc.Windows20019.2.0 / 2013-12-18Proprietary
JCodeBox cross-platform (Java)  Proprietary
Jigy GeneratorGetJigyEclipse & Netbeans20141.0.1 / 2014-10-17Proprietary
Jinja (Template engine)Pocoo teamcross-platform (Python) 2.1.1BSD
JPA ModelerGaurav Guptacross-platform (Java)20141.7 / 2016-06-07Apache License 2.0
Kid (templating language)Ryan Tomaykocross-platform (Python) 0.9.6 / 2006-12-20 
kiss! C#, VB.Net and SQL Script GeneratorCove Bay Software LimitedWindows20134.0.0.0 / 2015-05-05Proprietary
LayerCake Generator .NETDelphin HabierreWindows (C# / .NET)20133.7.1 / 2015-09-06Free / OpenSource
Linx 5 betaTwenty57Windows .NET 4.5 C#20085Proprietary
MakoMichael Bayercross-platform (Python) 0.2.3 / 2008-05-12MIT
M-Powermrccross-platform (Java)2004 Proprietary
Microsoft Visual Studio LightSwitchMicrosoftWindows20112011-07-26Proprietary
MinuteProject (Velocity, DB, WSDL)Florian Adlercross-platform (Java)20040.8.3 / 2013-06-05Apache License 2.0,GPL
MOLGENISMorris Swertz[4]cross-platform (Java)20043.3LGPLv3
NoORMUlf Pietruschkacross-platform (Java)20131.0.0 / 2013-11-19Apache License 2.0
OMS.Ice – T4 Text Template GeneratorOlaf MeyerWindows ( .NET )20121.4 / 2012-05-30Eclipse Public
OpenMDX cross-platform (Java)2004-01-282.4 / 2009-03-26BSD
OutSystems PlatformOutSystemscross-platform (.Net, Java)20019.0 / 2014-09-24Proprietary
Application Builderprojecz.comPHP20141.0 / 2014-03-20Proprietary
PHPRunnerXlinesoftWindows20035.3 / 2010-10-15Proprietary
Radarc OnlineIcineticAndroid, iOS, Windows (C#/XAML, Java, Objective C)20121.2.0 / 2014-11-04Proprietary
ReegeneratorKodeo LimitedWindows (C#, VB.Net)20102.0.5 / 2014-01-26Proprietary
ribosomeMartin Sustrikcross-platform (Ruby, JavaScript or Python)20141.15 / 2015-07-08MIT
StadiumTwenty57 (http://stadium.twenty57.com)Windows20052015Proprietary
T4MicrosoftWindows20052010Proprietary
Telosys ToolsOW2cross-platform (Java : Eclipse)20112.1.0 / 2014-04-02Eclipse Public License
UmpleUniversity of Ottawacross-platform (Java / Eclipse)20101.23.0 / 2015-12-21MIT
Velocity apacheApache Software Foundationcross-platform (Java) 1.6.2 / 2009-03-19Apache License 2.0
X2XTriple-S GmbHWindows2005X2X-2015Proprietary
XACT X4MRApplied Conversion Technologies IncVirtual DOS19943 / 1997-08-01Proprietary
ZumCoder MDD/MDA/ Template BasedAgen Consultoria – Adilson de ALmeida PedroWeb – Online 1.0Proprietary

Technical[edit]

Name Implementation Language Active; Passive [5] Model[5] Typical input Other input Typical output
A Xomega.Net plugin for Visual StudioC#, XSL, XSDActiveMixedUser-defined models, XMLTemplates, Import from DBUser Interface (HTML5, ASP.NET, WPF, Silverlight), Service Layer (REST, WCF), Business Layer (EF), DAL, DB scripts, Config files, VS project files, Xomega Framework objects
AcceleoJavaActiveTierUser-defined EMF based models (UML, Ecore, user defined metamodels)Any EMF based input (Xtext DSLs, GMF graphical models, etc.)Any textual language.
AcceleratorC#ActiveTierDatabase schemaXML Schema, Templates and configuration tablesC#, WPF, ASP.NET, MVC, ASP.NET, WCF, WebServices(complete application)
actifsourceJavaActiveTierUser-defined ModelsImport from UML, Ecore.Any textual language.
any<code/>JavaActiveTierUser-defined modelsCustom 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 GeneratorJavascriptActiveWeb TierAny codeJavascript 
Apeel PHP Code Generator ProDelphiPassiveTierDatabase schemaPHP, HTML, CSSFull Application – PHP, CSS, Apeel Open Source Framework.
AtomWeaverC++, LuaActiveTierTree models built using a cooperative template system, based on the ABSE modeling approachCode in any languageAny textual language
CelerioJavaActiveTierDatabase schema Convention over Configuration and ConfigurationCustom templates (velocity)Any textual language but traditionally Java/Html/Xml/etc.
Click2Code for windowsVB6ActiveMixedUser-defined TemplatesTemplatesUser Interface
Code4GreenC#, VB.net, ASP.net, SharePoint, SQL, JAVA, classical ASP, HTML, XMLActiveTierCode4Green - an online ultimate code generation tool with a green cause of plantation of trees on each 10,000 LOCCode in C#, VB.net, ASP.net, SharePoint, SQL, JAVA, classical ASP, HTML, XMLOutput determined by the selected language type. It is a plain text.
CodeCookerJavascriptActiveMixedUML C#, C++ and CoffeeScript classes
CodeFluent EntitiesC#ActiveMixedUser-defined models, Database schemaTemplates.NET classes, Persistence layers (Microsoft SQL ServerOracle,PostgreSQLMySQL), WCF Services, ASP .NET websites...
CodeSmith GeneratorC#, VB.NET, JavaScriptActiveMixedDatabase 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...TemplatesAny textual output such as C#, VB.NET, C/C++, XML, SQL, JSON, JavaScript, HTML, or any other plain text format.
CodeGenerator360C#ActiveTierDatabase SchemaXML SchemaStored Procedures, .NET DAL, C# ASP.NET Pages, Visual Studio 2010 Solution and Project Files
CodeOnTimeC#Active Database TablesTemplates and Various XML configuration tablesC# ASP.NET
CogPythonActive[6]MixedAny codeJava C# C++ C Perl Python Ruby TCL Javascript Fortran Lisp Scheme Cobol XSLT JSP PHP Yacc SQL XML System Configuration Files
C++ Middleware WriterC++Active DSL instance / Middle fileInclude filesC++ marshalling code
DMS Software Reengineering ToolkitSeveral code generation DSLs (attribute grammars, tree patterns, source-to-source rewrites)ActiveDSLs represented as abstract syntaxtreesDSL instanceWell-formed output language code fragmentsAny programming language (proven for C, C++, Java, C#, PHP, COBOL)
DRAKONTcl/TkActiveTierUser-defined flowchart model drawn in the editorFlowchart in SQLite database in documented structureJava, Go, D, C#, C/C++ (with Qt support), Python, Tcl, Javascript, Lua, Erlang, AutoHotkey, Verilog. Extensible.
EazyCodeC#, VB.NetActiveTierDatabase schemaTemplatesApplication and Code in ASP.Net, ASP.Net MVC, C#, VB.Net, WPF, WCF Services, SQL Query, SQL Stored Procedure, BAL, DAL, POCO
GenerateXYJavaActiveTierUser-defined ModelsXML, CSV, Java, ... (extensible)Any textual language, predefined modules for Java, HTML, XML
generjeeJavaPassiveTierOnline-editor, user-defined models Full Java EE Application
GenexusMultiple languagesActiveCompeniumComplete application generator including desktop, mobile (iOS, Android, Windows) cloud etc.KB, Libraries, iOS, Android and other library.From simple to complex applications, with business objects, rules, screen, knowledge base, with db and code choices (e.g. C#, Java, Ruby, etc. plus management/generation. Also reverse engineering for legacy upgrades.
GNU AutoGenCActiveTierAutogen definitions (lists of key-value pairsor 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 orScheme expressions)XML, CGI dataOutput determined by template (any language or even plain text); additional support for emitting header guards, certain licenses, option parsers, andfinite state machines in C
GSL Universal Code GeneratorCActiveTiergsl script, xml models Any textual language
gSOAPC / C++  WSDL specifications C / C++ code that can be used to communicate with WebServices. XML with the definitions obtained.
Iron Speed DesignerC# / VB.NETActiveTierDatabase schemaCSSASP.NET (Full application, including C# code, VB code, XML, Stored Procedures, etc.)
IsisJava pojosActive [7]MixedIsis Java code: Domain Designoptionally JSON (for layout hints)Java code: Apache Wicket JAX-RSDataNucleus Apache Shiro
Jigy GeneratorJavaActiveMVCJust fill out a SIMPLE formN/AA Spring MVC Java Web Application Compatible with Either Eclipse or Netbeans Based on the User's Preferences
JostracaJavaActive [8]TierAny codeJavaAny code; Java, JSP
JCodeBoxJava TierJava Java (Full Web Application)
kiss!C#, VB.Net, SQLActiveMixedDatabase as Data ModelTemplatesC#, VB.Net classes, SQL, Schema Information as comma separated values (*.cs, *.vb, *.sql, *.csv)
LayerCake Generator .NETC#, SMO API, T4 TemplatingActiveMixedMicrosoft SQL Server Database schemaTemplatesVisual Studio Solution, SOA Architecture, Application Layers
LinxC#ActiveTierProcess Design from Linx designer-.NET Process (dll) and Windows Service
Microsoft Visual Studio LightSwitchC# / VB.NETActiveTierDatabase schema Complete Silverlight application (Desktop or Web)
MinuteProjectJava codeActive; PassiveMixedDatabase WSDLconfig, velocity filesJava code: ORM entities, DAO, Webservices, Full application with proven framework stack: JPA
NoORMJavaActiveMixedDatabase schemaTemplatesJava 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 GeneratorC#ActiveMixedT4 text template, C# or VBC# partial classesAny textual output such as C#, VB, C/C++, XML, or any other plain text format
OutSystems Platform.NetActiveTierUser defined models based on the OutSystems visual modelling languageJava, C#, Javascript, HTML5, CSSASP.Net and JEE
PHPRunnerPHP/ASP/C#/VB.NETActiveTierDatabase schemaPHP, ASPX, HTML, CSS,PHP, ASP, ASP.NET (Full Web application, including C#, VB.NET, PHP, ASP code, HTML, Javascript, CSS, etc.)
Pro*C  InlineSQL in C C
Radarc OnlineC#/Angular.js/Node.jsActiveMixedWYSIWYG UI/Data Layer EditorTemplatesUser Interface Layer, Services Layer, Business Logic Layer, Data Access Layer, Database, IoC, Test... (Android, iOS, Windows Phone, Windows)
ReegeneratorC#, VB.Net, XSDActiveMixedUser-defined TemplatesDatabase, XSD, XML, C# or VB.Net CodeC#, VB.Net, SQL, Any other textual language
ribosomeRuby, JavaScript or PythonActiveMixedAny format that can be read by Ruby, JavaScript or PythonCode generation script in Ruby, JavaScript or Pythonany text document(s)
ScalagenScalaPassiveTierDatabase Scala ORM code
Spring RooJavaActiveTierJava and automatically-introspected project metadataShell commandsJava (Full Web Application including Java source, AspectJ source, XML, JSP, Spring application contexts, build tools, property files etc.)
StadiumC#Passive&ActiveMixedWeb Application design using Stadium designerDatabases & SQL scripts.NET Solution with C# sources, Bootstrap CSS, JQuery
T4 Passive T4 Template/Text File Any text format such as XML,XAMLC# files or just plain text files.
TLGenJavaActiveMixedDatabase schema (Oracle, MySQL, PostgreSQL), XML (domain model UML exported XML)Import from UML domain model (XML), Import from DBJava 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
UmpleJavaActiveTierJava, C++, PHP, Ruby with embedded Umple codePure Umple code describing associations, patterns, state machines etc.Java, C++, PHP, Ruby, ECcore, Umlet, Yuml, Textuml, JSON, Papyrus XMI
Velocity apacheJavaPassive [9]TierAny codeJavaJava
X2XC++ActiveMixedAny textual formatCSV export from Excel-SheetAny textual language
XACT X4MRCPassive Language_A Source,
Language_A-to-Language_B Transform Rules
CHILL, CMS2, FORTRAN, COBOL, JOVIAL, PASCAL, PL/1, PLM86Compilable Language_B Source;
Application_A Documentation;
Application_B Documentation
XDocLet ActiveMungerJavaDoc EJB support beans
ZumCoder/MDAPHPPassiveMixedXSD, DBML, Database Schema(Mysql,SqlServer,PostegreSQL,SQLite),HTML forms,PHP class and (ZML "ZumCoder Model Language", a XML define structureTemplatesAny textual language, depends upon your template code, you can write your own template to outputs the language of your preference

References[edit]

  1. Jump up^ http://www.xomega.net
  2. Jump up^ http://www.jaxio.com/en
  3. Jump up^ http://www.generjee.com
  4. Jump up^ 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/bth206PMID 15059831.
  5. Jump up to:a b [1]
  6. Jump up^ "Cog". Ned Batchelder. Retrieved 2015-02-23.
  7. Jump up^ Isis does not generate any code, the metamodel is used only at runtime
  8. Jump up^ [2] Archived October 24, 2007, at the Wayback Machine.
  9. Jump up^ "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.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值