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(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev