As a web developer you are spoilt for choice: Which script language should you focus on? Which one suites best for your future projects? Which framework speeds up your development? Furthermore the development of the script language and the framework are often open source projects nowadays. Behind PHP the company Zend is also a key driver. So the question here is: Which open source project is developing best over time? Compared to the established solution PHP, the community around the Rails framework written in the script language Ruby is fast-paced. And Rails promises clear, structured, elegant and above all fast coding. What road to take?
If you decide by the actual penetration, you have to take the PHP highway â€“ according to Zend, more than 4.5 Mio. Developers are working with PHP worldwide. Also most of the web open source projects use PHP as the script language, actually: Joomla or TYPO3 as Content Management Systems, the shop software osCommerce or the blog software WordPress, which is powering also this blog. They are all written in PHP. I also learned PHP as I used those open source software. Especially when you try to extend the basic functionalities or you customize the packages you must have basic knowledge in PHP.
But when it comes to the creation and realisation of new software solutions, that have to be coded from the ground up, the world looks pretty different. Fast, it getâ€™s clear, that PHP is a powerful script language. But as a web developer, you a faced by a specific set of problems over and over again. A lot of these problems, like connecting to a database, URL-mapping, dealing with sessions, user authentification or caching content, developers have to code in PHP over and over again. Sure, every developer can create his own set of small solutions, he can also generalize his solutions so he can reuse the code … or he uses a framework, where some developers â€“ or even a big community â€“ did all the preliminary work.
Zend is developing such a framework for PHP5. The project speeded up in the last months, again. Right now they released the Beta 0.9.2 of the Zend Framework on April 6, 2007. It is not intendet for productive use, yet. But it really can speed up PHP development in the future.
When I dealt with the Zend Framework I often stumbled upon â€œRuby on Railsâ€ or “the Rails way”.
As always, looking back you cannot imagine, why you did not focus on that new technology earlier 😉 The advantages are overwhelming from the first look: Using Ruby on Rails, short RoR or Rails, elegant coded applications can be developed fast. The code is quite readable thanks to the Smalltalk inspired language Ruby and the intelligent conventions of the Rails framework. Rails manages it with several rapid prototyping mechanisms, like scaffolding and database migration scripts, to develop web applications on the fly. Right in terms of Agile Software Development.
Elegant code, faster development, rapid prototyping within the software development … it all sound wonderful. Where is the catch â€“ besides that all my PHP books will get dusty? And why isnâ€™t the whole world using Rails instead of PHP?
- Rails is emerging … the framework was published in 2004 by the Danish programmer David Heinemeier Hansson. But the community is growing at fast pace. And, you cannot compare Rails with PHP, but you have to compare it with the Zend Framework which still is Beta. So, at the end: Advantage, Rails.
- Rails is not running at every hoster out there … thatâ€™s where PHP is ahead, right now. PHP is a must at every serious hoster. But the number of shared hosters, who support Rails is growing. And when it comes to professional projects you need you own server(s) anyway. And here itâ€™s no problem to install Ruby on Rails. So this is a fact you have to take in account, individually.
- Rails is lacking performance, these days … Rails developers confirm that. But scaling the servers is absolutely possible. The extreme reduction of development efforts leads to higher hardware requirements. It has to be taken into account â€“ but itâ€™s not a disadvantage in my eyes.
Interesting detail of the Ruby on Rails community is, that many of the developers are working on a Mac. Ans also Apple is inspired by Ruby on Rails. Right now Ruby is part of the Mac OS X installation, and the coming Leopard (OS X 10.5) will be shipped with Rails also.
Every developer has to decide for his own … I will report on my experiences in the wold of gems and rails.
So, letâ€™s get on Rails 😉