среда разработки ruby - PullRequest
5 голосов
/ 30 апреля 2009

лучше ли разрабатывать ruby ​​на рельсах в a) windows b) linux или c) mac. почему?

отредактировано:

причина, по которой я спрашиваю об этом, заключается в том, что я слышал, что разработка ruby ​​на рельсах в windows не так стабильна / хороша по сравнению с использованием ruby ​​на рельсах в mac. (хотя не уверен, правда это или нет).

плюс тот факт, что Дэвид Хайнемайер Ханссон (создатель Ruby on Rails), похоже, использует Mac, поэтому первые впечатления, похоже, связаны с приложениями Ruby on Rails и Mac хорошо сочетаются.

Ответы [ 12 ]

25 голосов
/ 30 апреля 2009

Я настоятельно советую вам не разрабатывать на Windows. Зачем? Во-первых, с каждым обновлением в Windows происходит множество проблем, и большинство создателей гемов или плагинов не используют окна, поэтому они не заботятся об окнах и не запускают на них тесты (есть несколько громких имен люди, которые упали, сказали, что окна это не их проблема, это ваша). Вы обнаружите, что проблемы * nix против Windows будут кусать вас в задницу снова и снова. Косая черта, небольшие отличия в реализациях ssh, проблемы с консолью и шрифтами, rubygems, capistrano и т. Д. *

Что в конечном итоге произойдет, так это то, что у вас всегда будет этот голос в затылке каждый раз, когда вам придется отлаживать что-то, говорящее: «Это проблема только в Windows?» и этот маленький голос - это цена для вас ... разряжать батарею каждый божий день.

Компьютеры Mac стоят дороже с точки зрения начальных долларов (которых, к сожалению, у меня нет), а платформы Linux - более дорогие условия, чтобы потратить день или два, пытаясь заставить работать ваше беспроводное устройство, но это авансовые единовременные расходы. Тяжелая небезопасность использования Windows for Rails - это постоянные расходы. По крайней мере, до тех пор, пока сообщество не начнет отвергать вещи, которые не являются действительно кроссплатформенными.

В качестве примера рассмотрим огурец. По некоторым причинам тестовая структура зависит от конкретной конфигурации консоли, недоступной в Windows. Таким образом, чтобы использовать его в Windows, вы должны изменить шрифт в консоли и изменить кодовую страницу в консоли. В противном случае буква «а» исчезнет из всех выходных данных. Зачем? Потому что он отлично работает для * nix систем и дает вам красивые цвета (я думаю, что это огромный недостаток и очень плохой выбор дизайна, даже если вы игнорируете windows).

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

Я говорю все это как кто-то, кто сейчас использует Windows для своей платформы разработки. Эй, что это за запах?

[позднее редактирование: Ruby также работает в Windows примерно в 3 раза медленнее. Это повлияет на вашу готовность проводить тесты постоянно и повредит вашему циклу обратной связи TDD]

7 голосов
/ 30 апреля 2009

Не имеет значения, с чем вам удобнее всего. Я сделал все три.

Я полагаю, что Windows немного неудобна из-за того, что она не основана на Unix, CLI немного более неудобен.

(Но если вы используете такой инструмент, как NetBeans, вам на самом деле даже не нужен CLI)

4 голосов
/ 30 апреля 2009

Я не рекомендую использовать Windows при разработке приложения, которое впоследствии будет развернуто в системе Linux. Если вы разрабатываете приложение для практики, с Windows все в порядке.

Проблема в том, что если вы нацелены на linux, вам понадобится полный стек на вашей машине для разработки: веб-сервер, dbms, возможно memcached и т. Д. Хотя можно загрузить все что на windows (я это сделал), это займет больше времени, чем на Linux-машине, будет медленнее, и вам будет сложнее найти помощь, когда что-то не работает.

Кроме того, вы можете столкнуться с проблемами поддержки гемов и плагинов в Windows. Например, \ вместо / для путей к каталогам и прочих странностей. В то время как rubyists будут пытаться быть полезными, поддержка windows иногда ограничена, так как большая часть RoR выполняется на компьютерах Mac или Linux. Например, у Capistrano были проблемы с запуском в Windows (теперь они могут быть исправлены).

В качестве альтернативы вы можете использовать Windows в качестве настольного компьютера, но использовать машину Linux в качестве сервера разработки для запуска приложения. Любой старый компьютер будет работать под Linux просто отлично. Используйте samba для удаленного доступа и редактирования файлов с вашего компьютера с Windows. Машина Linux не нуждается в дисплее, вы будете использовать его только удаленно.

Просто измените config / environment / development.rb вашего приложения на

config.action_controller.consider_all_requests_local = true

чтобы вы могли видеть следы стека из браузера, запущенного на вашем компьютере с Windows.

С уважением,

Larry

3 голосов
/ 30 апреля 2009

Ruby on Rails хорошо работает на всех платформах, но поддержка инструментов варьируется. Например, TextMate является любимым редактором среди Rubyists, и это только Mac. Вы сможете найти множество полезных инструментов для работы с RoR в TextMate, поэтому лучше всего заняться разработкой RoR на Mac.

Я сам пользуюсь Mac и Linux.

1 голос
/ 16 февраля 2012

Начиная с Ruby 1.9.2 и Rails 3.2, Windows намного медленнее для автотестов и spork (один полный цикл занял в среднем ~ 15 секунд по сравнению с простыми секундами в Linux для того же проекта), но я получаю удовольствие от инструменты и функциональность, ориентированные на git (TortoiseGit, WinSCP) и многое другое, так как я гораздо лучше знаком с Windows. Я проверил, что основные функции, которые мне нужны, работают на обеих платформах, поэтому я считаю, что поломка является меньшей проблемой по сравнению со скоростью.

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

Я начал программистом в 1981 году на ранних Unix-системах. Я оставался чистым человеком из Unix до 1995 года. Затем произошли «мелочи» (владение бизнесом), и Windows вошла в мою жизнь.

Итак, в 2007 году я начинаю изучать RoR, чистую Windows. Я развернулся на Джойенте, то есть Солярисе. Я успешно разработал два больших приложения, разработанных для Windows и развернутых на Solaris / Apache / Mongrel, без серьезных инцидентов.

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

Честно говоря, я не вижу проблем с разработкой в ​​Windows и развертыванием в Unix. Но у меня был обширный опыт работы с Unix, я не уверен, что история была бы такой же, если бы я не знал Unix.

Кроме того, я буду работать только над приложениями RoR, которые я создаю для своего бизнеса. Мне никогда не понадобится создавать какие-либо другие приложения RoR, я никогда не буду разрабатывать плагины, никогда не буду брать на себя другой проект, никогда не будет никого INSIST Я включаю что-то доступное только в то, что не очень хорошо работает в моей среде разработки Windows и т.д ...

Я бы сказал так:

Если вы несете ответственность за разработку веб-приложения для своего работодателя и этот работодатель работает на базе Windows, это НЕ ДОЛЖНО препятствовать тому, чтобы вы рассматривали RoR как платформу. Приложение должно быть развернуто сторонней организацией, если только ваш работодатель не достаточно велик и проект не достаточно важен, чтобы оправдать это в домашних системах Unix.

Так что, если вы знаете SQUAT о Unix, вам МОЖЕТ понадобиться небольшая помощь по пути. Если вы пользуетесь сторонним хостом Rails, проверьте их форумы поддержки, убедитесь, что есть люди, желающие и способные общаться с не-Unix людьми через любые вопросы развертывания / настройки и обслуживания.

Я приведу вам пример, на Joyent: если я хочу запустить миграцию, я должен пройти через их GUI базы данных, войти в базу данных, а затем «выполнить» команду. Итак, я получаю простое текстовое поле, в которое я ввожу ввод, предназначенный для оболочки Unix, а именно:

cd / user / myhome / sites / mysite && rake db: migrate RAILS_ENV = production

Это было бы не так легко понять, если бы у меня не было фона Unix.

1 голос
/ 30 апреля 2009

Система на основе Unix предложит вам путь сопротивления, так как все драгоценные камни доступны / компилируются в этих системах, что не так просто на компьютере с Windows. Это не невозможно в Windows, но вы потратите больше времени на то, чтобы заставить его работать, а не в некоторых случаях.

Из тех систем Unix, которые я предпочитаю, это Mac, у него есть все возможности Unix, а также все тонкости интерфейса, которых может не хватать в вашей системе Linux, и, конечно, я не смог бы прожить без ежедневной дозы TextMate так что Mac это.

0 голосов
/ 20 мая 2009

При поиске ответа на этот вопрос из-за необходимости постоянно разбираться с окнами, чтобы что-то работало при разработке в Ruby, я могу сказать, что если у вас есть такая возможность, используйте Linux или Mac. Я официально начал использовать Ubuntu 9.04 с сегодняшнего дня, и вот причины:

1) Невозможно делать какие-либо ssh-вещи, такие как использование Capistrano, vlad, создание гемов для rubyforge и т. Д. Вы можете делать это с помощью cygwin, но в заднице так тяжело использовать cygwin и windows, работающие для всего.

2) Последняя капля была при попытке запустить фоновые задачи в приложении rails только для того, чтобы понять, что окна не могут обрабатывать процессы .... даже не беспокоился об этом в cygwin, просто переключился на Ubuntu так Я не должен продолжать работать над этими проблемами.

Ubuntu 9.0.4 довольно горячая, но впечатляет, так что может быть не так уж и плохо.

0 голосов
/ 03 мая 2009

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

Одна проблема с Rails - это IDE. TextMate на Mac, кажется, является популярным выбором, но варианты Linux и Windows довольно фрагментированы. Обычно я бы не беспокоился об этом, но обнаружил, что Rails становится намного более управляемым, когда у вас есть поддержка IDE. В целом, существует множество файлов, расположенных в достаточно сложной структуре каталогов, поэтому наличие IDE, позволяющей легко находить нужные файлы, является потрясающим приростом производительности.

Еще одна вещь, которую вы можете рассмотреть, - это то, как выглядит ваша среда развертывания. Например, могут люди развернуть там приложения Rails на серверах Linux. В этом случае вы можете обойти ошибки, разрабатывая на OS X, но, к сожалению, эти ошибки возникнут, когда вы начнете развертывать новое программное обеспечение. Это последнее место, где вы хотите отлаживать код. Конечно, вы должны сначала тестировать свой код в промежуточной среде, но слишком часто люди пропускают этот шаг.

0 голосов
/ 02 мая 2009

Я занимался разработкой легких рельсов как для OSX, так и для Linux (Ubuntu), и обнаружил, что различия почти незаметны (с точки зрения ruby ​​и rails ... очевидно, что окружение рабочего стола сильно отличается в двух ОС ).

Как уже говорили другие, большинство уроков ruby ​​/ rails, гемов, плагинов и т. Д. Ориентированы на системы типа Unix, поэтому я мог бы предположить, что могут быть некоторые досадные сбои при попытке разработки ruby ​​/ rails в Windows, если, конечно, Вы используете IronRuby. : -)

Альтернативой настройки среды Unix для разработки на Rails является небольшая проблема - запустить один из самых простых в использовании дистрибутивов Linux, таких как Ubuntu или Fedora, под ПО для виртуализации, таким как VMWare, VirtualBox, VirtualPC и т. Д.

...