Dryven was created with the following beliefs and goals in mind:
Repeating yourself is making mistakes (DRY). Functionality should be in one place only. Identifiers (model field names) should be in as least possible places as possible. A lot of the current web frameworks don't help you at all
... [More]
to avoid repeating the same identifiers in the view, validation, model and controller layers. Dryven uses annotations and some code generation (of really readable maintainable code) to solve these issues. Model-View-Controller pattern. Traditional web applications let you visit pages. These page scripts begin with some code to prepare the data that is used for rendering the HTML below. This is bad for several reasons (mixes presentation with application logic, prevents unit testing, ...). Really, in web applications, users don't visit pages but functionalities. With the MVC pattern you can represent these functionalities with controller actions, clearly separating every aspect and layer of your application so you always know where to look when you need to make your next modification. Embrace change. When your boss sends you yet another modification to your application, it shouldn't make you groan. Applications, like everything, have to evolve. Users have to try out what works and what doesn't. Change should be easy and in one place only. Dryven tries to accomplish this as much as possible. Embrace web technology. When you embrace your technology you get the best results. Dryven embraces HTTP and does not try to hide it. You are in full control of the HTML of your application and it's HTTP communications. AJAX will be really easy to integrate. Databound forms only need one small hidden field. Besides that, you're completely free. You cannot make everybody happy, all of the time. Dryven was designed for RAD of small data dryven web applications (although future versions will probably scale better). If you are developing an administrative application or a virtual shop, Dryven should serve your purpose well. If you want to create a portal or the next facebook, dryven doesn't really offer you a lot more than what is already out there. No tools required. You can develop Dryven applications from your favorite text editor. You will need a web server, database and browser for the code generation though. Dryven is not ready yet for a public release. Version 0.1 was used to develop a real world application and some shortcoming were detected. Version 0.2 will solve these and will be the first public version. Also, version 0.2 will try to bring a stable API, although that is not a hard promise. If you want to participate or you want to use dryven anyway, you can get the version 0.1 code through subversion.
Updates19/12/2009: I decided to do the first implementation in Java rather than PHP. You can however download the last PHP version although it is not in a usable state. This decision was based after noticing that the framework needed a lot of functionality that is already available in Java but not PHP. Furthermore, Java has a lot more convention than PHP, and since that is what this framework is all about (convention) it seems more natural and timesaving to do the initial implementation in Java. I'm not excluding future implementation of dryven in PHP or any other language though. Draft of project roadmap to version 0.2: RoadMapForV02 [Less]