13 July 2017 | Model + Software architect = Meta programming

Let’s say you have a model of your next application. And you have a software architecture defined for your applications. What if you could combine the model with the software architecture and generate the basic application at the blink of an eye? It would give you great flexibility and speeds up the creation of the base application, so you can focus on the business logic. At MetaFactory we call it meta programming.

In this meetup session on 13 July 2017 we are exploring the art of meta programming. Based on handmade meta code we are generating a Java Spring Boot with Angular application. By changing the meta code, either model or software architect, we alter the generated Java Spring Boot and Angular code.

Metrics using MetaFactory for in-house projects

In this article I want to share the metrics of two systems we developed with MetaFactory, based on the same architecture. For the IoT back office application, we had 2.000 lines of business logic, 1.000 lines of enriched data model description and 7.100 lines of coding instructions generating 39.000 lines of Java and AngularJS code. The event application contains approximately 3.000 lines of business logic and the enriched data model consists of 2.000 lines. We could reuse 85 % of the coding instructions of the IoT back office application. Next we had to develop approx. 775 lines of specific coding instructions. The application contains about 43.000 lines (Java, Javascript, html and json included).

The new MetaFactory IntelliJ plugin

At Metafactory we are using the MetaFactory tool continuously for coding our projects. Therefore we think as critically as anyone when it comes to identifying any nuisance that might stand in your way of smooth development. The continuous switching windows between IDE and the MetaFactory application when generating the code is one of those issues. Or ‘was’, because MetaFactory has now been extended with an IntelliJ IDE plugin! This allows you to generate your entire project (or a buildset of your code instructions) from within IntelliJ and view all the debug information in a run window.

Code generator quadrant

Code generators come in many flavors. In this article a code generator quadrant is presented based on the black-box versus white-box x-axis and the non developers versus developers y-axis. As there is no code generator that suits all purposes optimally, choosing the best one is a matter of properly anticipating its application and actual user.

Angular 2 Tour of Heroes and MetaFactory

As I was curious about the new Angular 2 with TypeScript I worked myself through the Tour of Heroes tutorial. The first thing I noticed is how modular Angular 2 actually is. Angular has a base application and a module ‘Hero’ that defines what we can do with our heroes. Now imagine that we would want to extend the functionality of our application by introducing a list of ‘Losers’ that can be interacted with in the same way as with our heroes.

How to write custom generated code?

MetaFactory is a tool that generates code. The software developer writes patterns in which the code to be generated is defined. The patterns are applied to the domain model.

In this article I touch several software developer preconceptions against code generation. Are those preconceptions still valid when using MetaFactory, and if not how does MetaFactory hand you the possibilities to overcome these general well known code generation shortcomings?

Making automated testing even more intelligent

Working in a software development project becomes increasingly interesting when the result that you’ve achieved as a team gradually approaches the final requirements. However, while delivering new features is a step forward in progress it is also of vital importance to verify that existing functionality keeps working as it should. Unfortunately, a speedy detection of breaking functionality requires extensive and frequent testing of all possible paths in the application. This process is a time consuming and monotonous task whereas most developers would rather design new functionality.

MetaFactory in SME innovation top 100

MetaFactory is one of the SME companies in the innovation top 100 of the Dutch Chamber of Commerce! A quote form the website of the Chamber of Commerce: MetaFactory is a software factory that assists developers. So true. Check the link (in Dutch) for the complete text of our nomination and share and like us.

Jan Hartman joined MetaFactory as SDA specialist

As of July 1st, 2016 Jan Hartman joined MetaFactory as a SDA specialist. Jan is going to explore the possibilities of using MetaFactory for industrial automation projects.

IoT Tech Community Meetup

Jack van Praag of MetaFactory is one of the speakers during the first IoT Tech Community Meetup. Location: Reshift office, Richard Holkade 8, Haarlem. Start at 5 PM

For more information and subscription, see