Статьи

Как может разработчик .NET начать работу на Ruby или Rails?

Общий вопрос для разработчиков .NET, решивших заняться Ruby: «С чего начать? Что я должен изучить в первую очередь: Ruby или Rails? Что мне нужно установить? Каковы лучшие ресурсы для начала? Где я могу найти более подробную информацию?

В этом посте я отвечу на каждый из этих вопросов. Однако имейте в виду, что это основано исключительно на моем собственном опыте; то, что хорошо сработало для меня, может не сработать для вас (ну, это должно быть сказано для каждого поста в блоге, верно?).

Я сначала изучаю Ruby или Rails?

После того, как Ruby, Rails, C # и ASP.NET помещены в контекст , первый вопрос, который может прийти в голову: я должен сначала изучить Ruby (язык), или я должен сначала изучить Rails (фреймворк)?

Я думаю, что большинство людей подумают «ну, вы должны выучить язык, прежде чем изучать основы…» . Несмотря на то, что некоторые люди действительно предпочитают изучать Ruby в первую очередь, Rails делает это так, что вы можете сделать совсем немного, не зная всего Ruby. Это был маршрут, который я выбрал.

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

if some_condition variable = some_value end 

У нас не будет проблем с угадыванием, даже если код будет написан более «Ruby Way»:

 variable = some_value if some_condition 

Одним из преимуществ запуска с Rails является немедленная награда за просмотр работающего приложения. Если вместо этого вы начнете изучать Ruby, то будете вознаграждены пониманием синтаксиса и конструкций языка … Я не знаю о вас, но последнее звучит для меня скучно.

С учетом вышесказанного, один из недостатков этого подхода заключается в том, что Rails выполняет много «черной магии» для достижения цели. Это беспокоит людей, которые хотят все контролировать, но это не беспокоит меня; Я бы предпочел, чтобы все было сделано, хотя я не до конца понимаю. После этого я изучаю заклинания, поскольку я становлюсь более опытным в том, как делать вещи в Rails.

Что мне нужно установить?

Если вы сначала пойдете по тому же маршруту обучения Rails, и я предполагаю, что вы будете работать на компьютере с Windows, лучший способ установить все, что вам нужно, — это посетить RailsInstaller.org . Загрузите и установите RailsInstaller, который включает в себя вещи, которые вам абсолютно необходимы (такие как Ruby, Rails и Bundler), а также еще пару вещей, которые вы, вероятно, в конечном итоге будете использовать (например, Git и Sqlite).

Пока вы находитесь на сайте RailsInstaller.org , я рекомендую вам потратить время на просмотр видео в их инструкции «шаг 2»; он проведет вас через процесс установки, а также создаст ваше первое приложение Rails (и развернет его на Engine Yard!), чтобы убедиться, что все работает хорошо.

Это мир командной строки!

В лагере Ruby и Rails почти все проводят много времени в командной строке, создавая проекты, генерируя контроллеры и модели, выполняя тесты и т. Д. Я бы рекомендовал использовать PowerShell вместо старой командной строки DOS ( даже когда я работал только с .NET, я привык к использованию PowerShell по нескольким причинам … он намного быстрее, чем любая IDE, и мне еще предстоит увидеть, как он завис или сломался). Я также рекомендую вам попробовать Console2, чтобы вы могли получить хороший интерфейс с вкладками.

Мы редактируем текстовые файлы!

Когда мы создаем приложения .NET, мы очень вероятно редактируем текстовые файлы. Даже когда мы используем так называемых «дизайнеров» (перетаскивая наш путь, чтобы завоевать мир), в конце дня мы создаем текстовые файлы (xml, xaml, html, вы называете это).

В лагере Rails никому нет дела до модных дизайнерских инструментов; все уходит, редактируя текстовые файлы напрямую. Когда я начал работать с Rails, я решил использовать Notepad (фактически, Notepad2 ) в течение нескольких недель, потому что я хотел увидеть, чего именно мне не хватало в моей «Visual Studio, перегруженной надстройками». (Я один из тех немногих уродов, которые используют CodeRush и Resharper одновременно).

Через пару недель я подумал, что пропустил такие вещи, как инструменты рефакторинга, автозаполнение в определенных сценариях, простую навигацию по файлам и классам, поэтому я решил попробовать [RubyMine], и ​​это то, что я использовал с тех пор тогда .

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

«Но я хочу, чтобы моя Visual Studio была потрясающей!» , Почти слышу, как ты плачешь. Если вы используете Resharper в Visual Studio, вы, вероятно, будете чувствовать себя как дома с RubyMine. Если вы действительно чувствуете, что вам нужна Visual Studio, вы можете попробовать Ruby in Steel ; Я лично не пробовал, поэтому не могу поделиться с ним опытом. Честно говоря, поскольку разработка программного обеспечения в основном сводится к редактированию текста, я не хочу запускать такой тяжелый и раздутый инструмент, как Visual Studio.

Ресурсы для обучения

Обучающие программы, статьи, блоги, книги, подкасты, веб-трансляции … есть много материалов, доступных для изучения Rails. Вот некоторые из них, которые были очень полезны для меня:

  • Rails for Zombies : я использую юмористические и дурацкие способы изучать технические вещи над скучной литературой каждый день. Rails for Zombies — это крутой способ изучить некоторые основные части приложения Rails. На каждом уровне у него есть короткое видео, в котором объясняется, какая часть покрывается, а затем вы попадаете в практическую лабораторию, где вы можете попробовать что-то самостоятельно, прямо в веб-браузере, без необходимости что-либо устанавливать. Там также загружаемый файл PDF, содержащий слайды, представленные в курсе; Я запихнул этот файл в Evernote , и я продолжаю возвращаться к нему, когда мне нужно запомнить какой-нибудь синтаксис или что-то еще…

  • Руководство по Rails : Здесь вы найдете целую книгу, которая обучает вас Rails, а также скринкаст контента (14 часов отличного материала!). Я получил пакет (электронная книга плюс скринкасты) и прошел через все это, следуя каждому шагу пути. Я многому научился у этого …

  • Rails 3 в действии : отличная книга!

  • Ruby Rogues , The Ruby Show , Ruby 5 : некоторые из моих любимых подкастов.

  • Виртуальная коричневая сумка : бесплатная еженедельная встреча, где люди делятся кучей советов. За последние несколько месяцев большинство общих ресурсов имеют какое-то отношение к Rails (у вас действительно случается так, что здесь тоже происходит довольно много общего!).

Надеюсь, вы также следили за нашим переходом на Ruby из серии .NET , который уже содержит довольно много материала, и вы можете ожидать гораздо большего.

Начиная

Опять же, там много материала, и я упомянул некоторые из них, которые помогли мне. Я бы порекомендовал, как только вы закончите смотреть вышеупомянутое видео на RailsInstaller, следующей остановкой, вероятно, должны стать Руководства по Ruby on Rails , которые охватывают все основные вещи, которые вам нужно знать о Rails. Это должно вас занять немного.

Получать больше в глубине

За последние пару месяцев я написал несколько постов для моего личного блога, документируя мой опыт изучения Rails. Я также веду общую заметку с ресурсами, которые были (или все еще) полезны для меня. Не забудьте проверить это!

Ничто не сравнится с грязными руками!

Я читаю много книг, статей, блогов, смотрю много видео, общаюсь с людьми намного умнее меня… но ничто из этого не сравнится с тем, чтобы запачкать руки и фактически создавать приложения с помощью Rails. Просто придумайте простое приложение и посвятите его написанию на Rails. Это то, что я сделал, и это отлично сработало. Всякий раз, когда я застреваю, я публикую вопросы в StackOverflow , в IRC-комнате #RubyOnRails на freenode.net или сообщаю об ошибках своим друзьям по Rails. 🙂