g9 is simply faster; As a Low-Code development platform, g9 follows a domain driven methodology with automatic code generation and provides visual UI design tools. Domain experts can concentrate on the domain model which can be transformed into code by the g9 generators. Each element of the domain model can be used to represent multiple lines of code and the included g9 libraries eliminate the need to code many application functions. The more complex the domain model, the more code can be generated by the generators reducing the need to write boilerplate code. As the model evolves, code can be regenerated without affecting any tailored code which promotes an agile development environment for faster development cycles.

The use of automated generators ensures that there are less errors and that code is consistent. Written in Xtend, the g9 generators are very readable and more concise than straight Java (although generators can be written in Java). Also, generators can be copied to create new variants or they can be modified to adhere to company standards and adapt best practices. The generators also contain many hooks for overriding default runtime functionality or for creating new functionality. As your product evolves and personnel changes, code can maintain it's consistency.
By focusing on the domain knowledge rather than on the technology, domain experts can model their business requirements and push down changes by regenerating code. The domain models supported include Enterprise Architect and Eclipse Modeling Framework Ecore/Xcore. Also supported is using Java source code with annotations to describe the domain model. The domain experts can control the domain model which typically includes all static modeling elements (classes, associations, attributes, enumerations, generalizations, etc..) as well as the UI models using a supplied visual tool for UI development. A database model may also be defined as well as web services. As the business requirements change, they can simply modify their domain model and regenerate the code using existing, modified or new generators.
The domain model is not tied to any specific target environment. As technology changes, new generators can be created to take advantage of the technology and there is no need to modify the domain model. Also, generators can be adapted to work for different platforms. More recent generators available in g9 include RESTful web services and React (a javascript library for building UIs) along with Redux. An important benefit to note is the use of 'Object Selections' which are subsets of classes used extensively in g9 for generating the binding code between the UI and the domain model and used for web services. This abstraction helps to separate the technology from the binding definitions.
Written as a series of Eclipse plugins, g9 works seamlessly with the Java Development Tools project for the development of Java applications. It also integrates with the Eclipse team tools including version control and compare functionality. Adding the Xtend language plug-ins allows you to more easily view and create Xtend based generators and the EMF project allows you to work on an Ecore/Xcore domain model. Although the g9 generators are currently designed to produce Java code, generators can be developed to produce code in other Eclipse supported languages. With its tight integration, there are many benefits of using the Eclipse universal tool platform.
The domain model serves as the documentation and must be current since it drives the code generation process. There are also several generators that provide reports based on the models. As personnel changes, developers and domain experts can quickly get up to speed.