Drupal VS Symfony или другой фреймворк. За и против.

Аватар пользователя dashiwa dashiwa 11 января в 11:07

Дамы и господа. Давайте обсудим плюсы и минусы Друпала и фреймворка.

Например , симфони.

Кто что скажет?

Я думаю тема актуальная. И не часто обсуждаемая.
Даже я бы сказал , секретная

Как бывшему программисту по Drupal а сейчас Symfony , я думаю что мне есть что сказать

Комментарии

Аватар пользователя marassa marassa 11 января в 11:38
1

Я, возможно, чего-то не понимаю , но разве Друпал 8+ не использует Symfony для реализации довольно небольшой части функциональности ядра? На мой взгляд, сравнивать CMS с фреймворком, это всё равно что сравнивать автомобиль с двигателем внутреннего сгорания. Двигатель - вещь нужная и необходимая, но на него не получится сесть и поехать в булочную, пока не приделаешь хотя бы трансмиссию, колеса, руль и тормоза.

Аватар пользователя gun_dose gun_dose 11 января в 13:53

marassa wrote: довольно небольшой части функциональности ядра

Ну не скажи, что небольшой. Это как сказать, что фундамент - это довольно небольшая часть дома. Она то может и не самая большая, но на ней весь дом стоит

Аватар пользователя marassa marassa 11 января в 14:48

Всё верно, я же не говорю, что эта часть - неважная. Это действительно фундамент, но Друпал содержит в себе настолько много всего помимо фундамента, что объемная доля фундамента в этом во всем невелика.
Без фундамента дом не построишь, но жить на голом фундаменте без стен и крыши некомфортно Wink

Аватар пользователя gun_dose gun_dose 11 января в 15:50

Зависит от целей, иногда отсутствие стен и крыши - это плюс, т.к. ничего не мешает возводить своё. Был у меня проект на Laravel (она, кстати, тоже на Symfony зиждется), надо было там очень много чего дорабатывать и было это всё очень легко, т.к. там контроллер тупо дёргает ORM и отдаёт это в шаблон. Всё просто, легко кастомизируется, АПИ простейшее, ресурсов жрёт минимум, в общем, благодать. Но вот как только надо было приделать к сущности поле с картинкой с возможностью загрузки картинки из админки, то оказывается, что готового виджета нет и надо самому писать его в шаблоне.

Так что я бы сказал, что Drupal, в отличие от фреймворков, имеет много лишнего, но при этом неслабо избавляет от рутины.

Аватар пользователя marassa marassa 11 января в 16:19

А я опять согласен - я же не говорю, что Друпал лучше Симфони, или что автомобиль лучше двигателя, я просто говорю, что эти вещи тяжело сравнивать, так как они рассчитаны на разные цели и разную целевую аудиторию. Если цель - доехать до магазина прям щас, то автомобиль лучше, а если цель - сделать трактор или танк, то двигатель точно будет нужен, а автомобиль придется разобрать и практически всё выкинуть.
Фреймворки типа Laravel по определению созданы для программистов - непрограммист там не сможет сделать вообще ничего, а CMS позволяют создавать сайты вообще без программирования, при этом конкретно Друпал дает еще и удобные инструменты расширения возможностей за счет "точечного" программирования.

Аватар пользователя dashiwa dashiwa 11 января в 21:03

marassa wrote: А я опять согласен - я же не говорю, что Друпал лучше Симфони, или что автомобиль лучше двигателя, я просто говорю, что эти вещи тяжело сравнивать, так как они рассчитаны на разные цели и разную целевую аудиторию. Если цель - доехать до магазина прям щас, то автомобиль лучше, а если цель - сделать трактор или танк, то двигатель точно будет нужен, а автомобиль придется разобрать и практически всё в

Я бы даже задал вопрос так.
Насколько удобно сделать что-то нестандартное на друпале и на симфони

К примеру админку для управления рейтингом игр, стим аккаунтов, умным домом и тд

Аватар пользователя bsyomov bsyomov 12 января в 15:51

Это всегда большой вопрос, не имеющий простого ответа.

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

В первых двух примерах, надо более подробное ТЗ, чтобы что-то сказать, последнее, если там не будет ничего больше, вероятно лучше делать на фреймворке. Я, по крайней мере, сделал выбор такой. Smile

Аватар пользователя dashiwa dashiwa 11 января в 15:46

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

в друпале конечно мы получим красивую админку , редактирование и другие плюшки

Самое главное отличие симфони , там ничего нет. Есть базовый набор некоторых пакетов..но он прямо очень базовый

Вот к примеру кеширование.
В Друпале кеширование реализовано очень мощно, это многоуровневая система

В симфони вам дается функция а все остальное вы с нуля если захотите построите сами
Так во всем

Аватар пользователя marassa marassa 11 января в 16:29

dashiwa wrote: Допустим мы хотим создать блог
На друпале и на симфони
Время создания и там и там примерно одинаково

Это шутка? На Друпале простой блог накликивается за полчаса без написания единой строчки кода, и через эти полчаса блоггер, который не только не программист, но и не очень продвинутый юзер, сможет уже писать посты с картинками, читать комментарии и банить неугодных комментаторов. Уверен, что на Симфони это будет гораздо дольше, да и зачем?
Но вот если речь не о блоге, а о веб-приложении для биржевой торговли биткойнами, или о каком-нибудь голосовом чате, то тут конечно нужно программировать нестандартные вещи с нуля, и тогда выбор будет не между Симфони и Друпалом, а скорее между Джавой или Ruby on Rails Wink

Аватар пользователя dashiwa dashiwa 11 января в 21:01

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

В общем симфони проще друпала)