Успешные внедрения Symfony: студия “Artsofte”
Artsofte – одна из российских студий которая недавно открыто заявила о том что использовала, использует и будет использовать в своих проектах фреймворк Symfony. Как борются с «Сифонией» в компании мы решили узнать подробнее у директора студии, Николая Адеева.
Николай, расскажите кратко о вашей студии. Как давно работаете? Сколько человек работает в студии сейчас?
Максимально подробная инфа о студии на нашем сайте – www.artsofte.ru.
К тексту мы подошли очень трепетно потому что аж с 2005 года никак не занимались своим сайтом. Поэтому когда летом 08 «релизнули» свой корпоративный ресурс отдали ему много сил. В частности в нашей истории детально и красочно расписаны все вехи развития.
А сейчас нас 25 заряженных фанатиков.
Расскажите как у вас все начиналось с Symfony?
Перевести всю разработку на несамописный фреймворк желание было уже давно. Среди тех фреймворков, которые удалось попробовать на зуб - Zend был слишком громоздок, тяжёл и нёс в себе много ненужного + на то время с документацией было плохо.
CakePHP сразу не устроил тем, что он заточен под PHP4. Из этого вытекало достаточно много неприятных последствий, да и не было смысла вспоминать про PHP4.
CodeIgniter достаточно привлёк и документацией и многих другим, но возить на нём можно простые проекты, проекты посложней - уже потребовали бы огромных танцев с бубном.
На symfony наткнулись совершенно случайно и решили попробовать. То что сразу попалось на глаза - генераторы, чрезмерная настраиваемость, лёгкость в создании модулей и удобная архитектура расположения самого кода - привели мгновенно в восторг. Постепенно фреймворк осваивался и в дальнейшем уже проекты студии было предложено делать именно на нём.
К тому же, Symfony смог подать совершенно иной взгляд на создание приложений, архитектуру кода, помог познакомиться с новой ORM Propel (она больше чем Doctrine нравится). Ну и количество документации и всемирное коммьюнити не стоит упускать из положительных моментов.
Как проходил процесс внедрения? Были ли подводные камни?
Внедрение началось с разработки нескольких версий блогов.
Сначала появился простейший Блог, затем улучшенная версия корпоративного блога. Дальнейшим этапом был Artosfte Lite.
Система разрабатывалась с абсолютного нуля, поэтому мы не были ни чем ограничены и начали создавать все необходимые плагины, которые уже перешли на новые коммерческие проекты.
Главной проблемой являлся админ-генератор. Начинали мы с sf 1.1, а после Artsofte-Lite привязались к формпроцессору (отдельного бекенда там нет, поэтому админ-генератор просто не задействовали). Старая система обработки форм нас немного сковала.
Некоторые вещи, которые можно было сделать интерактивными, было тяжело реализовать. Не порадовало отсутствие поддержки деревьев как и Propel’ом, так и админ-генератором (последнее было бы весьма неплохо увидеть в дальнейших версиях).
Но, тем не менее, собран достаточный багаж плагинов, который причёсывается для перехода на sf1.2
Как быстро вливаются новые люди в разработку на фреймворке? Ведь часто говорят что на симфонии «тяжело начать». Как у вас справляются новички с этим?
К сожалению говорят “тяжело начать” те, кто с фреймворками не работал вообще. С появлением еще нашего самописного студийного фреймворка мировоззрение на код и разработку еще тогда сильно изменились. Небольшой этап “раскачивания” был при переходе , но в целом он был посвящён изучению структуры фреймворка. Всё остальное изучение - во время практики. Лучшего способа понять новый инструмент - нет. К счастью практических примеров Фабьен даёт немало и весьма неплохие - это редкость для большинства инструментов.
Новички с фреймворком справляются вполне неплохо. Симфони не имеет каких-то диких заморочек, поэтому реализация приложений на нём идёт достаточно просто. Это же всё тот же php. Если был багаж знаний по MVC ранее - всё идёт проще. Если не было - постепенно идёт обучение. Реализацию MVC ведь не нужно продумывать с нуля, просто нужно понять, что это такое и как это сделано в Symfony.
Этот фреймворк очень лёгок в изучении.
Есть ли такое чего в фреймворке вам не хватает?
Куда еще большей расширяемости. Реализация некоторых вещей идёт немного не через то место.
Простой пример - для компонентов нет preExecute, нет фильтров (вообще немного удивились, когда копнули глубже и поняли, что компоненты и хелперы вызываются всегда при помощи хелпера). Не хватает возможности отдельно воспользоваться шаблонизатором, не привязывая ни к модулям, ни к компонентам. Такое бывает очень нужно, когда, например, создаётся task, который отсылает письма. А шаблоны писем хочется хранить иметь в виде шаблонов phpView.
Весьма не хватает в админ-генераторе простых средств вроде сортировки, возможности смены значений boolean полей прямо из списка (публикация, например). Ну и ещё раз про деревья - можно было ты заточить вывод под них. Без деревьев - никуда. Данные вещи приходится реализовывать самим.
Нам кажется такие вещи бы многим понравились.
Вообще не хватает определённого набора слушателей - их мало в самом ядре весьма. В итоге нет возможности создавать весьма удобные перехватчики, которые бы экономили силы и уменьшали количество кода.
Я так понимаю, теперь все проекты вы выполняете на Symfony?
Да исключительно. Даже новые сервисы на старых проектах по возможности там где это реализуемо начинаем перетаскивать на симфонию, с прицелом на полный перевод при разработке новой версии\редизайна (мы обычно с клиентами дружим подолгу).
Сколько проектов уже собрано на Symfony в вашей студии?
На данный момент около 10.
Вы можете оставить комментарий или подписаться на RSS feed




Согласен на счет шаблонов, и деревьев админке, приходится дописывать самим, но по сравнению с другими фреймворками в симфе ты дописываешь,а не практически все с 0.