Должен ли я использовать Ruby 1.9.2 с моим новым веб-приложением? - PullRequest
10 голосов
/ 20 августа 2010

Запуск нового веб-приложения с Rails 3. Я все еще относительно новичок в веб-разработке, и мне действительно понравились все доступные мне интернет-ресурсы во время работы в Ruby 1.8.7 и Rails 2.3.5. Любой совет против с использованием Ruby 1.9.2 в моем новом проекте?

Ответы [ 3 ]

6 голосов
/ 20 августа 2010

Я успешно конвертировал все свои проекты Rails (кроме одного, но я над этим работаю) из Ruby 1.8.7 / Rails 2.3.5 в Rails 3.0.0 и Ruby 1.8.7 / 1.9.2 RC2 и Обе среды довольно стабильны.

К счастью, все изменилось с тех пор, как я опубликовал этот вопрос .

Рельсы

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

Говоря о плагинах и Gems, многие разработчики начинают конвертировать свои библиотеки в Rails 3. В настоящее время существует очень высокий уровень совместимости. Более того, ориентированные на Rails 3 плагины, как правило, гораздо более мощные, чем Rails 2.3, благодаря новому API плагинов Rails. Они могут загружать задачи, больше не злоупотреблять исправлениями обезьян или полагаться на внутренние хаки.

Кроме того, Rails 3 не за горами. Если ваш проект не будет развернут через 1 неделю, вероятно, стабильная версия будет доступна до того, как вы развернете свой код. Я бы этого не сделал, учитывая, что в настоящее время я управляю несколькими проектами Rails 3 в производственной среде, и они довольно стабильны (Rails 3 RC1, Beta 4 имеет действительно странную ошибку в среде кэширования).

Рубин 1.9.2

Ruby 1.9.2 намного мощнее, чем Ruby 1.8.7. Если это новый проект, я предлагаю вам использовать ветку 1.9.

Обычно легче начать новый проект в Ruby 1.9, чем конвертировать существующий.

Ruby 1.9.2 быстрее, даже быстрее, чем REE. Большая часть обычных Ruby 1.8.7 Gems работает с Ruby 1.9, за исключением нескольких, таких как RCov. Опять же, очень тяжело, что вам понадобится библиотека, которая не работает с Ruby 1.9.2.

Если это произойдет, скорее всего, это устаревшая библиотека, и в экосистеме Ruby, вероятно, имеется лучшая замена.

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

Заключение

Из моего личного опыта я был очень доволен Ruby 1.9.2 и Rails 3. Это, безусловно, моя любимая среда и среда по умолчанию для новых проектов.

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

2 голосов
/ 20 августа 2010

Это в конечном итоге зависит от проекта. Если это личный проект, и вы используете его как средство для изучения Ruby / Rails, то я думаю, что его стоит изучить и использовать новейшие инструменты. Если это работа клиента или проект, основной целью которого является выполнение задачи, 2.3.5 / 1.8.7, вероятно, будет лучшим выбором из-за ресурсов, как вы упомянули, и многие вспомогательные библиотеки / гемы просто работай. В какой-то момент вам придется изучать Rails 3 / Ruby 1.9.x, потому что это определенно то, куда движется сообщество.

Я бы провел небольшое исследование и выяснил, какие гемы вам понадобятся для вашего проекта, и позаботился о том, чтобы все поддерживалось, если вы выберете маршрут Rails 3 / 1.9.2. Кроме того, присоединяйтесь к IRC и расспросите об опыте других людей с какими-либо драгоценными камнями.

Я могу вам сказать, что у меня есть небольшое приложение Rails 3 / 1.9.2, которое прекрасно работает в производственном процессе, хотя оно очень маленькое и является личным проектом.

1 голос
/ 24 августа 2010

Возможно, вы захотите попробовать Ruby 1.9.2, используя RVM

Я использовал его время от времени для разработки некоторых приложений на Rails3, поддерживая наши текущие рабочие сайтыпуть до Rails 2.2 / Ruby 1.8.5).Единственное, что нужно помнить, чтобы запустить RVM до ^^

...