The Scooter framework which recently released version 1.0 RC2 earlier this year, offers a Rails like, RESTful web platform for Java developers using Java. InfoQ spoke with John Chen, creator of the Scooter Framework project
The development of the Scooter framework has been inspired by the simplicity of use exhibited in Ruby on Rails. The Scooter framework presents an alternative for developing Java web applications using Struts, Spring and Hibernate, with a CRUD generator and the ActiveRecord as key features. The intent of the Scooter framework is that XML editing and annotations are not required, and that only basic knowledge in Servlet/JSP and JDK1.4 is necessary.
The final release for the Scooter 1.0 version is currently planned for June-July this year.
The current release features:
- Runtime Configuration: Change all configuration property files on the fly, including log4j.properties.
- Runtime Compilation: Edit Java source files and refresh the browser to see changes immediately.
- Runtime Schema Change: Detect database schema changes automatically.
- Flexible Controller: A POJO-like controller, before/after/skip filters, flash and global scopes, pagination support etc.
- Active Record: Support for belongsTo, hasOne, hasMany, hasManyThrough, polymorphic associations, nested include, cascade, counter cache, actAsTaggable, etc.
- Enterprise ORM: Support auto detecting composite primary key, named sql, views, functions, stored procedures, multiple databases, transactions, reference data cache, etc.
- I18N: Support internationalization at all layers of the framework.
- Web 2.0 support: AJAX, Markdown, Taggable interface.
- RESTful Web Services: Automatic RESTify data store.
- Routes: Configurable ways of controlling web access to data, resources and nested resources.
- Other features: Code generator, code statistics, auto CRUD, auto REST, data browser, logging, embedded-web server etc.
Other features planned for the 1.0 version include:
- Cache implementations: Memcached integration and web-side cache
- a simple captcha implementation
The ActiveRecord based ORM implementation is planned to be reconfigured so that it can be used in a non-web environment.
Future plans for Scooter:
- Web server performance enhancements
- Development of a dev center module: a web-based dev center for editing java code
- Documentation and help for developers
- A View template engine: The current view is based on JSP. The new template engine will allow developers to write view code once and run in multiple platforms such as browser, iPhone, iPad, Android, etc.
- Integrate with java open-source tools: JasperReport, Lucene, JQuery, etc.
- Add support for OpenID, Captcha, RSS, JSON
Documentation is available for getting started with Scooter along with current release source and binaries.