In the past few years, the open source Web development Framework Ruby on Rails has created a small upsurge in the web world. Like many things in the software world, its role is somewhat exaggerated.
Nothing is as magical as what people advertise it. But rails is at least as close to this altitude as it is, so it's worth studying for.
Not long ago, people were asking whether rails would succeed. I have now maintained my views on the issue at that time. In fact, it has been a success. So now we may ask: why is it successful?
From the needs of the real world
Ruby on Rails released its first public version in 2004. Now it's not a toddler. In 2005, David Heinemeier Hansson was awarded the "Best Hacker of the Year" award for the software program. In 2006, Rails won the 2006 Jolt Award for the best web development tool. How could Ruby on rails and its authors have been so honored?
What I'm going to point out here is that Ruby and Ruby on Rails are not the same thing. Of course, veterans know this, but some novice friends may be more vague about it. Ruby itself is a language, similar to Perl or Python, which started appearing as early as 1993. Ruby on Rails is a web framework written in Ruby language, which started around 2003.
The first secret weapon rails holds is that it comes from applications in the real world. Rails was not the original target product, and was designed to develop a Web application called Basecamp. When Hasson and others developed the application, they found that web development was a painful thing, time-consuming, repetitive and detail-oriented. This gives Ruby on rails an opportunity to be born.
In the process of writing this highly condensed ruby encoding, Hansson began refining the essence of the interface so that Ruby on Rails was born. So it comes from real-world requirements, from the code in use and from the developer's daily experience.
Rails also benefited from what I call the "two-time writing" principle. In the process of creating a system, especially in a large system, the developer learns some new information and discovers some unforeseen problems. Every experienced developer would sometimes think, "if I had to write the code for this system again, I would probably do better." "Rewrite code is often clearer, more concise, and more sophisticated. It's not just technical improvements, it's more maintainable, easier to scale and more powerful, and sometimes even faster to run. The "Write, discard, and rewrite" approach is an incredibly powerful tool, but it is rarely used by people because of time and cost considerations. But it does apply to rails: It is first written as the "guts" of an application and then rewritten to be abstracted so that it can be used by any Web application.
As rails grew, it also accumulated a lot of bad parts in the code. As with cleaning rooms, software maintenance is a never-ending process. But since it's actually a two-time system, when rails finally made it public, it was more concise and refined.
And, I've already mentioned that rails is open source. This is an important factor. Ruby on Rails can be maintained by anyone who uses it or likes it. They can add functionality to their needs, a "grassroots" product that everyone can participate in.