Today a colleague of mine was asking about other’s ideas about dropping WordPress as their main framework for development. As someone who worked with CodeIgniter for a while and in a high-traffic website, I had ideas to share which I would like to share with you as well:
I think dropping WordPress is a good idea. It has a lot of unnecessary footprints.
Indeed CodeIgniter is a fast and lightweight framework, among all the other available ones. I used to work with it for quite a while, and I was happy with it till it was hit with lots of traffic, then it started to show that even a lightweight framework has a huge impact on performance. We took the components that were heavily loaded out of the CodeIgniter and with a few tricks performance was improved enormously.
Developing based on frameworks is fast and easy at the early phases of development, but later in the project when you want to do something which the framework is not intended for, you will find your hands tied.
You have to either extend the core, or hack it. Both, means you have to understand underlying layers of the framework, and that is time consuming.
I believe the best way is to implement your own core architecture. This way you master the core and you can tailor it to your exact needs.
Then you can use libraries/components/frameworks around it for specific features. (e.g. Django’s admin features are amazing and super-fast to setup, but you could only benefit the Admin section from Django and not the whole architecture).
YOU should be the Master of your application’s framework and not vice versa.
I heard once this beautiful saying about frameworks from “Stefan Priebsch” (@spriebsch); imagine “Ruby on Rails”, it’s on “Rails” so it’s very fast, but when “The Rail” twists, you have to twist too, you have no other choice!
That was my 2cents on back-end architecture. Here is a good article, worth reading.