Choosing a Web Development Framework
The big question was - which framework to use? Since the advent of Ruby on Rails, development frameworks have become quite the flavour d'jour and there are now, well, maybe not thousands of them, but quite a few! The last time I heard there are about 80 development frameworks out there. I am not 100% user of this number, it could be a bit higher, it could be a bit more conservative (on the phpwact site you can find about 40 PHP frameworks listed). The point is, the web developer is now really spoilt for choice. Which is a problem in itself, since having too much choice can leave you dithering between different options.
This article is therefore about how I made my choice, which was CakePHP, and which factors I took into consideration.
Obviously, and certainly, I will get bombarded with "Why don't you try X framework, it is really much simpler to use..." type responses. That is quite OK, to each his own! But this is the choice I made and I am sticking to it. Frankly, the idea of going through another learning curve gives me the heeby-jeeby's....
I found that the selection criteria were not independent. In other words, once I have ruled out some frameworks due to some specific criteria, other factors came into play. It was therefore more a process of elimination than judging all the frameworks off a predefined set of criteria.
The first major selection point was: Ruby on Rails or not.
Obviously there is the attraction of using a brand new, hip, buzz-word hyped framework. You can't go wrong with something that is getting so much attention... or can you?
Let's look at some of the selection criteria that filtered out Ruby on Rails
1. Ease of installation and ability to run on shared hosting The problem is that most of my clients make use of a shared hosting environment. Can Ruby on Rails run on common-or garden variety type shared hosting? The answer was, I soon discovered - no. One needs to either have access your own private servers or run on a shared hosting environment that has Ruby on Rails preinstalled. Admittedly, there are a couple of them now starting up. A comprehensive list of hosting providers that offer Ruby On Rails hosting can be found on the RoR Wiki - http://wiki.rubyonrails.org/rails/pages/RailsWebHosts.
2. Minimize the learning curve Even though I knew that any new framework will involve a steep learning curve, I really did not have the guts to go through TWO learning curves - one for the language itself and one for the framework. I might still have been prepared to go through the learning curve though if it wasn't for the fact that RoR requires special hosting.
So basically the decision was: Not RoR. And based on criterion 2, I decided to stick to a PHP framework, and not go for something else based on Perl or something else since I've been developing in PHP for the past two, almost three years. Having said this, it is all very well to say that CakePHP allows you to use your PHP skills - because it is an object oriented framework/MVC based framework it has its own rich language infrastructure. You still need to learn the CakePHP terminology and the learning curve is pretty steep!
3. Ability to run on PHP 4 Although PHP 5 offers more object oriented features, once again, not all shared hosts offer PHP 5 out of the box. I decided that I wanted to stick to a framework that will offer backwards compatibility and enable me to run on most of the servers that I, as well as my clients, host on.
My further criteria came down to:
4. Must have good documentation Under good documentation I count the following:
- User manual
- Examples and code snippets
- Screen casts and videos - although I do not see these as essential
5. Good support by the user community This, in combination with formal documentation is absolutely essential. All of these frameworks are pretty young and the documentation is also constantly evolving. Some documentation might be patchy in details. This is where the user support in terms of the community comes in. How active are the forums? Is there a bug tracker? Any other informal tutorials, write-ups, comments, blogs and other support?
6. Regular upgrades and bug fixes ..but not so close to each other that the software becomes unstable and unusable. Backward compatibility is also important.
Version number of the software can be used to indicate maturity.
Working off the following list (http://www.phpit.net/article/ten-different-php-frameworks/) one can see that the list has narrowed down to the following frameworks: CakePHP Seagull Framework WACT - since 'disqualified' since the latest version now requires PHP 5 Zoop CodeIgniter
The next step was a bit less scientific - but still fitted in with point 5 - how well is this Framework regarded? How much support does it generate in the 'community'.
I scouted through forums and followed links and surfed the net and tried to get a general feel - and overall, CakePHP did seem to come out tops. A similar check that one can do is the following - do a Google search for each of the frameworks and see how many results are returned. This will give you a good idea of the general support, number of tutorials, number of forum posts and general 'talked about' factor for the specific framework. The results for this exercise can be seen here: http://www.tm4y.co.za/cakephp/ruby-on-rails-popularity-for-web-development.html
In summary therefore, the support for Ruby on Rails and the amount of information available for it is astounding and you will probably not go wrong if you decide to go this route. But if you want to stick with a PHP framework - CakePHP seems to be the route to go!
Related Tags: web design, programming, web development, development frameworks, ror, cakephp
Christine Anderssen is the owner of Tailormade4you and specializes in Joomla, CakePHP and PHP/MYSQL Web Development to build cost effective website solutions for small to medium businesses. Visit us for free Joomla tutorials or read more about our specific Web Development services.
Your Article Search Directory : Find in ArticlesRecent articles in this category:
- Take the Wheel - Drive Customers to your Website
So you own a small business and you have made the decision to build a simple website to gain interne - Hosting Geeklog Sites----Leading To a Booming Online Community
The weblogs are increasingly viewed as a cheaper alternative of expensive content management system. -
-
-
-
-
- Joomla Revolution! How This Free Software Is Changing The Web?
Joomla is changing the web, there is no one better sentence to describe what this young FREE SOFTWAR - Spicing Up Your Blog with 3D Animated YouTube Playlists
People have blogs for different purposes, some people maintain a blog purely for commercial reasons, - Free Image Hosting Service
Image hosting is a part of most web hosting services, providing hosting solutions for images instead
Most viewed articles in this category:
- Beyond the Brand
After completing a "Who, What, Where, Why and How" exercise, there are a few more steps to preparing - SharePoint 2007 New Feature Overview
Sharepoint 2007 is in Beta 2 now and is projected to be released at the beginning of the year but n - Build A Better Website
Building a website isn't usually rocket science, but you have to do your homework. Just like buying - How To Install SharePoint 2007 Beta 2
Following are the detailed instructions on how to install SharePoint 2007 Beta 2 on a clean version - How To Accomplish Your Goals With A Web Site
Choosing a small business idea to reach your goals is not easy. You'll need a strong spirit and dete - The Best Web Sites Aren't Free
The best web sites aren't free. While you may be tempted to buy an HTML book and try to put a few we - Web Site Development with Ruby on Rails and Other Programs
Web site development is a very big business these days. Almost every company in the world is trying - URL Forwarding and Redirection
Webmasters and common Internet users have a constant need for URL forwarding and redirection. The r - Self Assessment: How Effective is Your Web Site?
1. Fonts are an important attribute of a Web site. It is essential that fonts are large and c - For Automated Sites - PHP and MySQL are A Perfect Match
You’ve decided to automate your web site. Now what? Here are some ideas to help you choose how