| Comparison of code generation toolsThis article compares variable metamodel code generation tools[clarification needed]. Fixed metamodel code generation tools, such as UML tools, are excluded (see List of UML tools). Many of the links on this page are broken or removed since the descriptions of these tools do not meet the standards of significance for Wikipedia. Technical|
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. | ZumCoder/MDA | PHP | Passive[11] | Mixed | XSD, DBML, Database Schema(Mysql,SqlServer,PostegreSQL,SQ Lite),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 | 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) | GenerateXY | Java | Active | Tier | User-defined Models | XML, CSV, Java, ... (extensible) | Any textual language, predefined modules for Java, HTML, XML | actifsource | Java | Active | Tier | User-defined Models | Import from UML, Ecore. | Any textual language. | Agile Platform | .Net | Active | Tier | User defined models based on the OutSystems visual modeling language | Java, C#, Javascript | ASP.Net and JEE | 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 | Code4Green | C#, VB.net, ASP.net, SharePoint, SQL, JAVA, classical ASP, HTML, XML | Active[12] | 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. | 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 | Cog | Python | Active[13] | 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 | 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 | 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) | 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.) | Jostraca | Java | Active [14] | Tier | Any code | Java | Any code; Java, JSP | JCodeBox | Java | | Tier | Java | | Java (Full Web Application) | Microsoft Visual Studio LightSwitch | C# / VB.NET | Active | Tier | Database schema | | Complete Silverlight application (Desktop or Web) | MyGeneration | | | | | | .NET | 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 | 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 | 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. | Umple | Java | Active | Tier | Java, PHP, Ruby with embedded Umple code | Pure Umple code describing associations, patterns, state machines etc. | Java, PHP, Ruby, ECcore, Umlet, Yuml, Textuml, JSON, Papyrus XMI | Appsroller Web Form Generator | Javascript | Active | Web Tier | Any code | Javascript | | Velocity apache | Java | Passive [15] | Tier | Any code | Java | Java | XDocLet | | Active[16] | Munger | JavaDoc | | EJB support beans | 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 |
References- ^ GNU/Linux, BSD, Apple's OS/X, SVR4-5, HPUX, SCO OpenServer and Solaris. It is expected that it will work on any reasonably modern UNIX system with an ANSI-compliant C compiler. It also runs under WinNT, provided you have CygWin and Guile loaded.
- ^ Great tutorial
- ^ Version History
- ^ Welcome | Jinja2 (The Python Template Engine)
- ^ http://www.kid-templating.org
- ^ 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. et al. (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.
- ^ Very fast in-process T4 text template generator
- ^ Apache Velocity Site – The Apache Velocity Project
- ^ "Active generators build code that you should not modify or should only modify in specifically marked sections which are held safe during a re-generation cycle... Passive generators build code once and then it’s up to you to maintain the code long-run. "
- ^ Type based on input: Code munger, Inline code expander, Mixed code generator, Partial class generator, Tier generator
- ^ [1]
- ^ [2]
- ^ The output area for each generator (between the]]] and [[[end]]] lines) is deleted, and the output of running the Python code is inserted in its place.
- ^ Jostraca should be used primarily for active code generation.
- ^ 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.
- ^ MockDoclet is the base of XDocLet"MockDoclet is an active code generation tool for automatically generating mock objects"
|
| |