Есть ли потенциальные недостатки в использовании среды Ruby, кроме Rails? - PullRequest
6 голосов
/ 03 мая 2009

Я хотел бы использовать более легкую среду, чем Rails (Sinatra / Ramaze / Camping), но обеспокоен тем, что при этом я не смогу использовать много общих библиотек, которые были адаптированы для Rails в форме плагинов , Это серьезная проблема или большинство этих плагинов можно использовать в разных средах Ruby?

Есть ли другие потенциальные недостатки в использовании среды Ruby, кроме Rails?

Ответы [ 6 ]

9 голосов
/ 03 мая 2009

Вы все еще можете использовать gems во всех упомянутых вами фреймворках, так что множество вещей можно использовать повторно. Хотите поменять на новый ORM, без проблем. Хочешь фантазийную подсветку синтаксиса, никаких проблем. Rails делает огромный шаг к тому, чтобы отойти от старой модели плагинов и использовать исключительно драгоценные камни.

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

Если бы я изучал Ruby и хотел опробовать веб-фреймворк, я бы, вероятно, пошел с Rails не потому, что он лучше, а потому, что он получил гораздо лучшие инструменты и документацию.

1 голос
/ 05 мая 2009

Если вы используете Ruby менее года, придерживайтесь Rails, если только у вас нет явных потребностей, которые лучше справляются с одной из других сред.

Более легкие фреймворки, прежде всего Sinatra, имеют тенденцию быть популярными среди людей, которые точно знают, что им понадобится, и не могут позволить себе никаких дополнительных затрат из-за неиспользуемого кода. По сути, вы выбираете свою цепочку инструментов, а не зацикливаетесь на том, что дает вам Rails. (Да, в Rails вы можете заменить ActiveRecord и др. Другими библиотеками, но это не совсем просто.) Таким образом, более легкие фреймворки дают вам значительно больше свободы, но во многих случаях у вас также есть немного больше работы.

1 голос
/ 04 мая 2009

Одна проблема, которая возникает при использовании других сред, таких как sinatra, кемпинг и т. Д., Заключается в том, что rails дает вам проверенную структуру для ваших файлов в приложении. Меньшие фреймворки довольно открыты и бесплатны.

Это может быть недостатком, когда вы работаете с несколькими разработчиками, поскольку вам нужно поговорить о создании соглашений, а не просто следовать им.

1 голос
/ 04 мая 2009

Сетевые эффекты играют определенную роль.

1 голос
/ 03 мая 2009

Большинство Ruby-модулей, используемых Rails (даже ActiveRecord), можно использовать без Rails. Но тогда вы потеряете дополнительное преимущество интеграции, предоставляемое Rails. Возможно, вам придется потрудиться, чтобы приклеить модули Ruby к выбранной вами структуре. Также обратите внимание, что большая часть документации о модулях Ruby, используемых Rails, рассказывает только о том, как использовать этот модуль с Rails.

0 голосов
/ 04 мая 2009

Я думаю, что никакой плагин rails не будет работать "из коробки" с любой из альтернативных платформ, за исключением плагинов ActiveRecord (таких как activ_as_nested_set и т. Д.), Которые все еще нуждаются в некоторой сантехнической работе (установка $ LOAD_PATH и требующая прав файлы). Я бы порекомендовал DataMapper для ORM, он не только намного быстрее, чем ActiveRecord, но и очень модульно построен, а плагины - это настоящие гемы, которые вы можете легко установить. В отличие от этого, плагины ActiveRecord - это в основном обезьяны-патчи, которые обычно ломаются с каждой новой версией.

Синатра не поставляется с какими-либо «вкусностями», без Rake-файлов, без скелетов, без сценария / генерации, но на самом деле это то, для чего он был написан. Вы можете постепенно «погрузиться» во все лишние вещи. Есть также скелеты для приложений sinatra, которые имеют базовую компоновку и настройки по умолчанию, вы можете найти их полезными.

...