Jul 1, 2010

The Framework To End All Frameworks

With the specs, prototypes, and DB schema complete, I started work on the framework for my app yesterday, which will provide features like: clean URLs, routing, MVC architecture, Data sanitization, authentication, CSRF protection, and form validation.

Why roll my own? I've used three CMS systems (Wordpress, Joomla, and Drupal) and three frameworks (CakePHP, CodeIgniter, and Kohana). All of them force me to do things in funky and hacky ways. All of them are too big and slow - they load up so many dependencies, slowing down the system, and I don't use 90% of the features. The features that would be useful to me, such as access control lists, are implemented in a way that would not be useful to me, so I've ended up rewriting those systems anyway. After getting experience with these systems, I have some great ideas for what an idea framework for me should be like.

It should be lightweight and do only what I need it to do. I don't plan on using ActiveRecords or ORM because my SQL queries will be too complex for that. I plan on building only what I need as I go. In other words, it WON'T be the "framework to end all frameworks", it will be the "framework I need for my particular app".

I do plan on open sourcing the framework, code named Tabby, in case it might be useful to others. But really it's designed with my own needs in mind first.

No comments:

Post a Comment