The goal of MetaGenesis is to help individuals and teams, build web applications quickly and easily.
MetaGenesis is a "Meta-Framework" or a "Meta Code" Cloud Development Environment. It offers advantages over traditional IDEs, "No/Low Code" application builders, "vibe coders" and AI assisted coding. MetaGenesis targets a 10x productivity increase over traditional IDEs while providing the development team more control than no-code or AI application builders.
A Meta Code CDE is a Cloud Development Environment where:
MetaGenesis is a Cloud based, application development environment that allows teams, including product managers, UI/UX designers, and software developers to collaborate in building web applications. It is a forms and AI based web application that helps define, document and generate web applications. MetaGenesis accelerates software development, while still allowing programmers the ability to choose the technology and to easily modify and maintain the application.
In addition to standard development functionality, MetaGenesis provides tools to extract meta-data from existing code. This allow the existing code to be imported, and the extracted data to help generate a new application.
A key advantage MetaGenesis provides is: it allows the developers to drive the technology stack, not the application builder.
Click Here to see the main similarities and differences between a Meta Code CDE and a No/Low Code IDE.
MetaGenesis provides push-of-a-button iteration.MetaGenesis and the other development tools provide the same coverage within a project, meaning they assist in generating the code, testing and deployment. MetaGenesis provides additional application documentation because every component is documented. Every form, form field, report, query, list or transform is documented. This level of documentation is often not done or done poorly with the other development approaches.
MetaGenesis offers several ways of using it. (Conventional IDE's are strictly code based and No-Code platforms don't support user coding.) MetaGenesis offers a mix of forms and conventional code editing. For instance it can automatically generate the code for a form and then the developer can edit it with the built-in HTML editor. In addition it will include
All of these interfaces use existing components/templates to build the application.
Traditional IDEs provide a desktop application with a file tree down the left side and a window to edit the code. IDE features include language support, including code formatting and code navigation. The cloud version moves this to the cloud, with essentially the same features. There is little to no connection between the application layers code. For instance if your application gathers a value, stores it and reports it, this requires the developer to edit the HTML, the server-side business code and the persistence code.
No-Code IDEs again provide a desktop application that feels more like a drag and drop graphic editor. The code is gone and the app builder (aka developer) drags and drops components. Much of the development work is forms based, i.e. entering field names and constraints.
MetaGenesis is a browser web application which provides the speed and ease of development provided by no-code platforms and the control provided by traditional development. It provides a forms based interface for the bulk of the development and traditional code editors when needed. Like no-code platforms MetaGenesis provides the server side code to build most application. Unlike no-code platforms most of the code is available to be reviewed and edited by the developer.
MetaGenesis is about Functional or Requirements based Application Development. It captures the requirements creating a metadata set that can be used to generate the server side of the application and potentially part of the client side.
Metal (Meta Language) is intended to be very, very... simple. Essentially it is variables and about a dozen web components or directives.
Directives fall into two categories:
Directives are coded similar to HTML elements, starting with <mg- and ending with ;/>.
They include a type (see below), a name and optionally a "URL style" parameter string.
For example: <mg-FORM:formName?formID=$formID;&firstName=$firstName;;/>
The include directives are:
The execute directives are:
Some of the directives are self described (INCLUDE, SET, LIST) and do not require any additional information to be processed by MetalSrv.
Many of the directives are supported by MetaGenie functionality that allows users to provide more code or details on how the directive should be processed. For instance:
The directive type and name refers to information the developer has specified in the MetaGenie application.
A typical HTML/Metal example:
<div>
<mg-QUERY:myQueryName?myID=$User.myID;;/>
<mg-REPORT:myReportName;/>
</div>
Using MetaGenie (the MetaGenesis web application) the "developer" would add the query to the meta data specifying (via a form) the database, table, conditions, operation (SELECT, COUNT, DELETE), limit, etc. Then the user would define a report which is simply the HTML/Metal to present the query results.
MetalSrv (Metal Server or Metal Template Engine) is a target app runtime component that acts to replace the Metal variables and executes the directives. It is comparable in may respects to Apache Velocity. For a more detailed discussion see MetalSrv vs Apache Velocity
MetalQSrv (Metal Query Server) is a target app runtime component that supports client calls to the server side. The client API is the same as the server side API, but wrapped in a small bit of JavaScript to send it to the server. For example:
MetaGenie is the web/SaaS development application that is used to manage both the metadata and the code. Metadata management is forms based and code management is through an online code editor.
MetaGenie functional highlights:
MetaSQL is a OO SQL Java library that provides a Java interface to SQL databases.
It includes classes for connections, credentials, databases, pools, queries and generates custom table classes.
MetaSQL supports NoSQL in that SQL tables can have columns that are custom Java classes (documents).
What sets MetaSQL apart from other persistence libraries is the business/table classes are inherently persistent.
Meaning they all have instance methods like insert(), update(), select(), delete(), persists() and static/table methods like SELECT(sqlQuery), COUNT(condition), DELETE(condition).
more info...
Forms Import: MetaGenie support importing forms from legacy applications. Point MetaGenie at the website and it will scrape the site and extract both the form metadata and the template.
SQL Import: Point MetaGenie at a SQL database and it will extract the metadata for all the tables. It will then generate a Java class for each table providing Java access to the legacy database.