It is important to note the position of Phalcon. Several years ago this framework was quite popular among developers.
Today it has lost his position in most ratings. Also, according to NPM-stats, the number of downloads of Phalcon packages has significantly decreased. Therefore, this
framework has dropped out of trends and will not be in demand in the future.
In total, based on Github statistics, constant trends are Laravel, Symfony and Code Igniter. If you are not familiar with these
frameworks, then it's time to start exploring. Firstly, there will be a demand for relevant specialists. Secondly, they have a wide community, so it’s easy to find instructions and helpers.
P.s. all statistics as of March 13, 2019.
Usage statistics
The last question of popularity is the frequency of using one or another php framework to create a project. Immediately obvious spoiler: Laravel ranks first.
But other indicators differ from the ratings created on the basis of Github. As you can see, Code Igniter changed places with Symfony, and Zend came in at 4th place, shifting Yii2 (5.1%) and CakePHP (5.5%).
Again, the top three is unchanged. Interest in this software by 2020 is almost obvious. Because with them, I want to start analyzing the last element - the advantages and disadvantages.
Pros and cons of frameworks
Laravel
One of the oldest frameworks released in 2011. If Angular in Javascript has lost its position since 2012, relinquishing React and Vue today, then Laravel is confidently in the first place. This is a comprehensive mobile app development trends 2020 using the MVC architecture.
It includes many unique Laravel packages, the Blade templating engine, unit
testing and other tools. Also, this framework simplifies code organization through abstract routing.
Benefits:
- high-quality and clear documentation;
- strong encryption packets;
- fast integration with additional libraries;
- large community;
- queue management feature.
Disadvantages:
- does not work on shared hosting;
- creates many queries in the database.
In the summer of 2018, Laravel released Nova, an optimized and
simplified administrative panel design. It is almost a year old, but many developers are still exploring the possibilities of this update. But today, most argue that Nova greatly facilitates the work and gives more opportunities for "creativity".
Symfony
To promote this
framework, it was advertised as a stable, high-performance project with excellent documentation. After a direct check by the programmers, it turned out that the words were not thrown to the wind, thanks to which Symfony came out on top. Today it is used by such large companies as the BBC, and also often integrates with Drupal and eZpublish. USed for high-load
eCommerce projects.
Benefits:
- high performance due to bytecode caching;
- good documentation;
- stable updates that do not create bugs;
- large community.
Disadvantages:
- very steep learning curve;
- does not support MVC;
- is aimed at progressive developers, rather than novices;
- sophisticated security mechanism.
Symfony is a very good option for highly qualified specialists. It allows you to use only the necessary components, instead of accessing the entire library at once, which reduces the time spent on the project. Therefore, in 2020 there will be a rather high demand for specialists in this development environment.
But if you are just starting to study it, access to large projects is closed for at least 3 years. Symfony is not as simple as it sounds. And it will take a lot of time to bring most of the key actions to automatism.
Code Igniter
The framework that follows in toe Symfony and will undoubtedly be one of the trends in web development in 2020. It is a fast and simple development environment with small file sizes. It can be installed by simply uploading it to the hosting, without using special software or the command line.
Benefits:
- uses the MVC structure;
- quick and easy start;
- low learning curve;
- good documentation and long-term support;
- the ability to integrate standard databases;
- available for beginners.
Disadvantages:
- the unit testing process is complicated;
- few built-in libraries;
- there is no built-in ORM;
- updated less frequently than other frameworks, which may not meet high standards.
Code Igniter, first of all, is very good for beginners programming. A small set of libraries is a significant disadvantage, but at the same time it is easier to understand the development environment. It should not be forgotten that the release was back in 2006, but today the framework is in the top.
Yii2
Another worthy competitor on the PHP framework market. Its key advantage is quick setup. Yii is widely recognized as the fastest development environment. It's not even about performance, but about the minimum operating time due to simple solutions.
Applications built on the basis of Yii have a simple interface. A notable feature is the ability to integrate with jQuery. This greatly expands the functionality of the
framework.
Benefits:
- flexible (simple integration with most libraries);
- multiple security packages;
- large functionality to accelerate the development and direct operation of applications;
- the ability to customize almost every code fragment.
Disadvantages:
- inaccessible for beginners;
- it is easy to get lost in the code without proper experience;
- steep learning curve;
- it is impossible to create complex web applications.
The infrastructure is quite complex and confusing, but it is a very powerful tool for rapid application development. According to BuiltWith, companies from over 90 countries use this framework to create Web 2.0 applications.
Zend
Another popular development environment among large corporations. Zend, by analogy with Symfony, allows you to use only the necessary components for developing an application, which greatly simplifies the whole process. This allows you to reuse the previously created code, which is good for the developer.
Benefits:
- MVC structure;
- fast integration with additional libraries;
- good documentation;
- large community.
Disadvantages:
- poorly suited for instant application development;
- steep learning curve.