- Привет, Александр! Благодарю, что согласились дать интервью. Расскажите немного о себе, где вы работаете и что делаете?
- Привет! Я из Воронежа. Работаю над PHP фреймворком Yii и другими открытыми проектами, организую PHP Russia. Раньше работал в Wrike, Stay.com, Skyeng и других интересных проектах. Участвую в создании стандартов PSR.
- Как именно вы начали работать над Yii?
- Примерно в 2008-м я на него случайно наткнулся, понял что он мне нравится и начал дорабатывать и менять то, что мне не нравилось или что я мог сделать лучше. В 2010 Qiang пригласил меня в основную команду.
- Расскажите о команде Yii. Кто стоял у истоков? Сколько сейчас в команде людей и кто чем занимается?
- Истоки Yii — фреймворк Prado (http://www.pradoframework.net/), который до сих пор поддерживают энтузиасты. И его и Yii изначально сделал один человек — Qiang Xue. Он родом из Китая, живёт в США. Я уже принимал участие в поддержке и доработке Yii 1.1 и далее в проектировании Yii 2.0. Сейчас в команде активно 5 человек:
- Я, занимаюсь всем.
- Carsten Brandt. Занимается релизами 1.1, инфраструктурой. Далее планирует снова заниматься самим фреймворком, но пока со временем не очень.
- Дмитрий Науменко занимается Yii 2.0 и немного 3.0.
- Андрей Васильев. Занимается Yii 3.0.
- Роман Журавлёв. Занимается расширением Queue.
На самом деле более-менее активно участвует в проекте гораздо больше людей. Сообщество хорошее.
- Как удалось выстроить активное OpenSource сообщество вокруг Yii?
- Прежде всего, качественным продуктом и хорошей подробной документацией. Ну а далее мы активно реагировали на все вопросы, разбирали issue и pull request и делали это стабильно с самого первого релиза фреймворка в 2008 году.
- Даже для развития OpenSource проектов важно финансирование и маркетинг. Пример этому Laravel. У команды Yii были попытки привлечь спонсоров, а также людей для маркетинга и PR?
- Попыток привлечь спонсоров раньше не было, но вот недавно мы решились и ввели такой способ помочь проекту: https://opencollective.com/yiisoft. Людей из маркетинга и PR нет, не привлекали никогда.
- Возникали ли идеи создать какой-то побочный для Yii проект, который способен обеспечить финансово дальнейшее развитие Yii?
- Возникали. После релиза Yii 3.0 что-нибудь сделаем на эту тему.
- Почему Yii был назван именно так и что означает? Ранее у кого-нибудь были мысли переименовать его на более звучно произносимое?
- Yii — значит на китайском "простой и эволюционирующий". Также может расшифровываться как акроним "Yes It Is!". Для китайского это звучно и произносимо. Мыслей переименовывать у нас не было, хотя иногда этот вопрос задают.
- Помогал ли Yii найти работу?
- Да. Благодаря работе над Yii я попал в CleverTech и Stay.com. Похоже получилось не только у меня, но и у многих других. Оно и понятно, проект достаточно известный.
- Насколько Yii продолжает быть востребованным на фрилансе и среди компаний?
- Меньше, чем сразу после релиза 2.0, но довольно востребован.
- Сейчас ведется разработка новой версии Yii. Насколько сложно будет перенести проект с Yii2 на Yii3?
- Сложно. В Yii 3 мы исправляем много фундаментальных недочётов, так что ломается всё довольно сильно.
- Как долго будет поддерживаться Yii2?
- После релиза Yii 3.0 ветка 2.0 будет получать багфиксы 2 года и ещё два года после — фиксы безопасности.
- Что ждет Yii в будущем и какие планы?
- Если вопрос про 3.0, то:
- PSR (HTTP request-response, middleware, container, events).
- DDD-совместимость.
- Всё хорошее из Yii 2.
- Отделение консоли от веба.
- Разбиение на части, которые можно использовать отдельно.
- Строгая типизация.
- SOLID.
- Убийство иерархии классов.
- Убийство большинства wrapper-расширений.
- Отказ от нестандартных объектов.
Если это про будущее Yii в общем, то планы и далее его развивать и поддерживать.
- Используете ли вы Yii в своих собственных проектах. А может быть какие-нибудь другие фреймворки?
- Да, использую. Именно в своих проектах других фреймворков (исключая Android) не использую, а вот в коммерческой разработке, которой занимался, были и Symfony и Zend и Laravel.
- Как возникло желание и идеи выступать на IT-конференциях? Это как-то удавалось совмещать с основной работой?
- Желание что-то рассказать было, наверное, всегда. Идея возникла когда стало понятно, что у меня есть что рассказать.
Всем OpenSource я всегда занимался в свободное время параллельно работая. Доклады я рассказываю по темам, в которых отлично разбираюсь, так что потратить несколько дней чтобы превратить тучу мыслей в слайды и ещё пару дней чтобы сложить в голове доклад — не проблема.
- Какие инструменты в процессе разработки вы применяете?
- Windows 10 / MacOS, bash, Github, git, SmartGit, PhpStorm, Visual Studio Code, XDebug, nginx, PHPUnit.
- Веб разработка (и не только) стремительно развивается, появляются новые инструменты, которые помогают делать программы быстрей и качественней. Но вместе с этим, создается сложность понимания как эти инструменты работают изнутри. Простой пример: чтобы сделать подключение к какому-то хранилищу данных, нам не нужно знать как оно работает на системном уровне и какие команды запроса к данным используются. Условно, есть удобное для понимание api и методы, которые позволяют не вдаваясь в подробности выполнить определенную задачу. Можно ли сказать, что вскоре это будет подобно черному ящику, когда не понимаешь как все работает изнутри?
- И да и нет. С одной стороны, попытки сделать это есть. С другой стороны, нормально работать только с такими вот API получается только в простейших случаях когда всё идёт как надо. Все абстракции текут, поэтому, рано или поздно, приходится разбираться, что же там на самом деле под капотом.
- Отвлечемся от работы и поговорим об увлечениях. Как проводите время и есть ли какое-то хобби?
- Провожу время с семьей, с друзьями, в обучении новому и в путешествиях. Увлечения: путешествия, кофе, фотография, музыка (как слушатель), книги, немного спорта.
- Насколько я знаю, вы написали несколько книг. Расскажите, что это за книги?
- Книги про Yii. Одна про версию 1.1, Yii Cookbook. Была издана ещё и на русском как "сборник рецептов". Вторую по Yii 2 я не стал традиционно издавать, а выложил на Github: https://github.com/samdark/yii2-cookbook.
- Благодарю, что вы дали интервью и потратили свое время. Можете что-нибудь сказать читателям напоследок?
- Никогда не останавливайтесь в изучении нового.
Статья по теме: краткий обзор фреймворка Yii3.
Спасибо Вам Александр за бесценный вклад в развития фреймворка Yii, а так же за все полезное, что вы представляете разработчиками.
Желаю Александру успехов в работе и всей коменде Yii.
Макаров - человек пароход