Использование Drupal и Ruby. Кто-нибудь интегрировал оба? - PullRequest
6 голосов
/ 03 октября 2010

Я запустил небольшой веб-проект и использовал Drupal для его создания. Пока все хорошо: вы можете быстро настроить хороший CMS-ориентированный сайт, добавить социальные функции с помощью модулей, и у вас есть обширный API для настройки на хорошо спроектированной платформе.

Проблема возникает сейчас: сайт выходит за рамки того, что изначально планировалось, и я нахожусь в ситуации, когда серьезно начинаю писать код для него. Хотя я получил новое уважение к PHP благодаря проекту Drupal, я хочу сделать это в Ruby. Я буду чувствовать себя более комфортно, позже будет легче поддерживать его, и я смогу использовать его в других приложениях Ruby / Rails. Думаю, со временем я перепишу существующие части в Drupal в Ruby.

Исходя из этого, возникает вопрос: кто-нибудь интегрировал оба (и историю успеха, и неудачу)? Это довольно важное решение, и я просто не могу найти информацию о ком-либо, кто сделал это в Google.

Ответы [ 2 ]

11 голосов
/ 04 октября 2010

Извините, что отрицательно. Это не звучит как хорошая идея для меня.

Я буду чувствовать себя более комфортно, позже мне будет проще поддерживать его, и я смогу использовать его в других приложениях Ruby / Rails.

Я серьезно сомневаюсь в этом. Возможно, в будущем будет сложнее поддерживать / повторно использовать из-за дополнительного кода, который вам нужно будет написать для «интеграции» Drupal и Ruby. Чем больше кода, тем больше вероятность ошибок. Я предполагаю, что вы собираетесь связать их вместе, используя REST / webservices / аналогичные технологии - если это так, вы пишете так много дополнительного кода! Склеивание элементов интерфейса (которые должны быть в Drupal) с функциональными элементами (вероятно, в Ruby) оправдывает звуки, которые мне так сложны.

Я предполагаю, что только вы будете поддерживать код. Что делать, если это кто-то еще? Сможете ли вы легко найти человека с двумя наборами навыков (Ruby + Drupal) в вашем регионе / бюджете?

А как насчет отдачи сообществу Drupal? Если ваш код становится чем-то полезным, и это большой беспорядок в Drupal + Ruby, вы действительно не сможете разместить его на Drupal.org, чтобы другие могли его создавать, улучшать и тестировать.

Я предлагаю два варианта

  1. Используйте только Drupal.
  2. Звучит так, будто ты влюблен в Руби или, во всяком случае, слишком привык к этому. В этом случае: найдите CMS на основе Ruby! (Извините, я не знаю никого!)

Для меня это классическая дилемма: если вы будете заниматься разработкой Drupal Custom Module, что будет означать более кратковременную боль, потому что вы будете вне своей зоны комфорта ... или если вы интегрируете Ruby + Drupal, что будет легче в краткосрочный, но очень болезненный в долгосрочной перспективе.

Я бы выбрал краткосрочную боль: -)

3 голосов
/ 04 октября 2010

Я думаю, что термин, используемый для описания вашей идеи, - это программирование полиглота: http://memeagora.blogspot.com/2006/12/polyglot-programming.html

Одна из моих критических замечаний по поводу Drupal заключается в том, что все написано на Drupal или PHP.Конечно, Drush - исключение, но было бы неплохо увидеть некоторые инструменты разработки, которые не используют исключительно стек Drupal.Я использовал Apache Ant на Drupal с некоторым успехом (до появления Drush).

Я также работал над проектом Drupal, который предоставлял программное обеспечение как сервис для интерфейса Java.Это не сработало, но с тех пор проект Drupal Services получил новое развитие.Я также работал над несколькими проектами Drupal, которые взаимодействуют с внешними флеш-программами (ugg!), Картами Google и гаджетами для мобильных телефонов.

Вы думаете о сервис-ориентированной архитектуре?Если вас это устраивает, то вы можете начать писать действительно гибкое программное обеспечение.Я хотел бы услышать, как вы идете!

Однако, если ваше единственное оправдание состоит в том, что вы чувствуете себя более комфортно в Ruby (и я понимаю, почему), тогда вам, вероятно, следует покинуть свою зону комфорта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...