12 просмотров
Оглавление
Интернет из PHP
https://timotijhof.net/posts/2023/an-internet-of-phpPHP большой. Тролли могут сколько угодно заявлять о его «смерти» до тех пор, пока рак на горе не свистнет, но факт в том, что в Интернет работает на PHP. Доказательства ошеломляющие. Далее следует слабо организованная коллекция именно этих доказательств.
Статистика
PHP как язык программирования по выбору
Из анализа языка, проведенного W3 Techs на 10 миллионах лучших веб-сайтов по всему миру:
- PHP 77.2%.
- ASP 6.9%.
- Ruby 5.4%.
Управление контентом
Большинство общедоступных сайтов построены на PHP через CMS. По доле рынка 8 из 12 крупнейших программ CMS написаны на PHP. Ниже приведены данные об использовании CMS компанией W3 Techs, где каждый процент представляет 100 000 из 10 миллионов лучших сайтов. Существует аналогичный отчет CMS от BuildingWith, в котором анализируется более широкий набор из 78 миллионов веб-сайтов.
- [PHP] WordPress ecosystem (63%)
- [Ruby] Shopify
- Wix
- Squarespace
- [PHP] Joomla ecosystem (3%)
- [PHP] Drupal ecosystem (2%)
- [PHP] Adobe Magento (2%)
- [PHP] PrestaShop (1%)
- [Python] Google Blogger
- [PHP] Bitrix (1%)
- [PHP] OpenCart (1%)
- [PHP] TYPO3 (1%)
Электронная коммерция
Из отчета BuildingWith об интернет-магазинах по состоянию на август 2023 г.:
- WooCommerce для WordPress (24% мировой доли рынка)
- Adobe Magento (7% мировой доли рынка)
- OpenCart (2% доля мирового рынка, 24% доля рынка в России)
- PrestaShop (2% мирового рынка, 14% рынка Франции)
- Shopware (1% мирового рынка, 12% рынка Германии)
Анекдоты
Kinsta опубликовал ответ, демонстрирующий, что PHP — быстрый, живой и популярный:
Что ж, во-первых, важно отметить, что существует большая разница между «хотеть» и «быть». Люди призывали к смерти PHP […] ещё в 2011 году.
PHP 7.3 увеличил количество запросов в секунду в 2-3 раза по сравнению с PHP 5.6. А PHP 8.1 еще быстрее.
[…] Из-за популярности PHP найти разработчиков PHP легко. И не просто PHP-разработчиков, а PHP-разработчиков с опытом.
Мэтт Браун из Vimeo Engineering, это не устаревший код — это PHP:
PHP не прекратил инновации […]. Новая волна серверных инженеров планировала, как мы могли бы разделить 500 000 строк PHP на группу [сервисов]. […] В конечном итоге ни одно из предложений не было реализовано.
Vimeo вырос во много раз за десять лет, прошедших с 2004 года, и наша кодовая база PHP вместе с ней […]
Ars Technica сообщает нам: PHP сохраняет огромное лидерство. Ars опубликовал версию отчета W3 Techs, включающую исторические данные.
Несмотря на множество печально известных особенностей, серверный язык, похоже, никуда не денется. […]
В этом наборе данных история рассказана ясна. […] В 2010 году доля PHP составляла 72,5 процента, а на сегодняшний день — 78,9 процента. […] Похоже, у PHP нет явного соперника, о котором стоит беспокоиться.
Лекс Фридман выразил это следующим образом в интервью создателю Python Гвидо ван Россуму на его подкасте (эпизод, временная метка):
Лекс: «PHP, вероятно, до сих пор управляет большей частью серверной части Интернета».Гвидо: «О да, да. […]»
В ежегодном опросе пользователей Curl, проведенном Дэниелом Стенбергом (стр. 18), задается вопрос, где люди используют Curl. После собственного интерфейса Curl (78,4%) наиболее известной привязкой Curl является PHP. Так было с начала опроса в 2015 году. В 2023 году 19,6% респондентов опроса Curl сообщили, что используют Curl через PHP.
curl (CLI) 78.4%, php-curl 19.6%, pycurl 13%, […], node-libcurl 4.1%.
Ember.js, как известно, возник в сообществе Ruby. Но как интерфейсная платформа Ember может работать в паре с любым серверным интерфейсом. По данным опроса сообщества Ember, PHP занимает третье место по популярности среди участников опроса после Ruby и Java.
В исследовании Ember также задавались общие отраслевые вопросы. Например, 24% описали инфраструктуру своего работодателя как «self-hosted», а не у крупного облачного провайдера. Это не репрезентативный опрос сам по себе, но все же может стать сюрпризом. Особенно для людей, которые полагаются на социальные сети и выступления на конференциях, чтобы понять, чем занимается бизнес в реальном мире. Для компаний как никогда важно иметь готовую стратегию выхода из облака (пример Национальной службы здравоохранения). Вы можете прочитать, как выход Basecamp из облака экономит им миллионы долларов в год.
Масштабируемость
Приведенная выше статистика измеряет количество отдельных сайтов и компаний. Подавляющее большинство из них построено на PHP. Но все, что говорит об их масштабе, это то, что они находятся где-то в числе 10 миллионов лучших. Вас это беспокоит? Что входит в топ-500?
Джек Эллис из Fanthom Analytics, в своей публикации Масштабируется ли Laravel? доказывает, что не следует делать выбор, основываясь на обработке миллионов запросов в секунду. Вы вряд ли достигнете этого и столкнетесь со многими другими узкими местами. Но оказывается, что PHP — один из языков, который масштабируется до этого уровня.
Когда мы начали наблюдать невероятный рост нашего программного обеспечения Fathom Analytics (построенного на Laravel), […] никогда не было вопросов «выполняет ли фреймворк достаточно запросов в секунду?». […]
Я работал с корпоративными компаниями, использующими Laravel для обеспечения всего своего бизнеса, а такие компании, как Twitch, Disney, New York Times, WWE и Warner Bros, используют Laravel для различных проектов, которые они реализуют. Laravel может обрабатывать ваше приложение в любом масштабе.
Снова Мэтт Браун из Vimeo Engineering, это не устаревший код:
Я здесь, чтобы сказать вам, что это возможно, и продолжающийся успех Vimeo с PHP является доказательством того, что это отличный инструмент для быстро развивающихся компаний в 2020 году.
Vimeo также известен как разработчик Psalm, популярного инструмента статического анализа PHP с открытым исходным кодом.
От Кита Адамса, главного архитектора Slack Engineering, о серьезном отношении к PHP:
Slack использует PHP для большей части логики своих серверных приложений […].
преимущества среды PHP (снижение стоимости ошибок за счет изоляции ошибок, безопасный параллелизм и высокая производительность разработчиков) более ценны, чем проблемы […]
Давайте еще раз взглянем на отчет W3 Techs и на этот раз сосредоточимся на размерах некоторых отдельных предприятий. Наверху у нас есть WordPress, который, конечно же, поддерживает WordPress.com от Automattic. Это 20 миллиардов просмотров страниц каждый месяц (55-е место Alexa в мире).
Если мы продвинемся дальше по отчету, к позициям с долей рынка 0,1%, мы обнаружим системы PHP, которые поддерживают огромные веб-сайты. Тем не менее, они также являются предпочтительной платформой для более чем 100 000 небольших веб-сайтов.
- #23 CMS: Moodle
- #25 CMS: phpBB, например. Сообщество Google Waze, форум ApacheFriends, форумы VideoLAN.
- #31 CMS: форумы XenForo, например. ArsTechnica.com, MacRumors.com.
- #33 CMS: Roundcube
- #45 CMS: MediaWiki
- #49 CMS: форумы vBulletin
- #53 CMS: Сообщество IPS, например. Форумы MalwareBytes.com, BleepingComputer и Squarespace.com
MediaWiki — это платформа Wikipedia.org с 25 миллиардами просмотров страниц в месяц (Alexa #12). MediaWiki также обеспечивает Fandom 2 миллиардами просмотров страниц в месяц (Similarweb #44) и WikiHow со 100 миллионами посетителей в месяц (Alexa #215).
Другие основные интернет-ресурсы, работающие на PHP, включают Facebook (Alexa #7), Etsy (Alexa #66), Vimeo (Alexa #165) и Slack (Similarweb #362).
Etsy интересен высокой долей активных сессий и динамическим контентом. В отличие от Википедии или WordPress, которые могут обслуживать большинство просмотров страниц из статического кеша. Это означает, что, несмотря на аналогичный масштаб, PHP-приложение Etsy гораздо более подвержено их высокому трафику.
На Etsy также работает создатель PHP Расмус Лердорф. Иногда в своих технических докладах он использует фрагменты кодовой базы Etsy. (Примечание для компьютерных фанатов: в его докладе о современном PHP в 2021 году объясняется, как Etsy развертывается с помощью rsync
, точно так же, как Википедия последнее десятилетие делала со Scap). В инженерном блоге Etsy время от времени освещаются работы над их модульным монолитом PHP, например. Множественная локализация или их подробные отчеты о производительности сайта Etsy:
К счастью, в этом квартале мы увидели улучшение производительности всего сайта благодаря обновлению до PHP7.
[…] мы увидели значительный прирост производительности на всех наших страницах.
Что с моим пузырём?
Можно критиковать сообщество PHP за то, что оно не занимает много места в публичном обсуждении. Будь то разработчики ядра PHP, авторы пакетов PHP (таких как Laravel, Symfony, WordPress, Composer и PHPUnit) или средний инженер, использующий его в своей повседневной работе… мы не видим особых споров в социальных сетях.
Вы также не увидите, чтобы мы часто выступали на конференциях, предписывая формулы для стека, который «определенно будет лучше» для вашей компании. Если верить разговорам фанатов определенных фреймворков JavaScript, мы должны верить, что большинство компаний сегодня используют их стек, и что вам следует пожалеть, если вы до сих пор этого не делаете. Я говорю это не для того, чтобы судить о JavaScript. Что меня беспокоит, так это предписывающие сообщения без учета технических или деловых потребностей, без оценки того, что означает «лучше» — лучше по сравнению с чем? Трудно сравнивать то, что вы знаете.
Вышесказанное не означает, что JavaScript не имеет своего места. Поделитесь своим опытом! Поделитесь своими результатами (и критериями, лежащими в их основе), что сработало, а что нет. Продолжайте искать, продолжайте внедрять инновации, продолжайте делиться и, прежде всего, продолжайте продвигать человечество вперед. Это бесплатное программное обеспечение!
Можно было бы подвергнуть сомнению заслуги потерянного десятилетия и критиковать React, но… React занимает 3% рынка. Добавьте к этому меньшие фреймворки (Vue, Angular, Svelte), и мы получим сумму 5%. Аналогично, Node.js в качестве веб-сервера занимает 3% рынка. Означает ли это, что более 90% людей упустили этот трюк, который улучшит ваш бизнес?
Не будем забывать, что эти 5% представляют собой 500 000 крупных веб-сайтов. Это много. У Node.js есть свое место и свои сильные стороны (потоки сообщений в реальном времени). Но у Node.js есть и свои слабые стороны (блокировка основного потока). И помните, доля рынка мало что говорит о масштабе. Это может быть источником энергии для нескольких организаций, входящих в 1% лучших (например, MediaWiki) или 1% нижних. Или станьте, как WordPress и управляйте как 1% лучших, так и более чем 40 миллионами других сайтов.
Заключение
Компании молодые и старые, маленькие и большие, возможно, не используют стеки программного обеспечения, о которых мы чаще всего говорим в общественных местах. Это особенно верно за пределами сферы личных проектов и стартапов, сжигающих деньги.
Является ли PHP сегодня наиболее экономичным выбором для растущего и устойчивого бизнеса? Входит ли он в тройку лидеров? Имеет ли вообще значение время выполнения языка при расширении бизнеса и команды людей вокруг него? Мы не знаем.
Что мы действительно знаем, так это то, что сегодня очень многие компании используют PHP, и PHP оказался устойчивым вариантом. Он выдержал испытание временем. Сюда входят и новые компании, такие как Fathom, которые стали прибыльными всего за три года. Как сказано в статье Fathom, большинство из нас никогда не достигнет такого масштаба. Но приятно осознавать, что PHP — это устойчивый и экономичный вариант даже в больших масштабах. Это единственный вариант? Нет, конечно нет.
Есть языки, которые еще быстрее (Rust), имеют еще большее сообщество (Node.js) или имеют более зрелые компиляторы (Java); но это имеет тенденцию торговли другими ценностями.
PHP попадает прямо в золотую середину. Он довольно быстрый, имеет большое сообщество по повышению производительности, имеет современный синтаксис, активно развивается, прост в освоении, легко масштабируется и имеет большую стандартную библиотеку. Он предлагает высокий и безопасный параллелизм в любом масштабе, пока без асинхронной сложности и блокировки основного потока. Он также имеет тенденцию нести низкие затраты на обслуживание благодаря стабильной платформе и сообществу, которое ценит совместимость и небольшое количество зависимостей. Конечно, время от времени у вас будут разные потребности, но в этом конкретном случае PHP стоит среди очень немногих других. Какие другие? Расскажи мне ты!
Материалы для дальнейшего чтения
- Выбирайте скучные технологии, Дэн МакКинли 2015.
- Простые радости масштабирования, Джордан Тигани, 2023.
- Как защитить себя от npm, Тимо Тайхов, 2019.
- Мы тонем в программных зависимостях, Раян Барретт, 2022.
- “Выход из программного кризиса": Зависимости, Бальдур Бьярнасон.
- Выжмите к черту всю систему, которая у вас есть, Дэн Слиммон, 2023.
- О выборе языка и нагрузке на обслуживание Викимедиа, Тим Старлинг, 2018.