Rapid Web application development framework
There are times in software engineering where a developer just wants to see something running to try to get an idea of the workflow of their application. Or maybe when using a UI or layout issues become more readily apparent with the architecture of the application. This is where rapid prototyping becomes essential in the software development process. Often times a wireframe simple version of the application is enough to meet the criteria and other times a slightly more functional prototype is required.
When creating a prototype of an application, the most important aspect is to get results quickly to prove or disprove a feasibility study. As a result, the Rapid application prototyping has to be a high priority. Ease of use and documentation are also high as when you’re writing a prototype with time constraints you don’t want to be slowed down by unnecessary gotchas or a lack of understanding due to lack of documentation.
Throughput/Scalability and code maintenance are more production issues, and while important later are not such a concern now, similarly with Security. Some of these categories will of course depend on which area the prototyping app is focused around and may differ depending on the details of the app itself.
|Rapid Application Prototyping|
|Ease of Use|
|Documentation & Community|
|UX, Look and Feel|
The Results: Prototyping App
Our Analysis: Prototyping App
When building a prototype for an application, the frameworks that came on top in our review were actually the obvious candidates–Vaadin, Grails and GWT. Most of these frameworks scored high for rapid application development (which is obviously something you want to be doing when slapping together a prototype) and that do not get in your way by being overly complex so that you would get lost in the details while trying to get functionality out of the door. The documentation is good and the learning curve for getting a basic level of proficiency for putting together simple applications is also something that works heavily in their favor.
Tailing the best choices are JSF with its exhaustive component library and Play, which (although looking like a solid choice for rapid development) falls behind of our top picks due to the steeper learning curve associated with getting familiar with it.
When looking at what frameworks would get a knee-up over the others when we add Spring to the mix, it seems like there are none. The reason for this is that while Spring does bring a lot of goodies to the table–security, transactions, web services to name a few–in addition to what is provided by the framework, none of these seemed important enough that would warrant adding a new level of complexity to the application stack for this kind of app.