Ruby On Rails Proves It Deserves The Hype

Original post provide by Web Developers

Author Avatar

With the multitude of programming languages out there such as Fortran, Java, C++ and C#, you may wonder why Ruby on Rails has suddenly become such a hot topic in the development world. Created in the late 1990s by an individual in Japan, the Ruby programming language had a cult following but never reached top-tier status. In 2004, a company called 37 Signals released a Web programming framework called Rails, which was originally developed for their own in-house projects. Rails was written using the Ruby programming language. It is the combination of Ruby and Rails together that has generated notable excitement in the development community, and the emerging language and application framework is proving to be a game-changer to the world of Web application development.

Ruby on Rails’ Impact on Productivity

Rails is an integrated framework that utilizes the dynamic nature of the object-oriented Ruby programming language. Rails developers emphasize features of the framework for productivity rather than tools, and they take a common approach to Web architecture that should satisfy the needs of a large portion of the Web application projects in the wild.

As Rails was developed, the innovators of the framework realized that there were a multitude of features inherent to the framework that could benefit all Web applications. Rails is an extremely productive framework for database-backed Web applications. It is different from other frameworks in that it preaches convention over configuration. Typically, if you were building a computer program, you had to start from scratch and rely heavily on the skills and experience of the team’s architect to develop and adhere to standards of writing good software. Rails primarily uses conventions to avoid configuration when possible, resulting in time saving and enhanced productivity. In a study by IBM, Rails applications needed a fraction of the configuration code of Java counterparts, often by a factor of ten or more (1). Where the programmer must specify configuration, Rails usually relies on Ruby programming language to provide configuration. The strategy saves developers many lines of code and simplifies the code that does need to be written. By taking mundane but essential decisions away from the developer, productivity increases substantially because more time and attention is spent satisfying the customer’s requirements rather than the technical plumbing that can burden most projects.

Ruby on Rails is known for its ability to build Web applications quickly and with ease. For first-time users of Java, it could take about five to ten days to build a moderately useful Web application that will communicate with a database using accepted Java Web best-practices such as separating business logic, from display logic (commonly referred to as Model-View-Controller). With no prior training on Ruby on Rails, it takes about one day to accomplish the same goal using the Ruby programming language. In several more days, it is possible to build a relatively complete Web application with Ruby on Rails.

In Java, a developer has countless decisions to make about how to proceed when communicating with a database. Should I use JDBC? Should I use an Object-Relational-Mapping (ORM) library, and, if I use an ORM, which one should I choose? TopLink? Hibernate? JDO? Do I need to use EJB2 or EJB3? Rails has an ORM database layer built into its framework called ActiveRecord. Another useful feature of Rails is scaffolding - Similar to how a building under construction uses scaffolding to assist in the construction of the final structure, Rails can generate code called scaffolding that can be used to quickly put up functional Web pages that talk to a database and allow you to add, delete and change information quickly and with very little coding. As previously mentioned, in other languages you have to select naming conventions and define the general structure of the file system, while Rails utilizes conventions and the Ruby programming language so that all of that is provided for you. Managers will appreciate the fact that Rails minimizes configuration and encourages standardization. This feature enables programming skills to be more portable. Rails developers can move from one project to another with ease, since standards common to all development projects, such as naming conventions, directory structures, unit-test frameworks, and interface templates, are already decided, with working samples always available.

Another feature of Ruby on Rails that enhances developer productivity is the rapid feedback loop. The feedback loop is the amount of time between making a change in code and seeing the results in the execution of your application on the screen. In Rails, you get nearly-instant feedback as you code. There is no compile or packaging phase needed. You can immediately load a browser page to see the results of your changes. Managers should take note of this feature, because with enhanced productivity comes improved client satisfaction. Say you are in a meeting with a client, and they have some edits that they would like for you to incorporate into their Web application. With Ruby on Rails, you can make changes promptly and see the results immediately, improving the overall client experience.

It is important to note that introducing a radically different framework such as Ruby on Rails can be detrimental to a company’s development, testing, and production infrastructure. For example, Rails applications are installed differently than common development platforms such as Java or Microsoft’s .NET. Operations managers need to understand how to deploy it effectively.

But Rails acceptance is already being witnessed in large companies such as IBM, Microsoft, Apple, and Sun Microsystems. Sun Microsystems supports a project called JRuby that enables Ruby applications to run in a Java Virtual Machine. Efforts like JRuby will make it easier for companies to transition and adapt to Ruby on Rails since it will become a part of a familiar structure. Apple Computer has announced that Ruby on Rails will be included in the next release of its flagship operating system, OS X 10.5 (Leopard). And, even Microsoft has included Ruby programming language support in its newest rich-Internet framework, Silverlight. The world’s largest technical publisher, O’Reilly Media, has even acknowledged Ruby’s rapid growth and now considers it a major language with triple digit growth between 2006 to 2007.

A common question regarding Ruby on Rails relates to its performance relative to its peers. Some companies claim that Ruby on Rails does not perform as well as comparable systems. Comments such as these must be looked at objectively and balanced against productivity gains. Managers then need to make the decision of whether it is cheaper to hire people or purchase additional hardware, and chances are they will find that purchasing more hardware makes better financial sense.

Conclusion

People are paying more and more attention to Ruby on Rails, and for good reason. With the advent of the Rails framework, the Ruby programming language is making its way towards the top. By focusing on convention over configuration, Ruby on Rails is lowering the barriers of entry to programming and positively impacting employee productivity — ultimately proving that all of the hype is true and well-deserved.

Sources

1. Crossing borders: What’s the secret sauce in Ruby on Rails?; Bruce Tate; May 9, 2006.

About the Author

Francis Wong is an independent consultant and senior technical trainer for WestLake Training and Development. He has developed software applications for many well-known companies such as AOL, Hitachi, FannieMae, and Marriott for over 19 years. Wong has also developed online and on-site technical training for programmers and managers and delivered courses throughout the United States as well as Bangalore, India. He can be reached through Westlake or contacted directly at francis.wong@keybillable.com.

Tags:

Previous Articles:
Online Maps Warning
Remember that people don’t have your Web site with them when they head to the event. Even if we had our phones with us, it probably would not have made a difference. Only one person called needing directions.
Networking On Ryze: A Strategic Plan For Making Higher Quality Contacts
Dina Giolitto delivers copywriting direction, support and implementation to businesses throughout the United States. Want free tips on how to write great copy and drive more sales? Sign up for the Copywriting and Marketing Ezine from Wordfeeder today.
Lampooning Benchmarks
These functions are simply aliases of each other. There should be no discernible difference, and any buffoon should realize this fallacy!” This was before I clicked through from PHPDeveloper.org to read his post. Then, I clicked through to the post, and I was still dumbfounded that Jonathan found marginal microsecond differences between how the functions performed and was advocating the use of one function over the other based on this “data.” I questioned the testing, and I was prepared to dig through the PHP source to write up a post refuting his claims.
SPL Article Published
And getting the hang of it requires a good introduction, which is why I wrote this article. My article was originally intended to be part of a series of articles about features and functionality in PHP 5 that provided a case for adopting/upgrading to PHP 5.
Excel 2007 Multiplication Bug
The example first that came to light is =85077.1 — which gives a result of 100,000 instead of the correct 65,535. It seems that any formula that should evaluate to 65,535 will act strangely. One poster in the forum noted these behaviors: "Suppose the formula is in A1.
More Articles:
Zend/PHP Conference 2007
I’ll be giving two talks at the conference: “Give Your Site a Boost With Memcached” and “Mobilizing & Sharing: How the Zend Framework Builds Community for Nokia MOSH.” The former is an updated version of a talk I gave earlier this year in Germany; the latter is a new talk I’m giving with my colleague Brian DeShong, and it’s more or less a case study of Schematic’s use of the Zend Framework in building Nokia’s mobile social networking website, MOSH.
Learning ASP.NET 2.0 With AJAX
With this book, you’ll learn to: Master the fundamental skills of ASP.NET 2.0 to build professional-quality Web applications Integrate new Ajax tools and CSS with ASP.NET 2.0 for flashier and more interactive sites Build applications with minimal coding using Visual Studio or its free counterpart, Visual Web Developer Connect your site with a database so that users can retrieve, interact, and save data Debug your application, deal with unexpected problems, and protect your site from malicious users Use the community-maintained ASP.NET AJAX Control Toolkit to extend the controls that come with ASP.NET AJAX Use personalization tools to give your site a customized look for each user Ideal for beginning Web developers or those who are new to ASP.NET, this book gets you involved with your own learning through hands-on lessons that are clear and direct.
Brand New Web Sites: A Search Engine Optimization Company Perspective
This Catch-22 is obviously a sore spot for many owners of new Web sites. Trustworthiness For many years, a common search engine optimization company strategy was to set up numerous new Web sites all for one company, each geared toward targeting a different search term.
Checkout Pages
If the shipping isn’t obvious, I may not even bother with the checkout process. Depends on how much I need the item. So why put up another barrier? E-Commerice Site Design looks at what every well-designed checkout page should contain.
PHP Programming Solutions
Title: PHP Programming Solutions Reviewer: Guilherme Blanco Category: PHP books Publisher: McGraw-Hill Author: Vikram Vaswani Summary: In sum, this is an interesting book structured like a catalog of PHP solutions in the form of FAQ. The book provides solutions that extensively use PEAR packages to solve common PHP implementation tasks.

Leave a Reply