Статистика 2013: PHP сегодня и завтра

Популярный скриптовый язык программирования PHP, преимущественно используемый для вебстроительства, похоже, достиг предела своей популярности. Несмотря на это, свежий индекс популярности языков программирования TIOBE Index недавно зафиксировал очередной всплеск его популярности. В сегодняшней статье попробуем с фактами и статистикой на руках разобраться в причинах и следствиях его развития, а также рассмотреть настоящее и будущее этого популярного веб-языка.


О причинах всплеска PHP

Недавно опубликованный свежий индекс популярности языков программирования TIOBE Index заставил снова обратить внимание на феномен PHP - его чрезвычайной популярности и распространенности. И если в последний год-два его популярность среди молодых программистов неизбежно падала, а уровень проникновения снижался, то недавно зафиксированный рецидив экспансии PHP снова заставил заговорить о его перспективах и будущем.

Вот предыдущий июльский рейтинг TIOBE, обратите внимание на мощный рост PHP:

Ниже я привожу следующую (текущую) версию TIOBE - август 2013, как видно рост PHP продолжается:

Такой всплеск многие объясняют по-разному, наиболее вероятные причины - это недавний выход новых PHP 5.5 и PHP Zend Framework 2.0.

Каждый из этих двух релизов - глыба. Иначе говоря, это большой шаг вперёд в рамках эволюции PHP. Просто напомню, что в новом PHP 5.5.x добавлены не только новые языковые конструкции, но и обеспечена поддержка сопрограмм (coroutine) и генераторов (generator), представлен новый с иголочки API для хэширования паролей (на основе Bcrypt с автогенерацией salt), расширена поддержка популярного cURL, улучшены возможности отладки (в Linux теперь поддерживается трассировка Systemtap), интегрирован Zend OPcache (бывший Zend Optimizer+). И, как это водится, по ходу была удалена куча устаревших и уже лишних деталей. Кстати, в свете последнего для поклонников старинных версий LAMP наиболее трагично удаление распространенного расширения ext/mysql, вместо него теперь нужно использовать MySQLi, либо PDO_MySQL.

В новой же версии Zend Framework 2.0 был просто радикально переработан подход к разработке, в частности, осуществлён уход от шаблона проектирования Single-ton, превратив этот фреймворк в кашу непонятных инклюдов с захардкодеными массивами. Я так понимаю, что спустя многие десятилетия разработчиков-таки посетило нерадостное осознание, что Синглтон в большинстве ситуаций является скорее антипаттерном.


Густая статистика спроса

Продолжая копания в позициях PHP на рынке и возможных причинах его "летнего возвышения", обратимся к внутренней статистике PHP Project, собираемой совместно с Netcraft, которая подтверждает этот тренд роста:

Кроме того, предлагаю глянуть на его относительную рыночную нишу (market position - popularity & traffic compared to the most popular web languages) среди других серверных языков для веб-программирования, которая согласно свежим данным от w3techs, выглядит сейчас примерно вот так:

Иначе говоря, PHP чрезвычайно популярен в народе и в production (на данный момент он используется на больше чем 80% всех мировых сайтов), и умеренно популярен среди сверхпосещаемых ресурсов. Кстати говоря, раз уж мы коснулись темы последних - вот текущий TOP10 наиболее посещаемых в мире сайтов, работающих на PHP-движках (это данные w3techs на середину 2013 года):

Приятно видеть два извечных российских конкурента Vk.com и Mail.ru среди топовых мировых гигантов.

Кроме роста PHP, глядя на TIOBE Index, следует отметить продолжение агрессивного утрамбовывания конкурентов со стороны JavaScript. Этот отдельный тренд здесь никак комментировать не буду, так как сегодня мы всецело сосредоточены на "обозревании" PHP, но мимоходом замечу: достаточно зайти практически на любой первый встречный сайт, чтобы убедиться, что хоть пару скриптиков на JS там наверняка есть, и это на фоне его повсеместной интеграции практически в любые, даже десятилетней давности, браузеры.


Каркасных дел мастер

Продолжая замеры нынешней популярности PHP, нельзя обойти стороной наиболее тёмную и плохо освещенную тему - это популярность PHP-фреймворков, число которых не счесть, и которые в современном модульном сайтостроительстве играют архиважную роль.

Издание WebRevisions проводит ежегодный мониторинг популярности основных PHP-шных фреймворков через отслеживание частоты запросов Google Trends. Для наглядности сначала покажу их данные за 2011 год...

Как видно, в 2011 году CodeIgniter и Symfony вместе были безусловными лидерами, но вот что происходит ближе к середине 2013 года:

Как видно, сегодня ситуация уже не такая однозначная - сейчас топ возглавляет пара из CodeIgniter и Yii, все остальные фреймворки демонстрируют однозначно нисходящий тренд популярности.

Согласно похожим альтернативным исследованиям популярности PHP-фреймворков за 2013 год от Zfort Group, были получены следующие результаты (которые, в отличие от вышеприведенных, выполнялись по усредненному принципу):

Независимые опросы PHP-разработчиков (см. внизу данные сайта phpframeworks.com) отчасти подтверждают версию статистики от WebRevisions:

И, наконец, самые интересные лично для меня данные - с крупнейших мировых бирж фрилансеров oDesk и Elance, где в первой половине 2013 года наиболее востребованными оказались следующие PHP-фреймворки:

Кстати, о спросе со стороны работодателей - давайте попробуем посмотреть на это со стороны агрегатора объявлений о работе indeed.com: привожу внизу последовательно абсолютный...

...и относительный график спроса (т.е. относительные проценты роста спроса для каждого отдельного фреймворка):

Если смотреть на абсолютные цифры, то явный лидер Zend, затем следуют общей группой CakePHP, Symfony и CodeIgniter.


Национальные особенности

Поскольку выше были приведены общемировые данные, либо цифры спроса, специфичные для североамериканского рынка, мне было особенно интересно как-то сопоставить западные тренды с, так сказать, постсоветскими, в качестве попытки выявления некоей скрытой закономерности, характерной именно для разработчиков земли русской.

Привожу российскую версию графика популярности фреймворков полученную через Google Trends:

Дополнительно после недолгого ковыряния сервиса Wordstat от Яндекс, мною был построен следующий Яндекс-график популярности указанных фреймворков:


Общие выводы

Несмотря на незначительную противоречивость разных источников данных, попробуем всё суммировать, чтобы выделить основные тренды в мире PHP:

  • Наиболее популярные в мире PHP-фреймворки, согласно предпочтений самих программистов, так и запросам работодателей - CodeIgniter, Zend Framework и Yii (первая группа лидеров);
  • Вторая плотная группа лидеров (нисходящий тренд) - Symfony и CakePHP;
  • Среди разработчиков-индивидуалов (фриланс) наиболее распространены следующие фреймворки - CodeIgniter, CakePHP и Symfony. Крупные корпоративные разработчики предпочитают мейнстрим из первой группы - Zend и Yii;
  • В отношении CakePHP стоит отметить, что это чисто западный феномен, малопопулярный в наших широтах, в остальном западные вкусы более-менее совпадают с предпочтениями местных разработчиков;
  • Для российского рынка характерна большая фрагментация вкусов и разнообразия фреймворков, несмотря на то, что основные тренды аналогичны западным;
  • Несмотря на чрезвычайно внушительную долю PHP-кода, которая сегодня абсолютно доминирует в мире веб-разработки, текущая динамика показывает, что рост других популярных скриптовых языков, типа Python и Ruby, идёт большими темпами. Исходя из этой тенденции, экстраполируя, можно рассчитать, что в районе 2015 года их популярность сравняется с PHP;
  • В области HiLoad PHP испытывает архитектурные сложности масштабируемости и, видимо, достиг предела расширяемости: несмотря на сопутствующие проблемы, высокопосещаемые проекты либо отказываются от PHP, либо создают компилируемые решения на их основе (я имею в виду HipHop или kPHP);
  • Наиболее печальный вывод - совокупная популярность всех PHP-фреймворков с каждым годом неуклонно падает (например, с конца 2012 года ни один PHP-фреймворк уже не входит в Programming Language Framework Popularity).

Игорь САВЧУК

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!