Instant Results - Making Java Fun
Spring Roo is a lightweight developer tool that makes it fast and easy to deliver instant results. Best of all, you code 100% in Java and get to reuse all your existing Java knowledge, skills and experience. You'll like it - and have plenty of fun too! Read how TomTom cut development time in half using Spring Roo.
Download the book by Josh Long and Steve Mayzak called Getting Started with Roo. You can also purchase it as a print-on-demand book or in alternative formats from the O'Reilly web site.
Ken Rimple and Srini Penchikala have also written the definitive Roo reference book called Spring Roo in Action available for purchase from Manning Publications.
Exciting Features - GWT. Solr. Cloud. Flex...
MVC applications with JPA are a breeze with Roo, but it also eases your journey into the next generation of technology. We already support cool features like Google Web Toolkit (GWT) for advanced next-generation user interfaces, Solr for search server integration and cloud deployment like Google App Engine. Plus we have incremental database introspection, Flex, Spring Integration and much more actively in development.
SpringSource and Google are working together to combine the speed of development of Spring Roo with the power of the Google Web Toolkit (GWT) to build rich browser apps. Try out the exciting GWT and Google App Engine support now available from Spring Roo 1.1.
Zero Risks - Productivity Without Compromise
With Roo you still program everything in Java. Its innovative approach operates entirely at compile-time and is completely compatible with your IDE. Plus because there's no runtime portion, adoption is also simplified and low risk. All your Java developers will feel comfortable and be productive from day one. Roo really represents productivity without compromise.
Why Spring Roo?
Spring Roo is a next-generation rapid application development tool for Java developers. With Roo you can easily build full Java applications in minutes. It differs from other productivity tools by focusing on:
Roo gives you easy and immediate access to all of the mainstream Java technologies important to building sophisticated enterprise applications. Here's just some of the technologies that Roo-based projects can instantly leverage (plus there's plenty more supported by third-party add-ons, or you can write your own add-on):
- Adobe Flex
- Apache ActiveMQ
- Apache Maven
- Apache OpenJPA
- Apache Tiles
- Apache Tomcat
- AspectJ
- AspectJ Development Tools
- Cloud computing
- Dojo Toolkit
- Eclipse IDE
- EclipseLink
- Google Web Toolkit
- Google App Engine
- Hibernate
|
- Java 5+
- Java Bean Validation
- Java Database Connectivity
- Java Message Service
- Java Persistence API
- Java Transaction API
- Java Server Pages
- Jetty
- JUnit
- Log4J
- Representational State Transfer (REST)
- Selenium
|
- OSGi add-ons
- Solr search
- SpringSource tc Server with Insight
- SpringSource Tool Suite
- Spring Integration
- Spring Framework
- Spring Security
- Spring Web Flow
- URL Rewrite Filter
- Web application resource (WAR) packaging
- Write Your Own Add-Ons
|
Roo's innovative approach is free of any compromises:
- Program in Java!
- Full IDE support (with features like code assist, refactoring and debugging)
- No runtime portion, which means easier adoption in enterprise with approval requirements
- Excellent runtime performance, as there's no runtime memory usage, deployment footprint, control flow invocation time etc
- Lower risk of bugs impacting your project, as Roo operates entirely at development time (just like your IDE)
- No lock-in to Roo, as you can remove it from your project in just minutes
- Easy extensibility to new features thanks to OSGi-based add-on extensibility
- We could go on, but you get the point: Roo doesn't make you compromise (ever) :-)
In a nutshell, Roo is a lightweight console shell that you load up while developing your projects. While the Roo shell can be used to complete time-consuming operations in just one quick command, most of the time you'll just ignore Roo and go off and develop your project in your IDE or text editor.
As you go about editing code in your normal way, Roo keeps an eye on your project files and automatically modifies them in response to your actions. Depending on the Roo add-ons you have running, Roo can help you with different types of files. For example, Roo's JPA add-on means you can write an incredibly simple Hello.java file that looks like this:
@RooJpaActiveRecord public class Hello {
private String world;
}
You might wondering what good is a Java class that only has a single private field. Well, not much. But Roo fixes that by using the compiler's "mixins" feature to add extra goodies into the .class files at compile-time (not runtime). This means the Hello.class actually contains a large number of useful members, none of which you had to go to the trouble of writing - or maintaining, debugging and testing - yourself:
public class Hello {
private String world {..}
public String getWorld() {..}
public void setWorld(String world) {..}
public Long getId() {..}
public void setId(Long id) {..}
public Integer getVersion() {..}
public void setVersion(Integer version) {..}
public String toString() {..}
public void persist() {..}
public void remove() {..}
public void flush() {..}
public static Long countHellos() {..}
public static Hello findHello(Long id) {..}
public static List findAllHellos() {..}
public static List findHelloEntries(int start, int…