Way back in 2006, Ruby on Rails became a hot topic. A programming language and framework, Ruby on Rails, seemed like a bright development framework for web application. It never seemed to catch on as Java and .Net seemed to.
By 2010, apps were all the rage, and everyone was talking about the death of the desktop. But websites are still built on desktop technologies. Have you ever herd of someone running their website from their phone?
To some extent, servers are desktop computers. That is, when people talk about the cloud, or cloud computing and Software As A Service (SaaS), they’re talking about desktop computers. Or at least computers that run desktop operating systems like Windows, OS X or Linux. They are NOT talking about iOS, or Android. So websites run on desktops operating systems. And websites have been expanding since … well forever. Maybe your average home computer user will keep their desktop longer today because it’s not their primary device. And some students may use a phone as their primary computer, opting to use the schools computers to write their papers with. So while the demand for desktop computer may be down for users, companies and server usage continues to be strong. After all, all the websites that people use with their phones, need a computer to connect to.
So what’s been happening over the years in web development? Most websites run on Java (J2EE to be specific) for large enterprises. Dot Net (.Net), which was called ASP.Net but the “ASP” is mostly dropped anymore. Ruby on Rails (also known as “RoR” or simply “Rails”) and WordPress at the low end (with a few in between).
Most all of these technologies require a group of applications – known as a “Stack” and developers familiar with all the parts are known as “Full Stack Developers.” The common elements are a web server (Apache is the most common), a database server (MySQL being the most common), and a server language to communicate with them. This is where RoR comes in.
At the low end, a WordPress installation ads a content management system to the mix allowing site owners to add and change pages. WordPress uses PHP as its control language. A J2EE site uses Java as the control language. And … no surprise, RoR uses Ruby.
Learning Rails is a … well … a witch!
The control language is part of a model known as Model-View-Controller. It’s a way of structuring a website based on dividing the functions into logical sets. The Model is the database. It’s called a model because it holds idea or abstraction. That is, the model or database is the least flexible and the part that is often decided on from the start. It holds the master site idea.
On a J2EE site, that’s Java, for WordPress that’s PHP, and for RoR sites that’s the Ruby programming language. What’s surprising is that RoR programmers need to know very little Ruby. The Rails interpreter does so much work for the Ruby programmer, that they need to know a small set of Ruby code. But don’t let that deceive you … learning Rails is a … well … a witch!
Ruby, the programming language is object oriented, a nice feature to have in a language. So it is easy to learn. But the Rails frame work is complex. It takes the average person about six weeks to learn Rails. Which is why it may be suck in the mud.
Most people can get a WordPress site up in very little time. And WordPress has a huge number of plugins that add functionality without the need for programming. RoR is a flexible, stable and robust framework to make web site with. Despite all these benefits, RoR has a limited number of programmers and is hard to learn. Unlike other web development languages, RoR does not have a visual editor to date. That is, everything must be hand coded. And while lovable geeks may like hand coding, for many tasks a visual editor seems to make sense.
Because the RoR community is made up of so many developers that like to hand code, a visual editor anytime soon seems unlikely. And so RoR may be stuck in the same place it was in 2006, a great, yet quirky development framework. The good is overshadowed by a high learning curve, while both WordPress and .Net continue to make advances in the developer’s user interface.
If RoR ever had a graphic user interface with drag and drop features, it would explode in popularity. Until it does, RoR will be a niche development language.