Интервью с maintainer-ом и создателем Espresso Framework – сеньором руби slivu Данное интервью представляет собой нарезку интересных моментов из разговора с slivu в IRC чате (irc.freenode.net канал #espressorb).
Здравствуйте, slivu. Все активные ruby программисты уже успели познакомится с Вами и Вашим проектами — Espresso и Enginery. Как получилось так, что возникла идея написания нового фрэймворка?
На самом деле это не было спонтанным решением о создании нового проекта, нет. Я довольно продолжительное время занимался программирование на всеми нами любимом Ruby. Писал web-приложения используя Sinatra, Ramaze, Rack, но в определенный момент управлять, изменять и дорабатывать приложение становилось весьма нетривиальной задачей.
Для того, чтобы облегчить свою нелегкую участь, как и всякий IT-специалист, я писал скрипты для автоматизаци некоторой части рутинной работы. Впоследствии эти программы и легли в основу фрэймворка.
Но для создания больших приложений можно использовать Rails!
Да, это так, но я работал над highload проектами, и тут к сожалению, Rails-приложения показывали себя не достаточно хорошо. В настоящее время Espresso Enginery позволяет получить схожую функциональность с Rails, в тоже время по прежнему оставаясь быстрым и легким фрэймворком (по многочисленным тестам Espresso показывает большую производительность, нежели Sinatra из коробки).
Используете ли Вы другие фрэймворки в своей работе?
В этом не возникало необходимости, Espresso полностью соотвествует моим нуждам.
Вы работаете в команде или фриланс?
Я работаю в компании, а также выполняю фриланс заказы.
Ваши коллеги используют Espresso?
Да, большая часть разрабатывает используя Espresso. Кстати, именно моим товарищам я обязан тем, что решил оформить собственные наработки в виде фрэймворка.
Многих начинающих Ruby-программистов интересует, можно ли претендовать на позицию джуниора, используя лишь Espresso?
Да, разумеется, если позицию представляют люди, понимающие, что Ruby и Rails это не одно и тоже.
Как много разработчиков кроме тебя активно шлют коммиты в проект?
Ох, это больная тема. Активных можно на одном пальце сосчитать, не верят люди в новые колёса, так же есть боязнь выхода из комфортной зоны, а может Espresso не на столько хорош чтобы привлечь много разработчиков, не знаю. Он справляется с моими задачами на ура и мне этого достаточно.
Планируете Вы развивать Enginery?
Обязательно! Все не хватало времени собрать вместе утилиты используемые/улучшеные с годами. Теперь, когда они в одном репозитории, будет легче следить за гигиеной :) Ну знаете, чтобы насеокмые не водились.
Что вы планируете добавить в espresso в ближайшем будущем?
Deprecating EspressoApp. Now applications are built via E.new Added around filter Теперь shared actions можно импортировать через import, а хелперы через нативный include. Также первый релиз e-periphery ( https://github.com/espresso/e-periphery ) через который доступны content_for, capture_html, а также генератор тэгов. Пример: <source lang=«ruby»> div_tag 'some text' #=><div>some tex\</div> </source>
Очень напоминает использование шаблонов, для чего это можно применить?
Бывает, что нужно сгенериовать, так сказать, не отходя от кассы, парочку тегов, не используя template engine, не целые страницы, нет — это удобно для небольших снипетов. У вас сразу возникает вопрос: «А не будет ли это способствовать написанию плохого кода?» Плохой код можно написать используя любые инструменты или не используя их вообще, единственное, что мы можем сделать в такой ситуации — отразить рекомендации в документации. Генератор тегов следует использовать на перефирии -в шаблонах, хелперах, но никак не в core.
Планируете ли вы добавить scaffold в Enginery?
Никак нет! Для быстрого развёртывания качественного админа есть Rear — https://github.com/espresso/rear, в ближайшем будущем он будет представлен хабросообществу. Демку, скриншоты и мануал гарантирую)
Мной было замечено, что вы очень активны на stackoverflow.com и помогаете начинающим пользователям Espresso в разрешении вопросов.
Да, это так. Пока пользователей относительно мало, я успеваю ответить на большинство вопросов, наше сообщество находится в процессе формирования. В будущем (вполне возможно, что в недалеком) нас станет больше, а значит будет и больше активных программистов использующих Espresso и способных помочь остальным.
Вопрос, интересующий ruby-джуниоров и меня в частности: какими ресурсами Вы пользуетесь?
Как Вы уже заметили — stackoverfllow.com, github, habrahabr.ru Для отслеживания трендов и просто интересной информации читаю Peter Coopera - http://rubyweekly.com/archive/140.html http://statuscode.org/ http://javascriptweekly.com/ http://html5weekly.com/ http://appendto.com/modern-web-observer/ https://github.com/bbatsov/ruby-style-guide Также листаю https://practicingruby.com/ , ну и конечно https://blog.engineyard.com :)
Благодарю за беседу)
Спасибо за проявленный интерес и удачи в Ваших начинаниях =)
вопрос: Вы знакомы с espresso? Что вам нравится в нем, а что считаете неправильным? Будете ли использовать данный фрэймворк в будущем ?