Может войдёшь?
Черновики Написать статью Профиль

Интервью с Тейлором Отвеллом

перевод

Оригинальная статья была опубликована в марте 2013 года — прим. пер.

Laravel — это простой и изящный PHP-фреймворк, который превращает рутинную разработку в творчество.

Расскажи о себе и о своём проекте «Laravel».

Мне 26 лет, я разработчик, в настоящее время живу в своем родном штате Арканзас. Я создал Laravel — фреймворк для веб-приложений, помогающий разработчикам создавать отличные приложения, используя PHP. Сейчас это один из самых популярных открытых (open-source) PHP-проектов на Github, сообщество которого насчитывает тысячи разработчиков по всему миру.

Почему вы решили сделать новый PHP-фреймворк? Какие фреймворки вы использовали раньше?

Среди разработчиков язык PHP долгое время был объектом насмешек, и возможно в какой-то степени это было заслуженно. Однако в последних версиях PHP, особенно 5.3 и выше, язык был заметно улучшен. В него были добавлены замыкания, пространства имен, позднее статическое связывание, типажи (traits) и другие замечательные возможности. Composer — новый инструмент для управления пакетами PHP (как Bundler в Ruby), который делает распространение и использование больших пакетов простым и приятным. PHP меняется к лучшему.

Но 2 года назад, когда я приступил к созданию Laravel, я не считал, что существующие фреймворки, многим из которых было 5-6 лет (такие как CodeIgniter), уже устарели. Я хотел сделать фреймворк, помогающий увеличить продуктивность разработчиков и сделать их работу счастливее. Сделать фреймворк, не препятствующий созданию отличных PHP-приложений с использованием новейших возможностей языка.

Laravel имеет невероятно сильную для нового фреймворка поддержку со стороны сообщества разработчиков. Это делает работу над ним проще или сложнее? Как вы справляетесь с ростом?

Разрастающееся сообщество вокруг Laravel великолепно. Я всегда с интересом наблюдаю, какие пакеты для Laravel создают разработчики, как они находят способы применения фреймворка, которых я и представить не мог, и как он помогает им в бизнесе и, в конечном счете, удовлетворяет их клиентов.

Но в то же время иметь большое сообщество иногда страшно, особенно учитывая то, что я единственный основной разработчик, который над ним работает. Следование изначальной идее фреймворка в процессе развития, одновременно удовлетворяя растущие пожелания разработчиков — моя основная цель. В обсуждениях участвуют еще множество людей, и я думаю мы делаем большую работу, оставаясь верными корням фреймворка и продолжая его развитие.

Вы упомянули, что являетесь единственным основным разработчиком фреймворка. Обращались ли вы за какой-либо помощью, когда популярность Laravel возросла? Например, помощь в разработке или в составлении документации, или в дизайне сайта Laravel?

Хотя я и единственный разработчик, я принимаю предложения по развитию фреймворка от сообщества, в том числе в виде запросов на слияние (pull requests), а также советуюсь с несколькими людьми о направлениях развития. Вся наша документация также хранится на Github и содержит большой вклад сообщества, хотя я до сих пор пишу большую её часть сам.

Какая часть работы над Laravel была худшей? А какая лучшей?

Над Laravel было действительно приятно работать. Я старался работать в удовольствие, не принуждая себя. Если я не хотел работать над фреймворком той ночью, я просто не делал этого и не чувствовал себя виноватым. Я знаю, что работаю лучше, когда на самом деле хочу этого, поэтому я смирился с приливами и отливами своего энтузиазма и работаю в соответствии с этим естественным циклом.

Вы присоединились к UserScape в качестве инженера, и они заговорили об использовании Laravel во всех новых проектах. Разработка Laravel сейчас является частью твоей основной работы или он по-прежнему является строго сторонним проектом? Влияет ли UserScape на направления развития фреймворка?

Я периодически работаю над Laravel в UserScape. Когда я только пришел в UserScape, мы поняли, что для серьезной командной разработки в Laravel потребуются некоторые дополнительные инструменты. Поэтому мне любезно выделили время на создание системы миграции Laravel, которая очень похожа на то, что есть в Rails. Также мы включили в фреймворк несколько других функций, необходимых нам для разработки в UserScape. Но обычно я не работаю над Laravel в течении дня. Мое основное время для разработки Laravel по-прежнему наступает только после того, как моя жена и дети ложатся спать.

У меня нет никакого беспокойства по поводу негативного влияния UserScape на направление развития фреймворка. Сложившаяся ситуация аналогична раннему Rails, когда Дэвид разделял фреймворк и его работу над Basecamp. UserScape обеспечивает отличный тестовый полигон для фреймворка, так как мы используем почти все его возможности для нашего нового продукта для техподдержки — Snappy. Это позволяет мне быстро выявлять все недочеты фреймворка.

Вы занимались разработкой на .Net. Вы по-прежнему используете Windows или перешли на что-то другое?

Я использую MacBook Pro с ретиной, но в моем сердце по-прежнему остается место для Windows. Также мне очень нравится работать в Ubuntu, и я был бы не против полностью перейти на Ubuntu, если бы она позволяла мне работать еще с несколькими программами (Github for Ubuntu, Transmit и некоторыми другими).

Сравните работу над Laravel и PHP с разработкой на .Net. Скучаете ли вы по чему-либо из набора продуктов Microsoft?

PHP и .Net — это два разных мира. Конечно, у .Net гораздо большая надежность и обширное окружение. Мне действительно нравилось работать в Visual Studio. Она очень быстра — гораздо быстрее, чем любая IDE для PHP. Я также сильно скучаю по LINQ. Однако динамичный характер PHP позволяет мне делать то, что я никогда не мог сделать в .Net, например, написать реализацию ActiveRecord — Eloquent ORM.

Вы работали с другими языками? Несколько раз вы упомянули DHH. Вы фанат Rails?

Кроме PHP и C# / VB.Net я имел дело с Ruby и Rails и был знаком с Python. Я бы хотел больше изучить оба языка. Я также хорошо знаком с COBOL. Правда.

Учитывая все недавние улучшения PHP, как вы думаете, что ждёт язык в будущем?

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

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

Какие ваши любимые программные и аппаратные инструменты для работы над проектами?

Я люблю свой MacBook Pro и монитор с Thunderbolt. При разработке Laravel я пользуюсь Sublime Text 2 и Github for Mac. Также я использую виртуальную машину с Ubuntu Server в VirtualBox, которая позволяет мне разделить окружение для разработки и мою Mac OS.

Есть ли у вас еще какие-нибудь сторонние проекты? Как вы сохраняете баланс времени между друзьями и семьей и работой над таким популярным проектом?

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

Есть ли люди, которые вдохновляют вас в работе?

Я ценю всех, кто силен в своем деле — будь то программист или кто-либо другой. Из мира технологий я ценю DHH из Rails, потому что он очень хорошо умеет избавляться от ненужного и видеть реальные задачи. Конечно, я также восхищаюсь Джонатаном Айвом из Apple за его внимание к деталям и умение видеть мелочи, которые имеют значение. Еще мне нравятся отличные книги. Все программисты должны прочитать The Elements of Style.

Какие советы вы дали бы тем, кто занимается разработкой в свободное время?

Делайте то, что вам нравится, не обращая внимания на то, о чем вас заставляет переживать Hacker News. В конце концов, важно только одно — чтобы вы были счастливы.

Как вы считаете, полезен ли этот материал? Да Нет

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.