I've used Wakanda, WaveMaker and Sencha and a number of other one-stop solutions and found them unsatisfactory for a variety of reasons. Wakanda requires you to use a particular DB (NoSQL?) and is rigid about how you can lay out the tables. I remember, with WaveMaker, all the code ended up looking like: someObject.someOtherObject.yetAnotherObject.ownedObject.property.function() = someObject.someOtherObject.yetAnotherObject.ownedObject.property.differentFunction() * 0.5 The common feature these tools tend to have, in exchange for very slick interfaces for putting together CRUD apps is a near total lack of integration for all the things you come to expect as a modern developer: version control and other collaboration tools, test suites, refactoring, etc. But they definitely have the gee-whiz factor going for them.