Является ли JRuby жизнеспособной альтернативой MRI для разработки Rails?

StackOverflow https://stackoverflow.com/questions/1634484

Вопрос

Я начинающий разработчик rails на грани среднего уровня, который усердно работает над улучшением своих навыков.

Я немного сбит с толку состоянием JRuby и тем, является ли это жизнеспособной альтернативой для перехода с МРТ.

В настоящее время я запускаю Mac дома и редактирую с помощью textedit (MRI для ruby, terminal для команд rails и т.д.).На работе я использую NetBeans в Windows, но не выполняю там никакой работы на Ruby.

Я серьезно подумываю о том, чтобы отказаться от Mac по причинам, не имеющим отношения к этому разговору, но я обеспокоен тем, что, как только я перейду на Windows, поддержка Ruby будет менее оптимальной (возможно, я ошибаюсь на этот счет).

Мне действительно нравится работать с Netbeans на работе, и я вижу, что использование JRuby в Windows с Netbeans и разрешение JRuby управлять моими драгоценными камнями было бы относительно приятным опытом.Мне нравится идея завершения кода и полноценной IDE, а не текстового редактора (без запуска flame war редактора).

Мой вопрос в том, собирается ли JRuby усложнить изучение rails?Из того, что я видел, некоторые драгоценные камни не поддерживаются в JRuby, или в этой экосистеме все может быть сделано немного по-другому.Как ученик, я следую множеству руководств из Интернета и книг, и я беспокоюсь, что что-то может не сработать или будет трудно начать работать с JRuby.Обоснован ли этот скептицизм?Или это должно быть относительно безболезненное переключение?Как это влияет на развертывание на платформах, отличных от JRuby, таких как Heroku и т.д.?

Я все еще рассматриваю множество вариантов, включая MRI в Windows, MRI или JRuby в OpenSolaris и т.д.Я думаю, что в любом случае я буду использовать Netbeans.

Любые комментарии приветствуются.

Это было полезно?

Решение

Реально вам не нужно завершать код для Rails. TextMate - безусловно наиболее часто используемый редактор в мире Ruby, и этого более чем достаточно для всего в Ruby. Ruby не требует такой большой поддержки инструментов, как Java. Поэтому я бы сказал, что если проблема с редактором - единственная причина, по которой вы выбираете JRuby, это не очень хорошая причина. Поскольку вы правы, есть множество гемов, которые не работают в JRuby, потому что они используют какое-то нативное расширение. Тем не менее, самые популярные драгоценные камни, как правило, работают в JRuby. Производительность в JRuby все еще не так хороша, как в Ruby 1.9, но во многих случаях она сопоставима с MRI 1.8. Лично я бы рекомендовал рассматривать JRuby как продвинутую концепцию Ruby. Он будет работать на Rails, но да, вы обнаружите, что не сможете просто следовать учебнику, и для новичка все будет немного сложнее. JRuby - это не самая сложная технология, но это может быть большим препятствием, чем вы хотите преодолеть как новичок.

Я настоятельно рекомендую в любом случае выделять евро за копию TextMate, даже если вы в первую очередь не занимаетесь разработкой. Это стоит каждого пенни, а потом и немного. Поработайте в этой среде некоторое время и посмотрите, действительно ли вам нужна ваша IDE. Держу пари, ты не будешь.

Другие советы

  

Мой вопрос, собирается ли JRuby   усложнить обучение рельсам?

Да, потому что все учебные пособия, документы для начинающих и большинство разработчиков, которые обычно могут вам помочь, предполагают МРТ, поэтому для каждой проблемы, которую вы имеете, вы должны сначала устранить причину, связанную с jRuby.

  

Из того, что я видел, некоторые драгоценные камни   не поддерживаются на JRuby, или вещи   может быть сделано немного по-другому в   эта экосистема.

Любые гемы, написанные с собственными расширениями C, должны быть портированы на jRuby (обратное также верно, но проблема встречается реже).

  

Как ученик, я слежу за многими   учебники из Интернета и из книг   и я беспокоюсь, что вещи не могут   работать или будет трудно начать работать   JRuby. Это скептицизм хорошо   основана?

Я бы сказал, да, см. мой первый пункт.

  

Как это влияет на развертывание на   не-JRuby платформы, такие как Heroku   и т.д.?

Чем больше ваша среда разработки отклоняется от вашей производственной среды, тем больше «дурацких» ошибок появляется. Альтернативой является развертывание в механизма приложений Google с использованием jRuby.

С другой стороны, кто будет писать учебники по jRuby, если на это нет спроса?

Я использую Netbeans, Textmate и Vim, но обычно Netbeans.Мне нравится интегрированная отладка Netbeans, временами это очень полезно.Netbeans и Vim являются кроссплатформенными, и это очень важно для меня.Я ненавижу зависеть от программного обеспечения, которое доступно только для одной операционной системы.Я почти уверен, что перепробовал практически все IDE для Rails, и Netbeans - лучшая IDE для Rails в моем арсенале, но я отвлекся.

cwninja права насчет несовместимости драгоценных камней JRuby, хотя большинство драгоценных камней поддерживаются с помощью JRuby.Видишь http://isitjruby.com/ для поддерживаемых драгоценных камней.JRuby сейчас набирает обороты и является хорошим выбором для разработки.Теоретически, выбор JRuby или MRI должен быть несущественным, но не настаивайте на этом.JRuby позволяет довольно легко переключать совместимость с ruby между 1.8.x и 1.9.x, но опять же, вы могли бы использовать РВМ (который, оказывается, является бомбой) для достижения этой цели.

В любом случае, если вы рассматриваете возможность использования разных интерпретаторов ruby, взгляните на РВМ.Это позволяет вам легко устанавливать большинство интерпретаторов ruby и управлять ими.

Посмотрите, как TBH движется от системы UNIX к системе Windows для разработки на Ruby, ну, это просто глупо. Не используйте Mac, если не хотите, но многие вещи в Windows просто не будут работать очень хорошо. Вы потратите больше времени на то, чтобы все заработало, чем на работу.

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

JRuby, безусловно, является хорошей альтернативой MRI ruby, но если вы следуете учебникам, то можете просто добавить уровень WTF, поскольку вы узнаете, что это может привести к обратным результатам, но если вы перейдете к окнам, JRuby, вероятно, является лучшим способом. идти.

Удачи.

Я начал с МРТ в OS X, а затем в Windows. В настоящее время я использую JRuby в Windows, но все еще возвращаюсь к MRI в Windows, чтобы проверить поведение, к чему вы привыкнете. JRuby претерпевает множество изменений, чтобы сделать его совместимым с Ruby 1.9, а сам Ruby является чем-то вроде движущейся цели.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top