A Tale of Two Frameworks (Times Two)

Posted on November 7, 2008, under The Web Business, Uncategorized, Web Design, Web Development.

I’ve got a couple of upcoming projects on the horizon and I decided to start researching some well known frameworks both the server side and the client side. Most of my programming has been with custom libraries that either I’ve created or ones created by a client/employer. Up until now, I’ve been the wheel reinventor for a while with the notion that I can best get into the guts of the code if I built the libraries. Now, that’s ok for smallish projects, but as projects get larger and more complex, there are definite problems with that approach.

A web application framework, according to Wikipedia,  “is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. The framework aims to alleviate the overhead associated with common activities used in Web development.”

If you expand that definition to include both client-side (CSS and JavaScript for the browser) as well as server-side (for the web server using a language like php, python or ruby), then you have the making of a development platform for creating just about anything on the web.

So, today I wanted to share my justifications for using frameworks and what that means to site owners, designers and developers alike. There are many considerations when you’re shopping around for frameworks and understanding the business implications can help you decide.

For the site owner.

So, if your site is being redesigned or re-architected or if you are having new development work done, then here are some good reasons for having your web team adopt frameworks:

As a site owner, you’ll also have to consider the downside of implementing a framework for your project. Here are a few things to consider:

For the designer/developer.

If you’re a designer/developer considering the switch to a new framework, then you need to also consider the following:

How to choose a good framework.

Whether you’re a site owner or a coder, the selection process is similar. Consider these tips when choosing a framework:

Doing your homework will help keep you from wasting a lot of time when evaluation a framework.

About my search process.

Over the next few weeks, I’m going to evaluate a number of PHP, JavaScript and CSS frameworks to hang my technical hat on. Here’s my unscientific criteria for making my choice:

  1. Does the framework provide the basic functionality I need? I, for the most part, don’t need a ton of widgets or prebuilt functions, but I do have a specific set of needs based on my workload and knowledge.
  2. How far can I get in a week? Overall, how productive am I with the framework? I want to know how easy the framework is to do a real life example. My evaluation process will involve choosing one PHP, one JavaScript and one CSS framework and seeing how far I can get with a minimum of hairpulling on my part. I want to see if the framework will increase my productivity in the long run.
  3. Does the framework support the way I code? I’m pretty set in my ways as a developer, and I want a framework to compliment my workflow, not bash heads with it.
  4. How good is the documentation and how active is the community? It’s a natural part of learning the framework my own.
  5. How complete is the featureset? How customizable it? Does the framework have everything that I’ll need to develop the kinds of sites I need to create? If not, how easy is it to modify the framework to round out the features I need?
  6. Am I having fun with the framework? It might sound corny, but I really like coding. I got into the business to have fun and feel passionate. I want to know that the framework I use helps me keep the passion alive.

Here are the frameworks that I’ll be evaluation:

PHP: CakePHP, Codeigniter, Symfony and Zend Framework

JavaScript: jQuery/JQuery UI, MooTools, YUI and Prototype/Scriptaculous

CSS: Blueprint, 960 Layout, YUI CSS and my homegrown CSS framework.

As I evaluate each framework, I’ll be posting my findings and how they compare with eachother. I invite everyone to share with me your criteria and experiences.

Share and Enjoy:
  • Digg
  • Ma.gnolia
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Technorati
  • NewsVine
  • Google
  • blogmarks
  • Design Float

Leave a Reply