In two weeks time, I will be presenting at the Javascript track of the The Developers’ Conference (or TDC), a regional developer-centric conference. The presentation is titled: “Developing Business Applications on the MEAN Stack Using Model-Driven Development”.
The goal is to show how, from a model that defines the entities, attributes, relationships, states, queries, and actions for some business domain, you can generate a complete (i.e. including behavior) Javascript application that runs on the MEAN stack (which stands for MongoDB, Express, AngularJS, and Node.js). One benefit is that you get to use the shiny new toy of the day and yet remain able to move on to different stacks in the future if (read: ‘when’) needed. Another is that you get clear separation between business and technology, whose virtues I extolled in the past.
The presentation is on October 16. That leaves me with nearly two weeks to prepare. TDC presentations are mostly around showing code, preferably running live, and that code generator won’t write itself, so today I am setting off to build it.
Current status – T-14 days
This is what I am starting from:
- I have built a few code generators before, some that do 100% code generation
- I have played with all the elements of the MEAN stack, but I am not an expert in any of them (nor should I need to be – just need to find some good examples to borrow from)
- I have settled on using Xtend for the code generator (blows everything I used before out of the water, including Velocity, XSLT(!), StringTemplate and Groovy). I have a skeleton started here.
- I am still deciding between two different approaches for modeling the application: using UML (via TextUML) or a new (mostly general purpose) language I have been working on (some progress here). Need to make up my mind soon.
Ok. So I am off to building this thing. Wish me luck, and if you feel like chiming in on MDD/Xtext/Xtend/UML or Mongo/Express/Angular/Javascript, please do. I will be posting on this blog with updates for the next two weeks, including a report after the presentation, which I hope will be a happy ending. I also intend to work in the open so you will be able to see my progress if you follow my activity on github.
» Generating a MEAN-style web application (T minus 9 days)
October 7, 2014 at 10:45am[…] is another installment to a short series started in this previous post. If you remember, we are building a code generator that can produce 100% of the code for a business […]
» Generating a MEAN-style web application from models (T minus 3 days)
October 13, 2014 at 3:26am[…] is another installment to a short series started about 10 days ago. If you remember, I am building a code generator that can produce 100% of the code for a business […]
» Generating a MEAN-style web application from models (T plus 1 days)
October 17, 2014 at 10:34pm[…] is the last installment to a series started about two weeks ago. If you remember, I set off to build a code generator that could produce 100% of the code for a […]