- Привет, Александр! Благодарю, что согласились дать интервью. Расскажите немного о себе, где вы работаете и что делаете?

- Привет! Я из Воронежа. Работаю над 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.