Choosing a framework is one of the most confusing parts in the initial stage of project development. Generally a development team chooses a framework, according to their experiences, comfort levels, framework popularity etc.

But, before choosing a framework there are many things to consider. The following are important criteria in choosing the right framework

  • Application Goal
  • Hosting Environment
  • Quality of the Development team
  • Fixes and Updates
  • Community
  • Security
  • Documentation
  • License
  • Testing

Application Goal
Goal of the application forms an important part in choosing the right framework. For example, if your goal is to develop an eCommerce site, you have to choose a framework which provides much-needed benefits like online payment processing, light weight, fast database connectivity etc.

The following are some of the sample application types which are suitable for each of the below frameworks

Laravel Symfony CakePHP Yii CodeIgniter
Medium Scale Portals Large Scale Portals Medium Scale Portals Medium Scale Portals Medium Scale Portals
eCommerce Mobile web applications Mobile web applications eCommerce Simple dynamic web applications
Mobile web applications Light weight applications Light weight applications

Hosting Environment
There are many types of hosting environments like shared, individual, cloud etc. Many PHP frameworks require customization in the hosting environment. So, we need to choose the right framework, according to our hosting environment options.

Laravel Symfony CakePHP Yii CodeIgniter
Needs some customization Needs some customization Needs some customisation Needs some customisation No need for customisation
Much suitable for shared hosting Much suitable for shared hosting
Supports CLI Supports CLI Supports CLI Supports Yii CLI

Quality of the Development team
It’s important to consider the strength and weakness of the developer(s) who are actually building and maintaining the application. Some frameworks are user-friendly and better for beginners. But some frameworks are strict in their coding standards.

Laravel Symfony CakePHP Yii CodeIgniter
Suitable for beginners Suitable for beginners Suitable for beginners
Strict in coding standards and patterns Strict in coding standards and patterns

Fixes and Updates
Fixes and updates are important things, which help in maintaining a framework. Always try and choose a framework which is updated often and which is open about its bugs and fixes.

Laravel Symfony CakePHP Yii CodeIgniter
Excellent Excellent Good Ok Ok

Community
If a framework is well recognized and popular, more support is available from its publishers, community members and service companies. If it has many applications or large community, we may have the provision to get many external libraries and packages as well.

Laravel Symfony CakePHP Yii CodeIgniter
Good Community Good Community Good Community
Huge no of external packages Huge no of external packages Comparatively less no of packages

Security
Web applications are potentially vulnerable. It is always better to select a framework which is capable of ensuring the security functions like XSS, Xsrf, Sql injection etc.

Laravel Symfony CakePHP Yii CodeIgniter
Good Good Good Ok Good

Documentation
A good documentation is important to understand the framework, libraries and it’s plugins. So it is always good to evaluate the nature, volume and quality of existing framework documents.

Laravel Symfony CakePHP Yii CodeIgniter
Good Excellent Excellent Ok Ok

License
Licenses are important for web applications. If an application has been developed using a BSD-licensed framework, it will be subjected to BSD license only. We can’t use that application for other license purposes.

Laravel Symfony CakePHP Yii CodeIgniter
MIT MIT MIT BSD MIT

Testing
Testing is an important process in the development cycle. Frameworks which developers write unit tests are a definite advantage. Many of them provide the option to write test cases.

Laravel Symfony CakePHP Yii CodeIgniter
Good Excellent Good Good

Have something to add to the conversation? We’re all ears!

Leave a Reply