[aerogear-dev] Scaffolding / Rapid Development Tools

Burr Sutter bsutter at redhat.com
Tue Dec 4 13:23:00 EST 2012


On Dec 4, 2012, at 11:27 AM, Sebastien Blanc wrote:

> Hi,
> We are currently brainstorming on the different ways that can speed up the development time of a project using Aerogear. 
> Speeding up the development include several concepts :
> 
> * Setting up the project structure.
> * Scaffolding the Backend logic based on user inputs.
> * Scaffolding the CRUD views based on your domain model / user inputs.
> * Boost the test/integration/deployment process
> 
> What do you we currently have ? 
> 
> In the Java/JEE corner :
> Well, Maven offers already some kind of project structure if you follow its conventions. 
> Regarding scaffolding we have a tool called "forge" in which you can plug in "quite" easily extensions to customize the scaffolding.

While many great developers dislike this kind of 'hand holding', I have found that a great many developers LOVE it.  The goal is to get to "hello world" quickly, so that you can immediately see that your environment is setup correctly.  The majority of developers, working in average IT shops around the globe, primarily  get data out of a database, display it on screen, allow the end-user to edit the data and then save that changed data back to the database.  This is where Forge's ability to easily generate a new model object (e.g. Customer) and then quickly generate the REST CRUD endpoints is awesome.   CRUD should be stupid easy so that the developer can see that the various moving parts of his application are functional and the focus on the value-add.

> 
> In the JS corner :
> We have tools like Grunt andYeoman which will be able to handle the front end stuff
> 
I like in the Yeoman video :-)
But I do not think that Grunt nor Yeoman address "backend logic" nor "CRUD views".

> What is the targeted audience ?
> 
> That's one of the first challenges : 
> 
> * We have JEE/Java
> * We have JS developpers
> * We have mobile native developpers
> 
> And of course, most of the time we will have a mix of these 3 profiles ...

Definitely a mix of the first two - Java EE folks building "the backend" via something like JAX-RS+CDI but they would also like a "frontend" in something that is mobile ready (e.g. JavaScript + Cordova/Phonegap).   In other words, the same human will often attempt to wear both hats - Java & JavaScript.   One scenario we will wish think about is...what happens when the "Java guy" starts the project but a "JS guy" is eventually hired to take over the frontend.

I believe the 3rd category of mobile developers will likely be more standalone - the Objective-C guy is happy to work with existing REST endpoints but won't necessarily try to develop in Java, PHP, .NET nor Ruby to build those endpoints.  It is tough to be both an Objective-C person AND a server-side .NET.

There will also be pure JS-based "frontend" developers who act more like the native Objective-C/Android Java folks - allowing other parties to build the server-based infrastructure while they focus on a great end-user experience.


> 
> For example, JS devs won't be very excited if they have only maven/forge as options to boost up the development time. On the contrary, Java/JEE devs would like to stick to existing tools that fits well in their development process ...
> 
> We could propose a tool for each profile or find a way in the middle, but I would love to hear your thoughts, ideas, remarks.
For Java EE + JS developer who also want a basic front-end app, they can be addressed via Maven and Forge.

For the PURE JS developer, it would be nice to have a framework/tool that can build a default CRUD app for a REST endpoint. 

> 
> Regards,
> Seb
> 
> 
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev




More information about the aerogear-dev mailing list