Переход к Ruby on Rails из ASP.NET

Я разработчик ASP.NET с последних 5 лет и все еще люблю его. В Ruby on Rails есть много хороших голосов. Я хочу попросить сообщество, стоит ли пытаться изучить Ruby On Rails в качестве веб-разработчика ASP.NET на следующей точке зрения.

  • Масштабируемость
  • Документация
  • Поддержка сообщества
  • Решения для хостинга
  • Развертывание ETC.

Ответ 1

Я сейчас на вашем месте, потому что я изучаю RoR после коммерческого развития в .NET в течение 5 лет. Вот мои два цента:

  • Масштабируемость: я считаю, что рельсы могут масштабироваться довольно хорошо, есть множество доступных опций, таких как кластеры монгреров на linux.
  • Это немного хуже, чем на .NET. Но сообщество очень хорошо, и вы никогда не найдете себе хорошего пути.
  • См. выше (отлично)
  • Хостинг не является проблемой: доступны многочисленные варианты хостинга.
  • Я нахожу переход от разработки к тестированию, а затем к более продуманному продуцированию в Ror, чем в ASP.NET.

Ответ 2

Я бы взял gander как ASP.NET MVC. Таким образом, вы можете придерживаться .NET Framework, но все же получаете некоторые из вещей, которые вы, вероятно, хотите получить из RoR.

ASP.NET MVC очень легкий и простой в масштабировании с некоторыми из API-интерфейсов, которые он предоставляет (хранилище SQL для сеансов или даже скорость Microsoft).

ASP.NET MVC имеет большую поддержку со стороны сообщества и, таким образом, имеет большое количество документации и отзывов от сообщества и самой Microsoft.

Много. Подробнее см. http://www.codeplex.com/ASPNET.

Ну, ASP.NET MVC можно развернуть. До тех пор, пока ваш хост поддерживает ASP.NET 3.5, вам больше ничего не нужно. Им не нужно устанавливать ASP.NET MVC любым способом. Поэтому, если вы этого захотите, вы можете легко использовать общий хост.

Развертывание очень просто с ASP.NET MVC и с изменениями, внесенными в Visual Studio 2010 для более простого развертывания веб-сайтов через "Пакеты". В настоящее время я поддерживаю 2 ASP.NET-сайта MVC и обнаруживаю, что он с бин-развертыванием будет таким же, как обычный веб-сайт ASP.NET WebForms.

Ответ 3

Я полностью согласен с сообщением Чада.

Я был на полпути через разработку приложения в рельсах, и теперь я сделал полный 360 и передумал после глубокого углубления в ASP.NET MVC для выполнения моих обязанностей на день.

Теперь я меняю курсы и смотрю в ASP.NET MVC для всех моих личных проектов. Я думаю, что оба они честно выглядят сопоставимыми, так как, по-моему, MS хорошо смотрела на набор функций Ruby on Rails и гарантировала, что они смогут соответствуют особенностям. В конце концов, если вы соединяете проект с LINQ 2 SQL/EF, ASP.NET MVC и потенциально динамическими данными (если вам это нужно), я действительно не могу придумать каких-либо веских причин выбирать Rails поверх .NET, однако я могу выбрать причины для выбора .NET поверх рельсов - после того, как все раздастся богатый опыт отладки с VS.NET, богатая поддержка intellisense и watcher/quickwatch плюс инфраструктура ASP.NET MVC поддерживает Html Action Helpers, Model Binders, поддержку и поддержку для модульного тестирования, и теперь с включением результатов JQuery и JSON вы практически не остановить.

Я полагаю, кроме того, что затраты на хостинг/лицензирование, предпочтение языка Ruby и другие личные предпочтения, такие как open source и т.д. Это действительно ваш выбор.

Ответ 4

1) Масштабируемость

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

2) Документация

Microsoft предоставляет лучшую документацию для основных библиотек, чем Ruby или Rails, но рубиновые/рельсы все еще в целом очень хороши. Я бы назвал рубин/рельсы победителем здесь для простого факта, что вы всегда можете просмотреть источник всего. Никакая документация не заменяет возможность реально видеть, что происходит.

3) Поддержка сообщества

Я был впечатлен поддержкой сообщества вокруг рельсов. Я не знаю, что еще сказать.

4) Решения для хостинга

С тех пор, как был выпущен phusion-пассажир, в эти дни, похоже, легче найти рельсы, чем найти ASP.net-хостинг. Это будет только расти в сторону рельсов с течением времени, поскольку тот факт, что хостинговые компании не должны платить роялти за Microsoft, чтобы развернуть рельсы на серверах Linux.

5) Развертывание ETC.

Capistrano (самое распространенное решение для развертывания рельсов) превосходит все остальные.

Ответ 5

Ну, я не знаю ничего о части Scalability, но лично я начал изучать Ruby On Rails из ASP.NET некоторое время назад. Мне действительно трудно найти хорошую документацию. Документация класса на сайте Rails была очень плохой в моих глазах, и у меня был простой вопрос о том, какие аргументы вы могли бы внести в actionlink. Но, возможно, именно я никогда не нашел подходящего места. Но лично я считаю, что документация ASP.NET лучше, чем рельсы - по крайней мере, покупайте книгу, я думаю, что это хороший способ пойти.

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

Число 4. Есть много решений для хостинга для Rails, но не так много, как ASP.NET или PHP. Я думаю, вам нужно исследовать это самостоятельно и узнать, есть ли что-то, что вам понравится.

Номер 5. Ruby должен быть очень простым в развертывании, он имеет представление о разработке, тестовой и производственной базе данных. Он использует миграции, поэтому обновления в схеме базы данных являются бесшовными - это очень круто. Это скриптинг, поэтому он должен быть предметом xcopy от компьютера разработки до производственного сервера.

Причиной выбора Ruby on Rails является то, что вам нравится шаблон MVC. Шаблон MVC - гений, а рубин - отличный язык, когда вы его изучаете. Возможно, возьмите погружение в ASP.NET MVC и посмотрите, что это такое - тогда, возможно, перейдите в Rails. Тогда вам нужно только изучить новый язык, а не новую архитектуру, структуру и язык в то же время.

Помните, что это от разработчика ASP.NET, который принюхался до Rails, но отказался от работы с отсутствием возможности найти действительно хорошую документацию, и всегда были какие-то странные ошибки, из редактора или Rails, но это верно новичок:)

Но если у вас есть время, обязательно научитесь этому. Некоторые разработчики говорят, что мы должны изучать один новый язык в год, а Ruby - отличный кандидат на это.