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
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
|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|
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.
|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.
|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.
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.
|Good Community||Good Community||Good Community|
|Huge no of external packages||Huge no of external packages||Comparatively less no of packages|
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.
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.
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.
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.