If you don't know already, the framework is dead. That is to say, unless you have money to burn, frameworks like Zend, CakePHP, Django, Struts, .NET, and even Rails should not be considered as a foundation for building anything but the most unique and game changing websites*. The age of the framework for building websites is gone and it has been replaced by the open-source CMS or Content Management System.
In this declaration I am not promoting any particular CMS (although I'm partial to Drupal myself), simply letting anybody who hasn't heard the news that just about every website needs more than CRUD (Create Read Update Delete), a shared database connection and other simple tools frameworks provide.
What's so great about a CMS?
Almost every website on the planet needs these key features:
- Content management (obviously!)
- Users/roles
- Built-in session handling
- Advanced theming
- Categorization/taxonomies
- Site search
- Widely available modules (add-ons, plugins, etc)
- More formalized code development rules
- Search engine friendly code/urls
While not every CMS has all of these features, many do. Nor does this mean a faster start on new projects but faster evolution of old projects. Open-source Content Management Systems outpace the competition in terms of development time, available features, and fewer bugs every day of the week. That means lower development costs and faster release cycles - and it means outperforming the competition.
Give me some examples
For people looking for specific platforms that fit the CMS profile, here's a short list:
- Drupal
- Joomla
- WordPress
- Plone
- ModX
- Hippo
- Concrete5
- Radiant
There are literally dozens of others to choose from, built in everything from Java to Ruby.
So if you are developer and you are still programming using a framework or (god forbid) a totally custom app, take a few weeks and take a content management system or two for a test drive. You will likely be shocked by how much excellent code is out there for the taking.