Tuesday, January 29, 2008

Ruby on Rails for Java Technology Developers

Ruby on Rails is a framework for quickly building web applications. Rails takes advantage of many of the lessons learned over the past decade of web development. Rails uses Model/View/Controller (MVC), view templates, sessions, cookies, and many other abstractions that developers in any web framework will find familiar.

But Rails improves on the past as well. With convention over configuration, you use configuration only where necessary, so simple applications do not require hundreds of lines of boilerplate XML.

Rails is so powerful, and why other frameworks are racing to emulate Rails' best features. Best of all, Ruby and Java technology are growing together. With JRuby, you can run your Rails apps on a Java technology-based VM, and continue to access the enormous base of useful Java libraries. You will see how easy it is to get an application started with JRuby on Rails.

Building Web Applications with Ruby on Rails

Ruby on Rails has taken the web application community by storm. The Ruby programming language fuses ideas from dynamic, scripting languages with a strong object-oriented framework. Based on the popular Model-View-Controller (MVC) paradigm, Ruby on Rails, also called RoR and just Rails, is a web programming application framework written in Ruby. Rails leverages Ruby's extensive support for metaprogramming, from which it derives much of its elegance and ease of development. Additionally, Rails makes extensive use of code generation features, making it easy to start a complete application and promoting agile programming techniques.

The key design features that make Rails unique in the web application world are "Don't Repeat Yourself" (DRY) and "Convention over Configuration". The DRY principle means that settings, such as database column names, only need to be specified in one place. Rails ensures that these definitions are visible to all the other web components that need them. Similarly, the Convention over Configuration principle means that web developers only need to make explicit the aspects of their web application that are different from others; Rails (and programmers, too) can infer similar aspects from conventions, e.g., naming conventions. This greatly reduces the need to specify meta data aobut your web application in configuration files, largely eliminating the XML metadata bloat that is common in other web frameworks.

Top 12 Tutorials on Ruby On Rails...Ravine of tutorials opensource...ROR, PHP, Java

  1. Rolling with Ruby on Rails - Curtis Hibbs of ONLamp.com offers his first excellent introduction to Ruby on Rails. This is the article that got me really excited about RoR.
  2. Rolling with Ruby on Rails, Part 2 - The sequel to Curtis Hibbs excellent series of articles.
  3. Four Days on Rails (PDF) - a great tutorial that is broken down into simple tasks that you can do over a four day period. To be quite honest, this tutorial only takes about 2 hours, but nonetheless it is very well organized!
  4. Really Getting Started in Rails - Amy Hoy has a great tutorial that not only covers RoR, but also introduces the reader to many of the basic concepts of the very cool Ruby scripting language.
  5. Tutorial in Ruby on Rails - is a basic tutorial aimed at newbies.
  6. Fast-track your Web apps with Ruby on Rails - IBM jumps into the sandbox with an excellent (as usual) tutorial to get you on your feet fast.
  7. Getting Your Feet Wet With Ruby on Rails - Talking about getting on your feet fast, this one from Webmonkey promises to get them wet too!
  8. How to make a todo list program with Rails - Another excellent introductory tutorial that actually helps you build something useful!
  9. Ajax on Rails - Curtis Hibbs offers part 3 of his look at RoR
  10. Many to Many Tutorial for Rails (PDF) - is a nice document that begins to delve into some of the more complex parts of web application programming, but in fine Ruby on Rails manner, it’s really not too complicated!
  11. Distributing Rails Applications - A Tutorial - So now you’ve built your RoR application, how to you push it to a production server? This tutorial covers the bases.
  12. Installing Ruby on Rails with Lighttpd and MySQL on Fedora Core 4 - and of course this list wouldn’t be complete without a shameless bit of self-promotion, this tutorial promises what it says. Other install tutorials can be found here, here and here!