Является ли JRuby жизнеспособной альтернативой MRI для разработки Rails? - PullRequest
3 голосов
/ 28 октября 2009

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

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

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

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

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

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

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

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

Ответы [ 5 ]

2 голосов
/ 28 октября 2009

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

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

1 голос
/ 28 октября 2009

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

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

В любом случае, если вы планируете использовать разные интерпретаторы ruby, взгляните на RVM . Он позволяет легко устанавливать и управлять большинством интерпретаторов ruby.

1 голос
/ 28 октября 2009

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

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

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

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

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

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

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

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

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

0 голосов
/ 10 ноября 2009

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

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

0 голосов
/ 28 октября 2009

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

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

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

Удачи.

...