Успешные внедрения Symfony: студия «Artsofte»

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.

Всегда интересно читать «как это происходит у других». Спасибо за статью.

Симфони конечно мощный фреймворк, но то, что некоторые вещи там приходится иногда делать через определённое место — это правда)

Спасибо за статью
Испытываются ли проблемы с нагрузкой?
Был ли опыт создания социально-ориентированного портала или узкоспециализированной социалки с большой посещаемостью?

Leave a comment

(обязательно)

(обязательно)