Для тех, кто не знает:
- stars – количество пользователей, которым понравилось ПО (как правило, с этим показателем примерно совпадает размер сообщества разработчиков Github, использующих конкретный продукт);
- forks – копия репозитория, позволяющая вносить изменения, не затрагивая оригинал;
- Issues – предлагаемые проблемы и способы улучшения ПО.
Первое место неизменно занимает Laravel. В остальном же показатели немного отличаются от популярности на
Google Trends. Разработчики стали активнее использовать Symfony, несмотря на большее количество указанных проблем. Такой прирост прошел именно за последний год, поскольку ранее второе место занимал Code Igniter.
Важно отметить позиции Phalcon. Несколько лет назад этот фреймворк был достаточно популярен среди разработчиков.
Сегодня он потерял свои позиции в большинстве рейтингов. Также, согласно NPM-stats, значительно снизилось количество скачиваний пакетов Phalcon. Потому, данный
фреймворк выпал из трендов и в будущем спросом пользоваться не будет.
Итого, основываясь на статистике Github неизменные тренды – это Laravel, Symfony и Code Igniter. Если Вы не знакомы с этими
фреймворками, то самое время начать изучение. Во-первых, на соответствующих специалистов будет спрос. Во-вторых, они имеют широкое сообщество, потому найти инструкции и помощников будет легко.
P.s. вся статистика состоянием на 13 марта 2019 года.
Статистика использования
Последний вопрос популярности – частота использования того или иного фреймворка для создания какого-то проекта. Сразу очевидный спойлер: Laravel занимает первое место.
Но остальные показатели отличаются от рейтингов, созданных на основе Github. Как видите, Code Igniter поменялся местами с Symfony, а Zend вышел на 4 место, сместив Yii2 (5.1%) и CakePHP (5.5%).
Опять-таки, тройка лидеров неизменна. Интерес к этому программному обеспечению к 2020 практически очевиден. Потому с них я хочу начать разбор последнего элемента – преимущества и недостатки.
Плюсы и минусы фреймворков
Laravel
Один из самых старых фреймворков, выпущенный в 2011. Если Angular в Javascript потерял позиции с 2012 года, уступая сегодня React и Vue, то Laravel уверенно идет на первом месте. Это комплексная среда разработки для создания приложений с использованием архитектуры MVC.
Она включает в себя множество уникальных для Laravel пакетов, шаблонизатор Blade, модульное
тестирование и другие инструменты. Также, этот фреймворк упрощает организацию кода благодаря абстрактной маршрутизации.
Преимущества:
- качественная и понятная документация;
- надежные шифровальные пакеты;
- быстрая интеграция с дополнительными библиотеками;
- большое сообщество;
- функция управления очередями.
Недостатки:
- не работает на виртуальном хостинге;
- создает много запросов в базе данных.
Летом 2018 Laravel выпустили Nova – оптимизированный и упрощенный
дизайн административной панели. Ему уже почти год, но многие разработчики все еще изучают возможности этого обновления. Но на сегодня большинство утверждают, что Nova значительно облегчает работу и дает больше возможностей для «творчества»
нам.
Symfony
Для продвижения этого фреймворка его рекламировали как стабильный, высокопроизводительный проект с отличной документацией. После непосредственной проверки
программистами оказалось, что слова не брошены на ветер, благодаря чему Symfony вышел в топ. Сегодня он используется такими крупными компаниями, как BBC, а также часто интегрируется с Drupal и eZpublish.
Преимущества:
- высокая производительность за счет кешированию байт-кода;
- хорошая документация;
- стабильные обновления, не создающие багов;
- большое сообщество.
Недостатки:
- очень крутая кривая изучения;
- не поддерживает MVC;
- нацелен на прогрессивных разработчиков, нежели новичков;
- сложный механизм безопасности.
Symfony очень хороший вариант для высококвалифицированных специалистов. Он позволяет использовать лишь необходимые компоненты, вместо обращения ко всей
библиотеке сразу, что сокращает время работы над проектом. Потому в 2020 будет достаточно высокий спрос на специалистов этой среды разработки.
Но если Вы только начинаете его изучение, доступ к большим проектам закрыт года на 3 минимум. Symfony не так прост, как кажется. И потребуется немало времени, чтобы довести большинство ключевых действий до автоматизма.
Code Igniter
Фреймворк, который идет вровень в Symfony, потому несомненно будет одним из трендов веб-разработок в 2020. Это быстрая и простая среда разработки, имеющая небольшие размеры файлов. Ее можно установить простой загрузкой на хостинг, без использования специального программного обеспечения или командной строки.
Преимущества:
- использует структуру MVC;
- быстрый и простой запуск;
- низкая кривая изучения;
- хорошая документация и долгосрочная поддержка;
- возможность интеграции стандартных баз данных;
- доступен новичкам.
Недостатки:
- усложнен процесс модульного тестирования;
- мало встроенных библиотек;
- нет встроенного ORM;
- обновляется реже других фреймворков, из-за чего может не соответствовать высоким стандартам.
Code Igniter, в первую очередь, очень хорош для новичков программирования. Небольшой
набор библиотек – это существенный минус, но в то же время со средой разработки проще разобраться. При этом не стоит забывать, что релиз был еще в далеком 2006, но сегодня фреймворк находится в топе.
Yii2
Еще один достойный конкурент на рынке
PHP-фреймворков. Его ключевое преимущество – быстрая настройка. Yii многие признают самой быстрой средой разработки. Речь даже не о производительности, а о минимальном времени работы благодаря простым решениям.
Приложения, созданные на основе Yii, располагают простым интерфейсом. Примечательная особенность – возможность интеграции с jQuery. Это значительно расширяет функционал фреймворка.
Преимущества:
- гибкий (простая интеграция с большинством библиотек);
- наличие множества пакетов для обеспечения безопасности;
- большой функционал для ускорения разработки и непосредственно работы приложений;
- возможность отдельной настройки практически каждого фрагмента кода.
Недостатки:
- недоступный для новичков;
- легко запутаться в коде без должного опыта;
- крутая кривая обучения;
- нельзя создавать комплексные веб-приложения.
Инфраструктура достаточно сложная и запутанная, но является очень мощным инструментом для быстрой
разработки приложений. Согласно BuiltWith, компании из более 90 стран используют этот фреймворк для создания Web 2.0 приложений.
Zend
Еще одна популярная среда разработки среди больших корпораций. Zend, по аналогии с Symfony позволяет использовать лишь необходимые компоненты для
разработки приложения, что значительно упрощает весь процесс. Это позволяет повторно использовать ранее созданный код, что не может не радовать разработчика.
Преимущества:
- MVC структура;
- быстрая интеграция с дополнительными библиотеками;
- хорошая документация;
- большое сообщество.
Недостатки:
- плохо подходит для мгновенной разработки приложений;
- крутая кривая обучения.
В некотором роде Zend похож на Symfony, однако имеет сравнительно ограниченный функционал. Несмотря на большое сообщество и качественную документацию, данное ПО будет сложным в изучении. Даже если у Вас есть опыт работы с такими
фреймворками, как Laravel, перестроится будет сложно.
CakePHP
В далеком 2005 стал первым MVC-фреймворком. Это был большой прорыв в сфере программирования. Со временем появились лучшие продукты, однако CakePHP все еще активно используется многими компаниями.
Разработчики утверждают, что сегодня это один из самых простых и элегантных наборов инструментов. Он позволяет создавать приятные на вид сайты, без какого-либо ущерба функциональности.
Преимущества:
- быстрая сборка;
- встроены такие элементы, как кеширование, проверка доступа к базе данных и аутентификация;
- предотвращает SQL инъекции;
- простая установка.
Недостатки:
- не лучшая среда для «креативного подхода»;
- низкая производительность в сравнении с конкурентами;
- при появлении новых фреймворков значительно сократилось сообщество.
CakePHP остался в трендах спустя 20 лет благодаря активной работе создателей над его обновлениями. Это одно из лучших решений для начинающих программистов.
FuelPHP
Один из самых сложных
фреймворков. Тем не менее, он располагает большой набор шаблонов, мощный ORM, высокий уровень безопасности и собственную среду аутентификации. Поддерживает как MVC, так и HMVC архитектуру, благодаря чему позволяет отображать более одной страницы одновременно.
Преимущества:
- небольшой размер файлов;
- один из лучших уровней безопасности;
- URL-маршрутизация.
Недостатки:
- не подходит новичкам;
- небольшое сообщество;
- сложная документация и крутая кривая обучения.
FuelPHP – гибкая, фул-стек среда разработки, которая позволяет создавать высокозащищенные
веб-приложения. Именно благодаря безопасности она будет одним из трендов 2020 года. Тем не менее, новичкам программирования будет очень сложно с ней разобраться.
Что выбрать?
Прежде всего, нужно понимать, чего Вы хотите от фреймворка и какой нужен результат. Каждый из описанных выше продуктов достаточно хорош и подойдет в большинстве случаев. Потому необходимо учитывать уникальные особенности
конкретного ПО, которые помогут создать соответствующее приложение.
Если говорить о программировании, как простом хобби, то стоит изучить Laravel, Code Igniter и Symfony. Эти три фреймворка будут самыми востребованными к 2020 году, что даст разработчикам больше шансов получить интересный проект. Также, рекомендуем почитать больше о лучших PHP фреймворков в 2022.