A question that most entrepreneurs have when they start building their products, specially Web Applications is – “which technology or platform to use.” This is very true for entrepreneurs who don’t come from technical background and don’t have a technical co-founders. Getting advice from friends and well-wishers is helpful but not the final deciding factor as usually these are varying based on each ones experience. Another major issue I have seen with getting advise from friends and well-wishers is that they will not be involved in long term vision of the product the way a business owner or stake holder is involved and their advise will usually be from superficial understanding and not a deeply studied response.
Most popular choice for web applications globally is PHP with 42% of web applications across the entire web powered by PHP. https://trends.builtwith.com/framework/PHP For PHP also the trend is to use a CMS or a framework based on PHP and not plain PHP.
So the next questions that pops is which PHP framework or CMS. This is a tricky one with so many options. Here we very strong endorse PHP based MVC Codeigniter framework. We do this after a very very thorough research to ensure that our customers get the best of that a platform can offer and yet the cost is effective for an entrepreneur.
Codeigniter compared with other frameworks
First and foremost what everyone needs in the platform is performance. Check these performance tests here Codeigniter is clearly the leader with the highest requests per second, best execution time and least amount of memory consumed. These tests were done on latest version of php which proves Codeigniter is future ready and has only matured with time. Symfony laravel and Zend are lagging far behind – the primary reason being their bulk – their codebase has grown so much that they need too much resources to run optimally.
This is one place where frameworks like symfony, Laravel and Zend are better than codeigniter. They offer many readymade components and allow quicker development. However in our case this is not a disadvantage. We have already built the main components that we need for our projects as modules. However is regular scenarios where you have to built an entire project from scratch it will take a little more time with codeigniter.
Most of the php framework are heavy weight and follow very strict standards. This does not allow for making any changes and if you do then it affects too many places and becomes counter productive. Codeigniter is light weight and closest to vanilla php. This is specially good for developer so that they an follow their own coding style yet get the benefit of a framework.
Another area where codeigniter rocks. The other frameworks ever increasing codebase makes them more complicated and difficult to master. Codeigniter is the easiest to understand and even beginners can pick up the language.
Documentation and community support
Codeigniter may not be the best here but it definitely Is second to none in this department. Codeigniter has very good documentation and user guide it is supported by ellilab makers of enterprise CMS expressionengine. It has been adapted globally and has a very strong community which contributes back.
Security wise also codeigniter is is as good as any framework and much better than CMS’s but this depends a lot on how your developer has coded the application.
Conclusion – codeigniter holds its own against other frameworks in nearly all the department’s but has edge over all others whenit comes to performance.
Codeigniter compared with CMS’s
Comparing codeigniter framework with CMS is not like comparing apples with apples. There are certain areas where CMS would be miles ahead and other areas where codeigniter would be far ahead, for example I won’t even consider codeigniter if I have to build an e-commerce site as CMS’s like magento and wp/woocommerce gives me readymade features that will take me ages to build using a framework. The reason for this is – both are different utilities and you have to decide on a CMS or framework based on your usage,project requirement and goals. A very good article on how to select between CMS and framework is here and another comparison of cms vs framework with explanation about them here
But will list down few very relevant points below to help entrepreneurs make decision.
The Type Of Your Project
Using a CMS when the features you need are core part of that CMS makes sense for example using WordPress or similar cms for a blog or a simple content based company website or magento/prestashop/woocommerce for an e-commerce based website makes sense as these system are architectured for these domains and provide and host of features and functionality with best practises. We have built our food delivery system on an e-commerce cms.
However for a pure web application it does not make sense to use a cms even if a plugin offers that feature. This is coz you may get the basic features that you need from the plugin but you will loose flexibility completely. As stated before most of the cms will not be architectured for your web application. So any further changes you make will require huge amount of efforts and in most cases customization also brings in a while lot of bugs as the readymade cms will have a lot of interdependency in modules and code. We worked a while back on a airbnb type web application built using magento by a vendor. A simple change that would generally require 2-3 hours if a framework would have been used needed days of efforts not only in coding but in testing all related modules and then fixing the bugs again, this was causing so much issues in iterations that eventually we redid his entire site using our airbnb codeigniter framework and the new site with additional features he wanted actually cost him much lesser than just adding new features in the magento type airbnb site(and yes the original vendor of magento airbnb had quoted an outrageous price for adding those features, thats why client had come to us).
Using a cms might sound like a cost saving idea upfront for web applications when you start but is going to turn very costly affair down the line when you web application grows so choose wisely. plus if you customise a CMS you will not be able to update your website and if you do then be ready for a thunderstorm.
Performance wise generically a framework will preform better than CMS however there maybe exceptions in this.
Security is a major loophole in CMS’s with nearly 40% of websites hacked globally built on 3-4 major CMS’s. The major reason for this being that hackers are very well aware of the system architecture of these open source cms’s and can easily exploit loopholes.
One area where CMS are good is UI experience where even a regular no technical user can manage the site from backend.
So generally speaking CMS are good for regular business and info websites and few specific domains like ecommerce etc. as they offer quick time to market with lot of readymade features and choices of design however I wont use a CMS for major web applications with complicated architecture and something that would require me to consistently update features and functions.
Readers – Do Share your views on this