“Why develop another framework?”

The question of “why do you create another framework?” pops up to me time to time. The typical message that comes after that:

There are already so many well-designed and constructed community-powered standardized updated modular MVC OO blah blah blah frameworks out there on the shelves. Why bother creating another one that’s probably not going to work?

Well, my primary aim of developing frameworks was to learn. It was in fact through developing frameworks (Samstyle PHP Framework and phpRaise) past five years that I learnt much about software development.

“Why think out of the box when you can completely remove the box away?” — Anonymous

Yes I may be reinventing the wheel but what’s the harm of it? Let me tell you what I’ve learnt over the years that probably may never be taught in classes:

  • Modal View Controller (MVC)
  • Templating
  • ORM
  • Database Abstraction
  • phpdocs / in-code documentation
  • SVN
  • Git
  • LINQ
  • YAML
  • Continuous Integration
  • Unit Testing
  • Gang of Four Design Patterns
  • and many more which I may have missed out.

I strongly believe that through open source projects, a two-way learning opportunity exists between fellow software developers and me. This opportunity didn’t come by twenty years back. It was open source that made me understand the difficulties and importance of the entire Software Development Lifecycle (SDLC).

So what’s so different about Packfire Framework for PHP you asked? Different frameworks target different problems to form solutions, and different users have very different needs. For Packfire, I define it to be:

  • Low footprint
  • developer-intuitive
  • code generation
  • strict Object Oriented
  • well encapsulation and cohesion
  • RESTful
  • API-oriented

In fact, with Packfire Framework, I was able to write code more efficiently and be in control of the code I write. Currently I have several websites and server projects that leverages on the power of Packfire Framework and that I am able to develop quickly and comfortably.