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.
I recently had the opportunity to develop a small online booking system. This time round I was determined to make use of some development framework. Not for me the slow slog of writing all my code from scratch - surely we have moved beyond that now in web development?
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 this site you can find about 40 PHP frameworks listed - http://www.phpwact.org/php/mvc_frameworks). 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've 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 pre-installed. 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 didn't 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 - '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 Videos
- Related Articles
- Ask / Related Q&A
- Offshore Web Design, Web Development, Internet Marketing and Software Development Services
- Web 2.0 Application Development : Web 2.0 Development India : Web 2.0 Application : Web 2.0 India
- Provab Is A Global It Services Company Provides Web Design, Web Application Development, Portal Development And Seo Services
- Provab Is A Global It Services Company Provides Web Design, Web Application Development, Portal Development And Seo Services
- Provab Is A Global It Services Provide Web Design & Development,Portal Development & Seo Services
- Advantages of Application Servers in Web and Software Development
- Developing Web Based Application using PHP
- 10 reasons for developing web applications with PHP




How To Earn Money Blogging Without Writing
By: Lyle Holmes | 03/01/2010One of the many benefits the Internet offers business owners is the ability to outsource your day to day activities. In this article we will take a look at how you can use outsourcing to earn money blogging without writing a single word yourself.
Caribbean Stud Poker: How to Play
By: sean sandvik | 03/01/2010Here you can learn how to play Caribbean stud poker, one of the most popular table games in land and online casinos.
Are Money Making Websites A Top Internet Business Start-up Idea?
By: Cynthia Minnaar | 03/01/2010These of course are just the basics for those wanting to know about why money making websites are a top internet business start-up idea. There is some great training material online to help you further your education.
Starting An Internet Business Is Simpler To Do Than You Think
By: Paul Jesse | 02/01/2010There are a lot of people that want to start their own internet business, but never do because they believe that it is too hard to do. The truth is that starting an internet business is much easier to do than most people think it is. There are some important things that need to be done in order to get your business started. Once you know what these things are, it will be simple to get any internet business started that you want to.
How to Bet Money Online
By: Alex Weidmann | 02/01/2010When suddenly a payment into the house stands, was not reckoned with or certain needs to be immediately met, for many people, only a into question. He will start if their budgets are not sufficient to make the payments.
5 Ways to Increase Your Website Traffic
By: Samuel Dillehay | 02/01/2010This article is about ways to increase website traffic. It discusses the importance of learning internet marketing techniques as well as maintaining a positive attitude and good work ethic.
Understanding the Web Design Process
By: John Bladeus | 02/01/2010A good way to understand the web-design process is to understand it through a case study. In this article, I will present the case study of Jake, a busy web developer, as he works with a client to create a small web page. 1. Gathering Design Requirements Jake has a new client,...
Website Builders - What to Consider When Choosing a Service
By: Jason Kay | 02/01/2010These days it seems just about everyone has a website. You may think you don't know enough to create a website of your own, but with website builder services anyone can easily create a website. You don't need to know any programming or how to write code - these services...
7 CSS Layout Tips
By: Christine Anderssen | 05/05/2008 | InternetThe most difficult thing to get right with CSS is the layout. Various browser standards add to the complexity and what works in Firefox inevitably does not work in IE. These tips might help you save some man hours!
Ringtones and Copyright - What is the Status?
By: Christine Anderssen | 19/04/2008 | TechnologyHistory of ring tones - a quick overview as well as a look at some of the legal and copyright implications.
Web Hosting Overselling
By: Christine Anderssen | 10/01/2008 | InternetHosting overselling means that a hosting company is selling much more of its resources than it has available, on the understanding that not everyone will utilize the hosting packages to the full. This article looks at whether hosting overselling is a good thing or a bad thing, or whether it does not really matter.
Start Up Website Design
By: Christine Anderssen | 28/12/2007 | MarketingIt is often tempting to spend as little as possible on a website when a company is just starting up. This article reviews the costs that go into a website and points out the pitfalls of going for a too cheap website option.
Why Internet Marketing is Similar to Weight Loss
By: Christine Anderssen | 16/11/2007 | InternetThe Internet Marketing and the Weight Loss industry have some disturbing parallels. This article is a tongue in cheek look at why.
Corporate Blogging - Pitfalls and Guidelines
By: Christine Anderssen | 12/11/2007 | InternetCorporate blogging can be fraught with problems and pitfalls, although it does offer a way to spice up a corporate website. Here are some guidelines that corporates should consider if they are thinking of allowing their employees to blog as corporate bloggers.
7 Reasons a B2b Company Should Have a Website
By: Christine Anderssen | 29/10/2007 | MarketingCorporate B2B websites are not the most glamorous animals, but can a company really afford to be without one?