What frameworks are for and why some are better than others
November 11th, 2008
I posted earlier tonight about installing and setting up Picora and I also mentioned that I would probably write a few tutorials and doing something basic with it. I am going to write these tutorials so people will have the option of using Picora if they like. I personally don’t really think that this would be my choice for a few reasons. First of all their website is place holder, which in terms of the web and applications means you will end up supporting the framework as if it were your own. Chances are in a year, if that long, it won’t even have that placeholder. You will just see some girl holding her bookbag and a guy dancing because he got a lower mortgage payment. I could be wrong but I have called it before. On another note if less than one hour after I post a blog entry on how to install and get Picora running I am #1 in Google for “Picora Install” or “How to Install Picora” then their own documentation obviously is horrible, or rather it is nonexistent. If you are going to go the route of supporting dead frameworks then why not just build your own? If you are interested then take a look at this.
Second of all, a lot of the options available in their classes look kind of thrown together or somewhat copied over from CI. In fact I just spent the last two hour avoiding using their ActiveRecord class because I see no need for it. I would rather define my own Application Model class with my own functions to handle a few things, if I even need that, and then extend it in my models. So what I am saying is that there are a lot of frameworks out there, most people won’t know what you use either so don’t go for the hardest crap just to be L337. The point of a framework is to SAVE you time not steal it from you slowly.
So if a framework is supposed to save you time and make your life easier then, in my opinion, the most important things it can have are the following:
- A great community such as the one at any of the CakePHP sites or IRC Channels
- Awesome documentation, CodeIgniter wins this one. No one can even begin to mess with CI Docs
- Extensibility, you should be able to extend and improve every part of the framework in a standardized manner. i.e. Plugins or Modules
Because of the way I see frameworks and development I think that the best choice for those who want loose structure that is not required then go with CodeIgniter. If you need help constantly and know that you will need others to help you figure things out then on top of taking a class at your local community college you should check out Cake, their communities aren’t always the friendliest but there are so many that you are very likely to eventually get some poor guy to write the code for you.
The overall message here is that while I may not have chosen this as my primary, go-to framework for rapid development, others may. So when you are out there and see a blog post about using something like Django and you know that it sucks and you can’t stand Python and you really want to post a comment on how much Python sucks and Django is the natural extension of it’s suck then don’t. Just walk away and be happy that they enjoy developing in something that you can’t stand. By my rules above Django has great community, great documentation, plenty of modular additions, and on top of that a good number of books. So why make fun of that guy, he has all he needs to build and get support.
Always remember above all else though that this is all personal choice, that is the main point and to show you what I mean. Look at how irritated Allard obviously must of been by all the talk and the flooding of the internet with frameworks. Here it is, promises everything you could possibly ever want. Check it out and see what I mean.









