Why A Framework Might Be Of Interest To You

If you answer ‘yes’ to any of the following questions, you could probably benefit from using a framework in your next project:

  • Do you have the sense you’re cut and pasting a lot of code?
  • Are you performing the same repetitive tasks for each new project, ie:
    • handling permissions
    • user authentication
    • separating your code from the website’s look and feel
    • caching
    • site navigation
    • creating installers
  • Are you grafting together bits of other peoples’ solutions, ending up with a mish-mash of coding styles and approaches?
  • Do you feel your time to market estimates could be shorter if your projects were more organised?
  • Do you have trouble getting new developers on the team up to speed with existing projects?
  • Have you experienced problems dividing project tasks up amongst developers because there was code overlap?
  • Do you want to be able to recycle code that solves distinct business problems, just by inserting it as a component and switching the look and feel?

Answering ‘yes’ to one or more of these points indicates you could probably benefit from the more systematic approach offered by a framework. Check out some of the General/FrameworkFeatures that are available in this project.

There have also been some interesting comments in PHP circles recently on the use of frameworks:

Because it’s useful to get standard foundations, the same way to build an app. It may be harder at the beginning but then everyone speaks the same language. It’s a reason why Java is popular.

– a Sitepoint reader asking why bother with frameworks

The result of this framework is that 10-20% of the total code for a project is application specific. giving a huge reduction in code size, and improving readability and maintainability considerably.

– Alan Knowles discussion of his Flexy framework

  • “Hello, world” examples do not help build real apps
  • Most developers did not wish to deal with low level server functionality
  • Many people building web apps were newcomers to [insert programming lang here], as well as newcomers to the web

– Craig R. McClanahan, creator of Struts