Ruby on Rails
As put so eloquently on www.rubyonrails.org: "Ruby on Rails is an open source web framework that's optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration."
So what does that mean? Ruby on Rails (or just "Rails", or even "RoR" as it's often called for short) is a comparatively new set of software tools that allows you to create database-driven web applications - be they for community, collaboration, ecommerce, statistics, content management, or whatever else your business may need - in the increasingly popular scripting language called Ruby (check our our article Ruby: An Introduction). Ruby on Rails is aimed at helping all sorts of businesses, from non-profits to mammoth corporate enterprises, to build a solid and maintainable infrastructure.
Created by Copenhagen native and computer science rebel David Heinemeier Hansson to rock the boat of conventional programming prone to increased and excessive, Ruby on Rails has caught on like wildfire! (how's that for mixing metaphors?) And it's no wonder. Ruby is already popular among programmers for its simplicity and versatility. Ruby on Rails makes using Ruby to program a broad spectrum of tasks even easier.
Rather than focusing on creating another complicated framework for people to learn, Heinemeier has built an MVC (Model, View, Control) framework filled with templates and designs that users can immediately put to work solving their most pressing (and typically mundane) problems, whether processing text files, modifying databases, or performing routine system maintenance operations.
To equate Ruby on Rails to things more familiar to most of us, we could compare it with other, more widely known web-based software tools like Java, PHP, or Microsoft's C# tools. In fact, Ruby on Rails' creator says he designed Ruby on Rails to combine the speed and simplicity of PHP with the neat and cleanly organized structure of Java. The result is a product that many programmers find to function 5-10 times faster and more efficiently than these predecessors.
On the flip side, Ruby on Rails does have its limits. If, for example, you don't have total control over the schema of your database, it's not really practical. Ruby on Rails eschews many commonplace database features, most particularly stored procedures, but how beneficial stored procedures and similar types of database "improvements" are, is a point of contention between programmers and IT folks.
To use Ruby on Rails all you need is:
A web server - recommended is an Apache or lighttpd server running either SCGI or FastCGI, and
A database - recommended is DB2, Firebird, MySQL, Oracle, PostgreSQL, SQLite, or SQL Server.
Although current reference materials on the subject is limited, as the reach of Ruby on Rails broadens - as it's clearly doing - you're likely to find more and more books lining bookshelves (and dare we say ebooks flying off the internet?) on the subject, alongside those on C#, PHP, Java, and the rest.