Independent programming is something like fiction. For convenient and fast work, as well as writing a high-quality and structured code, a set of tools is needed to facilitate the whole process.
In the case of PHP, there is no such result. The top lines today occupy the same sets of tools, since there were no major breakthroughs like Vue.js. Nevertheless, there are small changes in the ratings. Since PHP is one of the most popular programming languages, I offer you a set of frameworks that will be in demand in 2020.
As a rule, when studying such ratings, many expect to see technical indicators of the software. But, speaking of frameworks, I try to avoid such a scheme. After all, each product is good and fast in its own way. The advantage of one or the other can be far from numbers, but in the usual convenience.
In my research, I relied on the following indicators:
- Github statistics, as the largest hosting of IT projects;
- Google trends as search popularity;
- usage statistics;
- advantages and disadvantages highlighted by programmers in various forums.
- Code Igniter
Laravel is not the first time far ahead of its competitors. As you can see, over the past year, this framework has almost high popularity on Google Trends. Remarkably, it almost does not fall (except for a small period in autumn 2018).
Other products in this plan significantly subside. If you look at the statistics for each separately, then the frequency of search queries. For example, I propose to study the graphics on Code Igniter.
With the other frameworks, the figures are about the same. But in comparison, many of them are practically not popular compared to Laravel. Accordingly, it is possible to make a well-founded conclusion that this development environment will be the main trend by 2020. Even in the event of a breakthrough of other software, it will not be able to quickly climb to the top of the ratings.
GithubIf a web developer says they haven't heard about Github, then there are two options:
- he is lying about his specialty;
- he is lying that he does not know about the service.
For those who do not know:
- stars - the number of users who liked the software (as a rule, the size of the Github developer community using a particular product roughly coincides with this indicator);
- forks - a repository copy that allows you to make changes without affecting the original;
- Issues - proposed problems and ways to improve software.
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.
The last question of popularity is the frequency of using one or another 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
It includes many unique Laravel packages, the Blade templating engine, unit testing and other tools. Also, this framework simplifies code organization through abstract routing.
- high-quality and clear documentation;
- strong encryption packets;
- fast integration with additional libraries;
- large community;
- queue management feature.
- does not work on shared hosting;
- creates many queries in the database.
SymfonyTo 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.
- high performance due to bytecode caching;
- good documentation;
- stable updates that do not create bugs;
- large community.
- 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.
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.
- 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.
- 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.
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.
- 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.
- 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.
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.
- MVC structure;
- fast integration with additional libraries;
- good documentation;
- large community.
- poorly suited for instant application development;
- steep learning curve.
Zend is in some way similar to Symfony, but has relatively limited functionality. Despite the large community and quality documentation, this software will be difficult to learn. Even if you have experience with such frameworks as Laravel, it will be difficult to rebuild.
Back in 2005, it became the first MVC framework. It was a big breakthrough in the field of programming. Over time, the best products appeared, but CakePHP is still actively used by many companies.
Developers claim that today it is one of the simplest and elegant tool kits. It allows you to create nice-looking sites, without any damage to the functionality.
- quick assemblage;
- built-in elements such as caching, checking access to the database and authentication;
- prevents SQL injections;
- easy installation.
- not the best environment for “creative approach”;
- low productivity in comparison with competitors;
- with the advent of new frameworks, the community has been significantly reduced.
CakePHP remained in trends after 20 years thanks to the active work of the creators on its updates. This is one of the best solutions for novice programmers.
One of the most difficult frameworks. However, it has a large set of templates, a powerful ORM, a high level of security, and its own authentication environment. Supports both MVC and HMVC architecture, allowing you to display more than one page at a time.
- small file size;
- one of the best security levels;
- URL routing.
- not suitable for beginners;
- small community;
- complex documentation and a steep learning curve.
FuelPHP is a flexible, full-stack development environment that allows you to create highly secure web applications. Thanks to security, it will be one of the trends of 2020. However, it will be very difficult for new programmers to figure it out.
What to choose?
First of all, you need to understand what you want from the framework and what kind of result is needed. Each of the products described above is good enough and will work in most cases. Therefore, it is necessary to take into account the unique features of specific software that will help create the appropriate application.
If we talk about programming as a simple hobby, then it is worth exploring Laravel, Code Igniter and Symfony. These three frameworks will be the most popular by 2020, which will give developers more chances to get an interesting project.