Ruby on Rails Недостатки - PullRequest
       20

Ruby on Rails Недостатки

1 голос
/ 02 апреля 2010

Ruby on Rails - это, пожалуй, самая популярная платформа для веб-разработки.Для этого есть множество причин, но у каждого фреймворка, даже самого лучшего в своем роде, есть свои недостатки.

Я хотел бы знать наиболее распространенные проблемы, с которыми вы сталкиваетесь при разработке приложений Ruby on Rails ипроблемы, с которыми вы часто боретесь.

Ответы [ 4 ]

3 голосов
/ 06 апреля 2010

Частые обновления версии платформы затрудняют поддержание вашего приложения в актуальном состоянии - обновления могут сломаться в неясных местах.

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

Производительность / мощность - Легко выстрелить себе в ногу с помощью запросов к базе данных, занимающих много памяти, с помощью итераторов Ruby с ActiveRecord.

Но я возьму это с помощью Java или PHPлюбой день

2 голосов
/ 06 апреля 2010

Я не в восторге от использования Rails глобальных переменных для всего. Классы моделей находят соединение с базой данных через глобальную переменную (ActiveRecord::Base.connection), существует класс Rails, который является глобальной точкой доступа для таких вещей, как регистратор, текущая среда, для кэширования и т. Д. ActionMailer создает глобальные переменные из ваших почтовиков и так далее и тому подобное. Rails построен на использовании глобальных переменных, поэтому, что бы вы ни делали на любом уровне приложения, вы всегда можете найти глобальную переменную.

Это делает тестирование уродливым. Если бы Rails был построен на Java, это сделало бы тестирование очень, очень трудным, но, поскольку это Ruby, оно просто становится уродливым. Тесты должны заглушить большую часть глобального контекста, чтобы работать в изоляции, и это может легко сделать тесты бессмысленными. Нередко встречаются пять или десять строк кода, которые заглушают различные глобальные переменные, за которыми следуют одна или две строки реального теста. Дело не в том, что пять или десять строк настройки для теста представляют собой проблему, но без чтения тестируемого кода вы не сможете легко увидеть, какое влияние окажет глобальное состояние и насколько оно значимо. Это делает многие тесты излишне уродливыми.

Мне кажется несколько ироничным, что сообщество Rails наиболее опытно из всех, в которых я принимал участие.

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

0 голосов
/ 19 октября 2012

Для многопоточных приложений потоки Ruby называются зелеными потоками, которые не являются потоками уровня ОС. Это не может обеспечить истинную многопоточность.

0 голосов
/ 02 апреля 2010

Как и у любой технологии, есть кривая обучения. Но в качестве относительно новой структуры DHH и др. Смогли «встать на плечи гигантов» (предшественников) и создали отличную основу.

Я был очень счастлив, выбрав Rails в качестве основы для моего коммерческого ПО.

Недостатки? Не так много библиотек, как старые фреймворки, такие как Java и Perl. - Но есть способы обойти эту проблему. Например, вызвать эти библиотеки из Rails или портировать их.

Производительность обычно упоминается в категории недостатков, но более дешевое оборудование и улучшения в более поздних версиях рельсов позаботились об этом. То же самое со «стабильностью».

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