Должен ли я использовать Ruby 1.9.2 для моего приложения Rails 2.3.10? - PullRequest
4 голосов
/ 05 февраля 2011

У меня есть существующее приложение Rails 2.3.10, которое я собираюсь обновить до Ruby 1.9.2 с 1.8.7.Прежде чем начать взламывать приложение, пытаясь заставить его работать, я пытаюсь решить, стоит ли оно того.

Просто чтобы понять, сколько работы может потребоваться, я просто запускаю все спецификации (rspec 1.3.1) в Ruby 1.9.2.98% тестов проходят, но они работают примерно в 3 раза медленнее, и есть тонна сообщений типа «Ruby 1.9 пока не поддерживает нормализацию Юникода».Я нашел сообщение об этой проблеме , поэтому я знаю, что могу это исправить, но меня беспокоит скорость и другие проблемы, с которыми я могу столкнуться.

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

tl; dr - следует ли мне обновиться до 1.9.2 сейчас или подождать, пока приложение будет на Rails3

1 Ответ

3 голосов
/ 05 февраля 2011

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

  • Многие новые версии гемов поддерживают только Rails 3, поэтому, если вы делаете только один шаг за раз, убедитесь, что ваши гемы поддерживаются. Например, вы не хотите застрять в ситуации, когда гем требует обновления, потому что вы используете Ruby 1.9.2, но новая версия гема доступна только в Rails 3.
  • В Ruby 1.9.2 внесены некоторые изменения в синтаксис, и необходимо скомпилировать расширения C или переустановить гемы.
  • Существуют значительные изменения конфигурации приложения с Rails 2.3 на Rails 3.0. На их завершение требуется некоторое время, но есть большая поддержка.

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

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