Refresh Rockville
September 8, 2009

How leveraging web development frameworks can strengthen your skillset.

Introduction

What is a Framework?

Pylons is a lightweight web framework emphasizing flexibility and rapid development.

CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications.

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

Ruby on Rails is an open-source web framework that's optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration.

The Framework Advantage

Organization Matters

Software Entropy: A Broken Window
One broken window, left unrepaired for any substantial length of time, instills in the inhabitants of the building a sense of abandonment...
The Pragmatic Programmer

Rapid Development Matters

Debugging Matters

We are human and we make mistakes. Frameworks should provide a rapid way to find those mistakes.

Security Matters

Security should never be an after thought. Good frameworks make securing your application fairly straightforward.

Pretty URLs Matter

Providing your application with pretty urls can improve user experience, as well and provide a consistant interface to your application.

Reverse Routes!

Other Topics Also Matter

Other topics in quick detail:

Should you use a framework?

If you look for them, you'll find more opinions regarding frameworks than you could possibly care to read. My personal feeling is that:

  1. unless you are writing an application that can't afford the performance penalty that is likely to come along with any framework (perhaps < .005% of applications on the Internet are in this category, and congratulations if you are working on one), or
  2. you are working on an application that doesn't need a framework to begin with, or
  3. you shouldn't be writing a custom application (when perhaps the best thing you can do for your client is choose a proven CMS ... one that eases content management/maintenance/etc) than

YES! Do it

Contact Information