Skip to content

The BIG Reason

Music, opinions, and portfolio of Mark Eagleton, musician and web developer in Northern CA.

I like the zoo so much better than a monkey

There is quite a bit of mystery surrounding the concept of web development frameworks. The framework is old hat in the programming world. The user friendly, DIY nature of web design exposes this concept to people who otherwise wouldn't have heard of such a thing.

Yesterday, on two separate occasions, I was inclined to clarify the differences between a web framework and PHP. The first situation could actually cost me a nice chunk of change. The second was nearly a slobbering geek-out session over web development smut, but was quickly thwarted by my boy running off into the pizza parlor with a large group of strangers.

So here, in the privacy of my own bathroom, I can bask in the full majesty of my thoughts, and clearly lay them out on the tile in perfect sequence. My goal is to clarify the concept of web development frameworks on a very basic level.

The Wikipedia defines "Framework" as:

...a defined support structure in which another software project can be organized and developed. A framework may include support programs, code libraries, a scripting language, or other software to help develop and glue together the different components of a software project.

A buddy of mine¹, recently took a job writing content management systems in ColdFusion. A very nerdy and gratifying job, indeed. My buddy cut his teeth on PHP, so naturally he often compares ColdFusion to PHP:

I like ColdFusion so much better than PHP."

This statement, while entirely accurate (and likely, very true), is not completely fair. ColdFusion is a framework. PHP is a scripting language. Of course you can like one more than the other, but it isn't entirely fair to judge them by the same set of standards².

Loosely put, a framework is a group of components. A scripting language is a single component of a framework. Similarly, a zoo is a place where many exotic animals are on display. A monkey is an exotic animal. (It would be more appropriate to compare PHP to CFML, a scripting language you use when developing in the ColdFusion framework.)

Admittedly, this example is a little over simplistic. Despite the fact that it is possible to build a framework with PHP, and much less possible to build an entire zoo with a monkey, I think it illustrates my point in a generalized sort of way.

Why Frameworks Kick Ass

Frameworks are insanely cool for web development. Building a dynamic website without a framework involves manually marking up the pages, setting up the databases, writing the scripts that make the website work with the databases, and buttoning up the thousands of bugs, security holes, and display issues that creep up along the way.

Frameworks automate much of this by using libraries of pre-written functions and scripts that do simple things like simultaneously pulling and parsing data from your database in easy to read code snippets, and very complex things like automatically creating your web forms, site structure, and navigation behind the scenes as you build your database tables.

Some frameworks come with built-in databases, web server software and GUI's. Their purpose is to free the developer from bothering with mundane design details and setup so s/he concentrate on the overall requirements of the website/application.

A dynamic website that takes you two weeks to manually develop with PHP and MySQL, could take you as little as two days with a framework like Ruby On Rails.

Popular Frameworks

For further reading, I've compiled a short list of Wikipedia links to some popular/getting popular web frameworks so you can easily learn more about them and compare features.


  1. Making a blatant example out of your friends is a good way to loose them. Letting them retaliate in your comments is diplomatic consolation. ↩
  2. For the record, my buddy thoroughly understands the difference between ColdFusion and PHP. This experience is just a handy example to use. And yes, I would argue that ColdFusion kicks the ass of many a web framework. ↩