You have to develop a website application, you have 5 days to do it, and you want to keep the potential of expansible object orientation without having to tie together too many abstract frameworks together, what do you do? Why not develop a website application from an Open Source CMS system that has already been built off of a popular MVC Framework? Model View Controller frameworks are the ultimate in separation of data, process and design.
I was asked the question and interacted with the blind faith that Ruby on Rails is the Greatest Language in the world. It was one of those statements that was both a question and a statement. Is it? Well, it is not a language, Ruby is the language, and it was not nearly as popular by the mass until the group that developed the ever so popular Rails framework.
The idea behind Ruby on Rails, was the processing power of interpreted language. Object Orientation within an interpreted language allows the ultimate separation of data, process, and design. With the addition of Object Relational Models we gain the capability to interact with database storage quickly and without much leg-work. Add standard features of scaffolding that allow automated development, with the abstraction of all HTML and Database elements, you have designed a system where the real work that you perform is done once, and properly replicated throughout the entirety of your application.
It took just one year for people to recognize and copy Ruby on Rails. And it started in the PHP world with CakePHP, which is extremely popular. Today, frameworks simply “claim” MVC base framework to appeal to the masses of developers seeking for the true answer. This MVC and ORM combination with Ruby on Rails version 1 came out in 2004. CakePHP came out with their first version 1 year after in April of 2005, which is where I got started.
All programmers around all recognized the strength of MVC, and even Microsoft developers did as they began to develop an Open Source ASP.NET MVC with a first version coming out in 2007, just 3 years after Ruby on Rails. And then when Microsoft the company further recognized, the world recognized… Microsoft released a custom view called Razor with MVC3 in 2010. It’s been 3 years and MVC is now more popular than ever.
I apologize for the history lesson on MVC, ORM, and Scaffolding frameworks… Many websites today are built on CMS based applications like Drupal, WordPress, or even ugly things such as Sharepoint, yukkk, just saying that word as a custom application. Everyone has custom built applications that are so customized that upgrades are nearly impossible. To get around this, I recommend building your next website off an already built CMS that functions from an existing MVC Framework. This way you get two things, an already built system, user credentials, CMS capabilities out of the box, and an MVC structure to separate your functions in an organized and compartmentalized environment. Wal-ah!
Ruby on Rails has many of these already. So does CakePHP. Much more to think about… in-fact, my new website I am building, I will be doing exactly this. I’ll post updates as they come.