MVC Frameworks
I recently commented like a super-cowboy on devkungfoo’s blog. I made the following (stupid|hot-headed) statement:
I’m considering writing my next big project from scratch, steering clear from any frameworks for now.
Believe me if I tell you that its been on my mind for most of my holiday. I should really learn to think before I shoot my mouth off like some MG42 (I’m playing Call of Duty 3
) machine gun!
Let me explain. With the coming of Web 2.0 there has been a lot of focus on MVC (Model-View-Controller) development frameworks. What makes them special is that they follow some very important development principles like the DRY (Don’t Repeat Yourself) principle and they do Database abstraction GOOD! They also encapsulate a lot of standard functions in a “tool library” (if I may call it that) that makes software development quick. Really QUICK. They also separate your data (Models) from your logic (Controller) and your HTML (Views). So all in all, I do not for the life of me know why I made such a comment! MVC’s are great and should be used. To redevelop from scratch, although very novel and brave, is somewhat stupid. Yes, I know I’m contradicting myself something awful, but I’ve been known to do that due to my bloody motormouth.
Last year I spent a lot of time researching a bunch of MVC frameworks. I first of all looked at Ruby on Rails which is arguably one of the best frameworks out there. The cons of this frameworks for me was:
- Its new and most ISP’s do not support it. Our ISP said the only way they’ll host it is if we farm our own server at them and maintain/install it ourselves. Now that seemed like a fun and interesting prospect at the time, but time was the major constraint!
- The other point is that it is a new language which I needed to learn. Also a time constraint issue, although they have a GREAT thing called InstantRails for Windows that do the entire setup process for you! So I have played with it and would definitely look at doing some projects in future using RoR. Ruby is a wonderful language!
Another great MVC framework written in Python and well worth while checking out if you can develop in Python is Django. But the same goes for Django that goes for Ruby on Rails.
I then decided to look at what is available in PHP since I’m proficient in it. Was I pleasantly surprised! There are hundreds of frameworks! All flavors and for all versions of PHP. Lovely! I still found that there is quite a learning curve involved in these PHP frameworks and although I know PHP like the back of my hand, I have to learn how to implement things utilizing the framework to its full potential!
I ended up singling out two frameworks: CakePHP and Code Igniter.
CakePHP is considered the Ruby on Rails of PHP. A great and extremely powerful framework it is, but I found it a bit clunky and big and in some instances simply overkill!
Code Igniter on the other hand is extremely lightweight and flexible and a whole lot simpler to learn. It lacks in certain aspects as at the time it had no AJAX support, but including AJAX was not a big issue as it was easy enough to do.
So, out of the frameworks, Code Igniter is the one to use for small to medium sized projects.

technorati tags:softwaredevelopment, programming, mvc, frameworks, php, rubyonrails, ror, python, django, webdevelopment
Blogged with Flock
5 Comments to "MVC Frameworks"
Spit it out!
Code Igniter, PHP, Python, Ruby (on Rails), web development Stii
Recent Posts
- Astalavista Wordpress!
- Lifestreaming and Twitter is making us lazy
- Days with my father
- Friday morning fail by a stripper
- Got Springleap!
- Afrigator vs Regator
- Don’t pirate music/movies! You might be forced to use Windows if you do…
- Pike > Python?
- Using Twhirl for FriendFeed
- Being anti-social SUCKS!
My Posse
- Jayx’s bloggy
- Gogo’s blog
- Go2 South Africa
- Stumble Upon
- Dave Duarte
- Wikipedia
- zlythern
- Max Kaizen
- Tresblue
- Mike Stopforth
- RafiQ
- Muti.co.za
- Employmint
- Danette’s Bloggy!
- Thinking Machine
- White African
- kiefpiet.co.za
- Skuff’s World
- Goozeberry
- Crossloop blog
- Crossloop
- Aquila Online
- Charl van Niekerk
- Derek Allard
- Code Igniter
- Carls
- Justin Hartman
- blik.co.za
- Stefano Sessa
- Uno de Waal
- Amplitude!
- bLaugh
- Tyler Reed
- Chris Rawlinson
- Stormhoek!
- 3am
- Mike Solomon
- Mobile Q and A
- Eric Edelstein
- Marc Forrest
- Imel Rautenbach
- Absolutewillie
- Vincent Maher
- Colin Daniels
- Groogle!
- Chilibean
- Paul Jacobson
- Ayelet
- Python Guru Neil
- Rails Guru Nic
- Beverley Merriman
- Miguel
- Nic Harrywhatshisname
- Chris iMod
- Geekrebel!
- Steven McD
- Belinda sweetheart!
- Henre Rossouw
- JPGeek
- Foxinni
- Adii
- Charl Norman
- Bandwidthblog
- Jason Bagley
- Simon Botes
- Auric Silverwing
- Mark Forrester
- Saul Kropman
- Fred Roed
- Sass Schultz
- Gregor Rohrig
- Catherine Lückhoff
- Toastmasters
- SAA
Filed in
- Afrigator (26)
- ajax (9)
- API (2)
- Apple stuff (10)
- Blogging (25)
- browsers (5)
- Business (28)
- Code Igniter (8)
- firefox (8)
- flock (14)
- Funnies (73)
- GeekDinner! (18)
- General and sometimes Rants (49)
- Go2SA (2)
- ideas 2.0 (14)
- javascript (12)
- Kick-ass Tools (30)
- Linux (5)
- Marketing (25)
- moo.ajax (4)
- mootools (6)
- Open Source (10)
- Programming (33)
- C# (1)
- PHP (13)
- Python (9)
- Ruby (on Rails) (9)
- RSS (5)
- Semantic Web (32)
- Social Web (57)
- Software Development (15)
- South Africa (33)
- Tagging (6)
- Techie stuff (22)
- Tshirts (3)
- Tutorials (42)
- Blogging (17)
- Flocking (6)
- muti.co.za (13)
- Web 2.0 (73)
- web development (20)
Past Stuff
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006















Hi Stii,
I suffer from the same motor-mouth complex, especially when I post after a good piss-up
and I firmly believe that self-contradiction has it’s place too or else we’d be very dull people.
You’re welcome to make hot-headed comments on devkungfoo anytime
[...] After my “discussion” with devkungfoo about PHP MVC frameworks, I decided to re-develop one of our current projects in Code Igniter. The project was about 60% complete, so I thought it might not be a bad idea since I’m anyway not going to have time playing with CI. [...]
[...] that generates Javascript functions/classes. That for me is somewhat against the grain of the whole MVC philosophy. You already seperate your database access from your business logic from your HTML views. Now, you [...]
If you’re still in a Frameworks “frame of mind” you ought to have a look at Zend’s php framework: http://framework.zend.com/
From the folks who know php pretty well, it’s a great and easy to use framework coming out in version 1.0 very soon.
Good luck.
Free Software Downloads…
I couldn’t understand some parts of this article, but it sounds interesting…