Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Comparison of code generation tools
List article

List of tools

ProductCreatorPlatformFirst public releaseLatest stable versionDate of the latest stable versionSoftware license
AcceleoObeocross-platform (Java / Eclipse)20063.7.72018-12-04Eclipse Public
actifsourceactifsource GmbHcross-platform (Java / Eclipse)10.12.02021-02-22Proprietary
DMS Software Reengineering ToolkitSemantic DesignsWindows20012.0Proprietary
DRAKONStepan Mitkincross-platform (Tcl/Tk)20111.272016-03-10Free
GeneXusGeneXusCross Platform (multiple)1991v17Proprietary
Genshi (templating language)Edgewall Softwarecross-platform (Python)2006-08-030.5.12008-07-09
Jinja (Template engine)Pocoo teamcross-platform (Python)2.1.1BSD
Kid (templating language)Ryan Tomaykocross-platform (Python)0.9.62006-12-20
MakoMichael Bayercross-platform (Python)1.1.22020-03-01MIT License
MATLABThe MathWorks, Inc.Windows, macOS, Linux19849.52018-09-12Proprietary
M-Powermrccross-platform (Java)2004Proprietary
Microsoft Visual Studio LightSwitchMicrosoftWindows20112011-07-26Proprietary
OpenMDXcross-platform (Java)2004-01-282.42009-03-26BSD
ScriptcaseScriptcase Corp.PHP Unix, Linux, Windows, iOS20009.72022-04-13Proprietary
T4MicrosoftWindows20052010MIT License
UmpleUniversity of Ottawacross-platform (Java)20101.35.02024-10-11MIT License
Velocity apacheApache Software Foundationcross-platform (Java)1.6.22009-03-19Apache License 2.0
WaveMakerWaveMaker Inc.cross platform (aPaaS)200310.0.3Proprietary

Technical features

NameImplementation LanguageActive; Passive 1Model2Typical inputOther inputTypical output
AcceleoJavaActiveTierUser-defined EMF based models (UML, Ecore, user defined metamodels)Any EMF based input (Xtext DSLs, GMF graphical models, etc.)Any textual language.
actifsourceJavaActiveTierUser-defined ModelsImport from UML, Ecore.Any textual language.
DMS Software Reengineering ToolkitSeveral code generation DSLs (attribute grammars, tree patterns, source-to-source rewrites)ActiveDSLs represented as abstract syntax treesDSL instanceWell-formed output language code fragmentsAny programming language (proven for C, C++, Java, C#, PHP, COBOL)
gSOAPC / C++WSDL specificationsC / C++ code that can be used to communicate with WebServices. XML with the definitions obtained.
Microsoft Visual Studio LightSwitchC# / VB.NETActiveTierDatabase schemaComplete Silverlight application (Desktop or Web)
Pro*CInlineSQL in CC
ScriptcasePHP, JavaScriptActiveTierComplete application (Web/Mobile) and build or use the database schemaPHP, 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 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.)
T4PassiveT4 Template/Text FileAny text format such as XML, XAML, C# files or just plain text files.
UmpleUmple, Java, Javascript, PHPActiveTierUmple code embedding one or more of Java, Python, C++, PHP or RubyPure Umple code describing associations, patterns, state machines, etc.Java, Python, C++, PHP, Ruby, ECcore, Umlet, Yuml, Textuml, JSON, Papyrus XMI, USE, NuXMV, Alloy
Velocity apacheJavaPassive 3TierTemplatesJava driver codeAny text
Yii2 GiiPHPActiveTierDatabase schema, user input, source codeSkeleton application, CRUD applications

References

  1. "Code Generation Network - Frequently Asked Questions". www.codegeneration.net. Archived from the original on 24 October 2007. Retrieved 15 January 2022. https://web.archive.org/web/20071024163645/http://www.codegeneration.net/tiki-index.php?page=FrequentlyAskedQuestions

  2. "Code Generation Network - Frequently Asked Questions". www.codegeneration.net. Archived from the original on 24 October 2007. Retrieved 15 January 2022. https://web.archive.org/web/20071024163645/http://www.codegeneration.net/tiki-index.php?page=FrequentlyAskedQuestions

  3. "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. http://my.safaribooksonline.com/0131472208/ch06lev1sec2