Информация из опыта и от коллег. В IT плюс-минус 18 лет. Галеры 1 год (Siemens) и 6 лет (Murano). У коллег в галерах, пожалуй, побольше.
Что некоторые основные проекты сохраняют я знаю, но я не зря упоминал ротацию. Я за 6 лет поработал на 5 проектах с тремя разными стеками. Это круто для роста вширь, но той же архитектуре я там не научился.
Хотим сделать инструмент чтобы можно было стартовать быстро (gii в работе, документация хорошая тоже). Вход, скорее всего, будет сложнее, чем в Yii2, но мы это сгладим хорошей докой.
С очень малой связанностью (DI по полной), чтобы при росте не ломалось, чтобы можно было любую архитектуру запилить, будь то классический MVC или вертикальные слайсы и нарезка по контекстам.
Чтобы тестить было приятно.
Фреймворк компонентный и как можно менее закрытый от PHP сообщества.
Чтобы сам фреймворк был сверх-стабилен. У нас покрытие практически 100% с очень высоким MSI и полной статической типизацией через Psalm.
Чтобы дебажить было максимально приятно: debug-панелька, максимально понятные ошибки, как можно меньше кеширования и пре-компиляции чтобы XDebug-ом по своему коду ходить, а не по чему-то сгенерированному.
Чтобы конфижить было удобно и, в то же время, гибко.
Как можно меньше магии. Пока держимся под натиском "а давайте final уберём", "а давайте без private по дефолту", "а где мой Yii::$app?".
Да, так бывает, но это менее типично. Обычно большинство проектов «галер» — до трёх лет. Плюс есть ротация, людей перекидывают с проекта на проект по необходимости и в зависимости от платёжеспособности и потребностей клиента на данный момент.
Срок жизни проекта гелерного слишком мал, чтобы увидеть самые фатальные свои косяки. Они достанутся кому-то ещё, а вы будуете думать что решение было норм.
Главная метрика любого проекта галеры — клиент доволен. Это сказывается практически на всём.
То есть на каком-то этапе галера даёт хорошее ускорение для развития вширь, но очень вероятно что не даёт развития на той же позиции архитектора. Очень часто галерные архитекторы творят тот ещё ужас и всерьёз думают что это норм.
Не "сайты аэропортов", а админки, из которых можно, например, управлять освещением полосы. Сайты я даже не перечислял, потому что простые сайты сейчас делать на чём-то, что не аналог "тильды" смысла особого нет.
Я сейчас работаю в стартапе, который начался с "а давайте зафигачим на ПХП" совсем недавно.
Facebook нанял Сару Големан, которая написала спеку языка в своё время и развивала HipHop VM и позднее HHVM. Далее из этого вышел язык Hack, который +- является сабсетом PHP и на котором работает основной сервис Facebook и Slack. Сейчас она контрибьютит в основной PHP.
Вспомогательные сервисы Facebook работают на обычном PHP. Знаю потому как там у них был Yii для личных кабинетов рекламщиков (как сейчас не знаю).
С VK похожая история. У них основной код через kPHP билдится в гигантский бинарник, но, насколько помню, были и сервисы просто на PHP без kPHP.
Само по себе то, что многие проекты написаны на каком-то языке, говорит лишь о том, что такие проекты могут быть написаны на этом языке и то, что этот язык почему-то предпочли остальным в этом конкретном случае. Не более.
Информация из опыта и от коллег. В IT плюс-минус 18 лет. Галеры 1 год (Siemens) и 6 лет (Murano). У коллег в галерах, пожалуй, побольше.
Что некоторые основные проекты сохраняют я знаю, но я не зря упоминал ротацию. Я за 6 лет поработал на 5 проектах с тремя разными стеками. Это круто для роста вширь, но той же архитектуре я там не научился.
Для роста вширь это прекрасно. Согласен.
https://github.com/yiisoft/docs/blob/master/001-yii-values.md
Хотим сделать инструмент чтобы можно было стартовать быстро (gii в работе, документация хорошая тоже). Вход, скорее всего, будет сложнее, чем в Yii2, но мы это сгладим хорошей докой.
С очень малой связанностью (DI по полной), чтобы при росте не ломалось, чтобы можно было любую архитектуру запилить, будь то классический MVC или вертикальные слайсы и нарезка по контекстам.
Чтобы тестить было приятно.
Фреймворк компонентный и как можно менее закрытый от PHP сообщества.
Чтобы сам фреймворк был сверх-стабилен. У нас покрытие практически 100% с очень высоким MSI и полной статической типизацией через Psalm.
Чтобы дебажить было максимально приятно: debug-панелька, максимально понятные ошибки, как можно меньше кеширования и пре-компиляции чтобы XDebug-ом по своему коду ходить, а не по чему-то сгенерированному.
Чтобы конфижить было удобно и, в то же время, гибко.
Как можно меньше магии. Пока держимся под натиском "а давайте final уберём", "а давайте без private по дефолту", "а где мой Yii::$app?".
Да, так бывает, но это менее типично. Обычно большинство проектов «галер» — до трёх лет. Плюс есть ротация, людей перекидывают с проекта на проект по необходимости и в зависимости от платёжеспособности и потребностей клиента на данный момент.
Был и там и там. Да, есть галеры где неплохо, но:
Срок жизни проекта гелерного слишком мал, чтобы увидеть самые фатальные свои косяки. Они достанутся кому-то ещё, а вы будуете думать что решение было норм.
Главная метрика любого проекта галеры — клиент доволен. Это сказывается практически на всём.
То есть на каком-то этапе галера даёт хорошее ускорение для развития вширь, но очень вероятно что не даёт развития на той же позиции архитектора. Очень часто галерные архитекторы творят тот ещё ужас и всерьёз думают что это норм.
Гарантий в последнее время никаких, да...
Да, уже релизнут: https://github.com/yiisoft/view-twig
Приближается: https://www.yiiframework.com/yii3-progress
Macroable из фреймворка Laravel — совершенно ужасная фича, убивающая статанализ и рефакторинг.
Это SpatialChat, но системный? Занятно.
Да. На нём бегают сайтики игр и их сообщества, некоторые админки и так далее.
Не "сайты аэропортов", а админки, из которых можно, например, управлять освещением полосы. Сайты я даже не перечислял, потому что простые сайты сейчас делать на чём-то, что не аналог "тильды" смысла особого нет.
Я сейчас работаю в стартапе, который начался с "а давайте зафигачим на ПХП" совсем недавно.
Если отвечать на вопрос "разивается ли PHP", то ответ однозначно "да". Достаточно взглянуть на https://www.php.net/releases/8.0/ru.php и https://www.php.net/releases/8.1/ru.php. Если говорить о новизне, то нет, это, конечно, не новый язык с новой парадигмой (25 лет отметил, как-никак, https://www.jetbrains.com/lp/php-25/). То есть инфраструктура взрослая, набор фич тоже. Легаси тоже присутствует, хоть и убирается каждый мажорный релиз.
Facebook нанял Сару Големан, которая написала спеку языка в своё время и развивала HipHop VM и позднее HHVM. Далее из этого вышел язык Hack, который +- является сабсетом PHP и на котором работает основной сервис Facebook и Slack. Сейчас она контрибьютит в основной PHP.
Вспомогательные сервисы Facebook работают на обычном PHP. Знаю потому как там у них был Yii для личных кабинетов рекламщиков (как сейчас не знаю).
С VK похожая история. У них основной код через kPHP билдится в гигантский бинарник, но, насколько помню, были и сервисы просто на PHP без kPHP.
Само по себе то, что многие проекты написаны на каком-то языке, говорит лишь о том, что такие проекты могут быть написаны на этом языке и то, что этот язык почему-то предпочли остальным в этом конкретном случае. Не более.
Они, конечно, основные, но единственные: https://github.com/php/php-src/graphs/contributors?from=2021-01-01&to=2021-12-11&type=a. Особенно если рассматривать не частоту коммитов, а объёмы.
Есть ещё много, например, те же аэропорты Казани или Севастополя, ЕГАИС и так далее, но полотнище будет бесконечное...
Yahoo
Facebook
Wikipedia
Flickr
Digg
SourceForge
VK и другие проекты VK Group
mailchimp
Etsy
Zynga
Slack
Baidu
imgur
Avito
Badoo
Boxberry
Яндекс Еда
Кинопоиск
Blablacar
iStock
Freepic
mos.ru
Сбер (Здоровье, облако, мб ещё что-то)
ManyChat
SuperJob
Ultimate Guitar
Skyeng
Райффайзен
Юла
Lamoda
МТС
Delivery Club
Альфа Банк
Перекрёсток
Делимобиль
Wildberries
DNS
Связной
Ubisoft
Tutu
Belka Car
Lyft
Whatsapp
Tesla
Upwork
Space-X (но, кажется, только сайты)
Facebook
Wikipedia
Mailchimp
Blablacar
Slack
Tesla
Ну, не совсем автобус: https://github.com/php/php-src/commits/master Хотя да, создание foundation, несомненно, ускорил приблизившийся автобус.