Scooter framework in general
- Is Scooter just another clone of Rails?
- Who needs Scooter when we have Grails and JRuby on Rails?
- Why is Scooter more suitable than Rails for the enterprise?
- Can I convert my Rails application to Scooter-based Java application?
Installation
Model
Is Scooter just another clone of Rails?
There is no doubt that Ruby on Rail (ROR) has a significant impact on Java. There are quite a few ROR-like frameworks, some of which even market their products by naming it XYZRails.
Scooter selectively adopted some good features such as ActiveRecord from ROR. Scooter actually also selectively implements some excellent APIs that are not in Java, but in other languages or softwares such as PHP and Oracle (decode i.e.). This makes Scooter more developer friendly.
But Scooter was developed mostly based on frustrating experiences of using popular Java frameworks, such as Struts, Spring and Hibernate (SSH). Unlike ROR, Scooter targets enterprise Java development. It adds many enterprise-friendly and legacy-database-friendly features that can not be found in ROR.
Who needs Scooter when we have Grails and JRuby on Rails?
Both Grails and JRuby on Rails are excellent frameworks that try to reduce the pain of Java development. The problem of their approach is that it adds more complexity in developing Java web applications.
With Grails, developers have to be familiar with the following technologies: Spring, AOP, Hibernate, Groovy, GSP, etc. None of these are easy.
With JRuby, developers suffer from all kinds of compability issues.
Scooter allows developers to have the same level of fun and productivity as they enjoy when using those frameworks by using pure Java.
With Scooter, developers only need to know basic Java (JDK1.4+), and JSP.
Why is Scooter more suitable than Rails for the enterprise?
Scooter has many features that are important to enterprise development but either do not exist or hard to use in ROR, such as composite primary key, named sql query, views, functions, stored procedures.
Scooter also comes with a set of built-in tools that help enterprise development, such as auto REST, auto CRUD, and data browser.
Can I convert my Rails application to Scooter-based Java application??
Yes, you can. Scooter adopts almost 99% of Rails 2.x features. You can match your Rails app to Scooter app almost line by line.
A detailed document on feature comparison will be published soon.
A brief comparison can be found here.
Why am I getting a compiler error when I start up Scooter?
GCJ (GNU Compiler for Java) that comes with Ubuntu and Red Hat Linux may not work well with Jetty web server. The workaround is to download a JDK from Sun. It is free anyway.
Auto compiler in Scooter was found not working when running shared Tomcat on Linux platform. The workaround is to copy tools.jar to webapps/yourApp/WEB-INF/lib before running startup.sh script.
How would I create a model that has some instance variables that are stored in the database and some aren't?
Those attributes of a model that are not stored in database are called extraField (non-database field) in ActiveRecord. See here for details.