Ruby on rails обучение. Какие навыки я имел прежде, чем начал изучать Rails? Почему Ruby самый лучший выбор

Доброго времени суток!

Предисловие

Когда-то я хотел познакомиться с Rails поближе, но не знал с чего начать, пока мне на глаза не попалась эта статья. Далее вы увидите перевод, смешанный с собственным опытом и свойственными мне лексическими и фразеологическими оборотами. Итак, поехали.

Введение

У меня за спиной огромный опыт работы с PHP, но сейчас я работаю Rails разработчиком. Огромную сложность для большинства людей, которые пытаются освоить что-то новое - это сам процесс обучения. Когда вы владеете каким-либо языком или фреймворком и знаете его вдоль и поперёк, переход на что-то новое не представляется необходимым.

Однако, изучение Ruby on Rails является достаточно простым занятием. Это невероятно мощный фреймворк, который имеет огромное сообщество, продвигающее его вперёд. Итак, у нас возникает вопрос: какой способ изучить Rails является лучшим? Вот он - план занятий.

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

Пункт 1: работа с упражнениями в «Try Ruby»

Вы можете подумать, что изучение Ruby является здесь самым важным шагом, но это не так. Часть из тех, кто приступает к детальному изучению Ruby, прекращает изучение и просто остаётся работать с текущим языком и фреймворком. Не делайте этого! . Не бойтесь изучать этот язык (или любой другой). Ruby - весёлый, великолепный и простой для изучения язык. Плюс ко всему, не стоит забывать о том, что вам не обязательно изучать его на все 100%. Вам достаточно лишь знать основу.

Наиболее рекомендуемым инструментом для погружения в синтаксис Ruby является сайт TryRuby . Он представляет собой интерактивную среду, которая позволяет попробовать синтаксис в действии. Если вы наберёте help , то будете приглашены ознакомиться с пятнадцатиминутным руководством, который обучит вас базису. Не стоит забывать, что у руководства две главы, с которой вы можете ознакомиться набрав help 2 .

Если вы хорошо поработаете над этими заданиями на протяжении некоторого времени, то у вас появится хорошая база знаний. Всё, что сделал я сначала, это изучил эти два руководства. Остальное же я познавал в процессе разработки сайтов на Rails, а также путём гугления и упражнениями с IRB.

Пункт 2: установка Ruby и Ruby on Rails

Если вы хотите изучить Rails, то вам без сомнений придётся установить его на ваш компьютер. Здесь представлено несколько решений, исходя из того, какая у вас ОС. Если у вас Mac или Linux-based компьютер, то я рекомендую вам использовать RVM. Это великолепный инструмент, предназначенный для установки Ruby. Собственно, вот инструкция по самой установке. Если же у вас Windows, то вам придётся воспользоваться RubyInstaller.

Следующим шагом является установка самого Rails. Для этого вам необходимо установить RubyGems. Если же вы используете RVM, то примите мои поздравления - у вас RubyGems уже установлен. Если же у вас Windows, то советую проследовать сюда. Чтобы установить Rails, вам необходимо воспользоваться командой gem install rails и, тада, всё сделано!

Пункт 3: ознакомление с введением в Rails от Jeffrey Way


В этом 40-минутном скринкасте Jeffrie Way расскажет вам о том, что необходимо знать для того, чтобы использовать Rails. В нём вы найдёте много полезной информации, включая такие темы, как:

  • Models and generators
  • Test-driven development (TDD)
  • ActiveRecord
  • RSpec and Capybara
  • Partials
а также многое другое…

Пункт 4: изучите курс Rails For Zombies

Я всегда думал, что изучение по примерам является самым лучшим способом изучить язык или фреймворк. Бесплатный и невероятно мощный курс, с которым вы должны обязательно ознакомиться - Rails For Zombies, созданный ребятами из EnvyLabs. Данный курс является интерактивным, что означает, что после просмотра каждого видео вы будете работать над полезными и интересными упражнениями.

До этого времени я рассказывал вам об инструментах интерактивных и бесплатных. Время халявы прошло! Сейчас вам следует приобрести книгу под названием Agile Web Development with Rails . Она призвана научить вас использовать Rails путём строения веб сайта с нуля. Она проходит базовые основы, такие как контроллёры, модели, «scaffolding», функциональное тестирование, а также немного AJAX. Приобретите хотя бы последнее издание.

Пункт 6: постройте простой блог

Я знаю, что это звучит довольно скучно (покрайней мере для меня), но это великолепный пример, который используется везде по причине того, что он является довольно простым и быстрым для написания. Пойдя таким путём, вы будете способствовать закреплению ваших знаний и навыков. Но я предлагаю вам не заниматься копипастом (этим вы ничего не добъетесь, разве что 10 минут лишней траты электроэнергии), а попытаться написать его постепенно, по памяти, иногда лишь подглядывая в книгу затем, чтобы посмотреть как работает тот или иной метод.

Пункт 7: добавьте новые возможности в ваш блог

Великолепно! Вы всё-таки построили свой собственный блог. Но всё-таки в нём нет полновесного функционала, а лишь представлены базовые функции, присущие каждому блогу. Хорошо, давайте чуть-чуть поработаем и добавим систему аутентификации.

На самом деле я не хочу сейчас заставлять вас делать что-либо сложное, ведь вы уже порядочно потрудились. В качестве системы аутентификации вы можете использовать какой-нибудь готовый гем (Omniauth, например). Заодно и с имплементацией гемов в ваш проект разберётесь.

Также советую посмотреть этот скринкаст от Ryan Bates, в котором описывается создание простой системы аутентификации с нуля. После имплементации системы, следует добавить возможность удаления/редактирования постов, если вы ещё не сделали этого. Если же задание уже выполнено, то пора переходить к следующему пункту.

Пункт 8: создание чего-нибудь своего

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

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

Прежде чем начать, я хотел бы представить Джоша Криуса (http://joshcrews.com) и поблагодарить его за то, что убедил меня начать изучать Ruby on Rails; без него, его помощи и без часов, которые он потратил на то, чтобы быть моим наставником, я не писал бы это сегодня. Спасибо.

23 января я запустил идею своей мечты, Freelancify.com . Ровно 12 недель назад я был техническим предпринимателем (tech entrepreneur), который тратил тысячи долларов, чтобы создать приличный MVP (минимально жизнеспособный продукт), потому что мне недоставало знаний. Одной из причин (как я тогда думал) было то, что обучение было для меня слишком сложным или заняло бы чрезмерно много времени. Я думал (как и многие другие), что программисты (и некоторые действительно) рождаются с набором волшебных навыков в решении проблем и математике, которые делают их гениями программирования. И именно 12 недель назад я принял лучшее решение за долгое, по-настоящему долгое время . Больше ни одна из моих идей не останется не более чем идеей. Теперь у меня есть возможность запускать рабочие версии, тратя деньги лишь на хостинг и прилагая некоторые усилия. На сегодняшний день этот набор навыков - это примерно как пригнать кучу тракторов во времена калифорнийской золотой лихорадки, пока все остальные используют простые лопаты. Я предлагаю каждому научиться писать код . Здесь я хотел бы добавить уточнение: ранее, назвал пост “Как я изучил Rails за 8 недель”, однако, если быть точным, то учитывая дату запуска, получается 12 недель. Однако за 8 недель я почувствовал, что знаю достаточно, а следующие четыре недели были потрачены в большей степени на то, чтобы заставить полученные знания работать, а не на обучение.

Какие навыки я имел прежде, чем начал изучать Rails?

Я был веб-дизайнером, обладающим познаниями в HTML и CSS, и, в основном, фокусировался на дизайне UI и UX. Самое сложное, что я делал с реальным кодом (не считая HTML) - это возможность настраивать Wordpress. Одним словом, я абсолютно не имел представления ни о том, что такое MVC-фреймворк, ни о том, как в целом работают базы данных. Дизайн, макет и HTML для Freelancify были созданы мной за две недели в июне 2011-го.

Почему я принял решение учиться?

Возвращаясь в июнь 2011-го, когда макет был готов, я начал поиски кодера, который сделал бы макет функционирующим. Макет был практически готов: у меня были текстовые поля, выпадающие меню, формы, кнопки, ссылки, ведущие куда необходимо, и так далее. Нашел разработчика, и, если в двух словах, то парень мне не подошел. Я остался с кучей долгов и даже не близким к завершению продуктом. Тогда я связался с Джошем Криусом (с ним я познакомился на встрече, посвященной Ruby on Rails, которую он организовал в Нэшвилле), и встретился с ним, чтобы понять, можно ли сделать хоть что-то из того, что у меня осталось от разработчика. К сожалению, починка и доработка кода заняла бы не меньше времени, чем разработка с нуля грамотным программистом. Я упал духом, понимая, что не смогу позволить себе снова тратить тысячи долларов на разработку с нуля. И тогда Джош сказал… “Почему бы тебе просто не научиться обращаться с Ruby on Rails, этот проект был бы прекрасным способом ” и затем “Я могу даже встречаться с тобой дважды в неделю и помогать тебе в обучении ”. Я потратил целую ночь на раздумья. Моими вариантами было: найти комфортную работу и оплатить счета ИЛИ рискнуть всем, чтобы научиться Rails и, в конце концов, лакомиться лучшим раменом, который только готовят в Италии. Я решил. Позвонил Джошу на следующее утро. Я поставил все. Я выделил деньги из оставшихся сбережений и разделил их на три месяца (для неженатого парня, живущего в одиночестве и без детей одной тысячи долларов на месяц вполне достаточно). Время приниматься за работу, теперь я ученик на полном рабочем дне. Держу в уме: поиск в Google, Stackoverflow, IRC #RubyOnRails и сообщество Rails будут прикрывать меня, когда я застряну, уверен, что их будет достаточно.

Мои следующие три месяца - Миссия : получить MVP, получить достаточно, чтобы работать, но не “отстойно-достаточно”, чтобы оставить ужасное первое впечатление.

Недели 1 - 3

Это была, пожалуй, сложнейшая кривая обучения, но я НЕ сдавался.

Стены созданы для людей, которые, на самом деле, не хотят их покидать.

Установка рабочего окружения Rails для полного новичка может оказаться невероятно раздражающей. Подсказка #1: заимейте Mac. Подсказка #2: используйте Homebrew, RVM, Git и Heroku (на самом деле это все, что вам нужно, чтобы начать). Я потратил пару дней на установку, затем все удалил и снова установил. Достаточно повторить несколько раз, и вы привыкните к использованию командной строки терминала (консоли) и поймете, почему вещи работают так, как они работают. Затем, первая вещь, которой я занялся, были уроки TryRuby , Rails for Zombies и Rails Tutorial Майкла Хартла. Не беспокойтесь о том, чтобы на 120% понять материал, этого не случится, пока вы не начнете по-настоящему учиться. Я закончил Rails Tutorial и создал это похожее на Twitter приложение примерно за неделю, не совсем понимая, что я сделал. Позднее, по мере продвижения, я стал понимать, что все начинает обретать смысл.

Недели 3 - 6

С Twitter-приложением, созданным при помощи Rails Tutorial, я обрел некоторую уверенность. Руководство не сделало меня разработчиком, но теперь я знаю общие шаги в создании приложений, с создания самого приложения, и до установки его на Heroku. Все, что было между тем временем оставалось размытым. Как мне теперь ПО-НАСТОЯЩЕМУ начать учиться? Работая над реальным проектом, который что-то для меня значит . Джош и я решили, что мне стоит свободно поработать над Freelancify и посмотреть, что я смогу сделать. Первым, что я сделал, был перенос всего HTML с каркаса и организация его в файлы видов(views) и парциалов(partials). Я создал(scaffolded) шаблонные платформы для Пользователей(Users) и Проектов(Projects). Затем я начал изучать мой первый реальный гем Devise. Затем, возможность иметь отношения, например каждый Пользователь будет иметь портфолио. Но пользователи могут иметь множество портфолио, в то время как каждое портфолио может принадлежать лишь одному Пользователю. Когда вы поймете, как работают отношения между моделями и как вызывать/отображать вещи, которые принадлежат чему-то еще, жизнь станет намного проще. Если в какой-то части вы застряли и не можете сдвинуться с места, пропустите её, велика вероятность того, что пока вы разрабатываете другую возможность, вы так же поймете, как реализовать и то, что вы пропустили.

Недели 6 - 9

Шажок за шажком, я продолжал учиться, копируя и повторяя. Я мог заставлять какие-то вещи работать, а затем - бац - и я втыкался в стену и абсолютно не представлял, что же делать дальше. Заходя на Stackoverflow , IRC-чат #RubyOnRails, RailsCasts или дергая Джоша , в конце концов, я понимал, как действовать. Делайте то же самое снова и снова, и вы научитесь всему довольно быстро. Тратить раздражающие часы, тестируя чей-то ответ со Stackoverflow, чтобы понять, что он не работает - это, на самом деле, полезно. Вы понимаете, чего не следует делать. И когда вы найдете ответ, вы начнете понимать, ПОЧЕМУ последнее не работало. Примерно в это время я начал осознавать, насколько велика картина вещей, и по-настоящему понимать, ПОЧЕМУ все работает именно так, как работает. Я чувствовал себя идиотом, возвращался назад и рефакторил код, который написал ранее, делая его более эффективным. И в какой-то момент я достиг стадии, когда все начало становиться на свои места.

Недели 9 - 12

Я был в режиме невероятной энергичности, дорабатывая Freelancify до стадии запуска. На этой стадии я чувствовал себя так, словно лечу, претворяя функции в жизнь. Последняя неделя была потрачена на отладку различных багов и ляпов. В этот понедельник я запустил сайт. Но я по-прежнему далек от завершения обучения… Вот так. Я опустил (во имя краткости поста) мелкие детали и технические моменты. Тем не менее, не стесняйтесь задавать вопросы в комментариях, я определенно постараюсь ответить. Джеймс Фенд.

P.S. - Несмотря на то, что мне сильно помогла помощь наставника, с которым я мог встречаться, вы определенно можете изучить Rails и без него. Или же попробуйте найти себе такого человека, многие Rails-разработчики любят вносить свой вклад в сообщество. Поищите локальные конференции и встречи.

Этой записи уже более двух лет (опубликована 27 января 2012-го года), но она, тем не менее, не утратила своей актуальности. Джеймс Фенд за это время успел продать Freelancify и вложиться в новый стартап, запись об этом он оставил 27 февраля 2013. Я считаю, что эта статья - прекрасный пример того, как человек может идти к поставленной цели. Достаточно лишь начать. :)

Выучил руби и не знаешь что с ним делать? Хочеш написать сайт, а не выходит? Руби по Рельсам - вот выход! Ультрасовременный ВЕБ-фреймворк с ветерком прокатит Тебя пассажиром по миру бекендера. Не испугался, тогда учись блеать! Данный видеокурс посвящен одному из самых распространенных и используемых на сегодняшний день фреймворков – RubyOnRails, с помощью которого можно разрабатывать красивые и качественные веб-приложения в кратчайшие сроки. Познакомившись с основными принципами и работой фреймворка, Вы научитесь быстро создавать несложные веб-приложения. Основное требование для прохождения курса – базовое знание языка Ruby.

24-04-2016 30-11--0001 ru 7 уроков

Марк Цукерберг настолько Марк Цукербер, что выкатил такое вот чудо в виде React Js. А ты дальше делаешь стартап на вордпрессе. Пробуй, учись, hello world запили. Марк Цукерберг. PS. На курс поставили скилл рак, но посмотрев бегло поняли что нихрена это не для раков, орк а то и дабл орк скилл.

Duration 05:08:14

24-04-2016 30-11--0001 ru 9 уроков

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

Duration 09:28:50

24-04-2016 30-11--0001 en 20 уроков

Angular 2

Duration 00:49:32

21-05-2016 30-11--0001 ru 50 уроков

Duration 07:04:30

08-10-2016 30-11--0001 en 100 уроков

Duration 10:21:12

30-05-2018 14-05-2018 en 262 урока

Научитесь разрабатывать приложения с практическими проектами. Вы хотите делать веб-приложения? Вы пришли в нужное место.В первой части этого курса Tristan Mackinlay учит вас программировать в Ruby, одном из самых удобных языков программирования. В части 2 вы узнаете, как создавать красивые, хорошо функционирующие веб-приложения с помощью React и Redux.React - эффективная и гибкая библиотека JavaScript для создания пользовательских интерфейсов....

Duration 50:19:06

Последнее добавленное

en 04-04-2019

Хотите сбежать от корпоративного рабства? Ваш "Agile" процесс истощает вашу жизнь? Может быть, пришло время взять под контроль свою карьеру, выйдя самостоятельно на рынок в качестве фрилансера. В этой работе Роб Конери предоставляет вам основу для построения, план, который вам понадобится, чтобы...

en 04-04-2019

Наша бестселлерная книга, содержащая более 600 страниц основных знаний и навыков в области компьютерных наук. От нотации Big-O до нормализации базы данных, от Банды четырёх до машин Тьюринга. Это все здесь! Для тех, кто не имеет степени "Компьютерная инженерия", эта книга поможет вам оставаться...

en 04-04-2019

Собеседования могут быть безумно расстраивающим. Вопросы, как правило, выходят за пределы поля и, по-видимому, не имеют ничего общего с вашей потенциальной работой. Более того: вы должны писать на белой доске! Что за дело с этим миром! В этом выпуске Джон Ски и Роб Конери знакомят вас с концепциями,

"В меру" функционального программирования на JavaScript

en 03-04-2019

В последние несколько лет индустрия разработки программного обеспечения пережила возрождение функционального программирования. Но что это? «В меру» - это введение в функциональное программирование, написанное на JavaScript, которое не увязает в жаргоне и математической теории, которая может быть...

Я уже давно хотел изучить Ruby on Rails на каком-то базовом уровне. Без конкретной цели. Скорее просто для себя, чтобы лучше понять, что же в нем такого особенного (в отличие от 100500 других технологий и фреймворков), что позволяет быстро создавать и масштабировать довольно нагруженные интернет-проекты. Вторичной причиной стало желание попробовать новые подходы к обучению. Когда я учился на программиста, у нас были только книги и форумы, где можно спросить совета. Сейчас есть интерактивные учебники и онлайн-школы программистов, огромное количество скринкастов (почти мечта: смотреть, как программируют гуру), базы знаний вроде stackoverflow.com и тонны исходных кодов на GitHub, где можно часами изучать исходники настоящих профи. Следующие несколько ночей (а днем банально некогда) я решил выделить на то, чтобы попробовать новые способы обучения в действии.

Ночь первая

Начинать учить Ruby on Rails без хотя бы минимального знания непосредственно Ruby было бы странным. Я уже когда-то брался за интерактивный гид ruby-lang.org . Но как прошел его, так и сразу все забыл. Его создатели обещают, что на прохождение и усвоение синтаксиса Ruby уйдет пятнадцать минут. У меня ушло тридцать. Правда, с постоянным отвлечением на Twitter. Процесс выглядит примерно так. Тебе говорят: «Массивы в Ruby объявляются так, а данные из массивов извлекают вот так. Теперь давай попробуй сделать массив и извлечь из него N элементов. А мы проверим». Читаешь, как все устроено, и сразу пробуешь. Ruby ты так, конечно, не выучишь. Лучше это воспринимать как супер-экспресс-курс, который работает.

И все-таки сам Ruby - это очень далеко от фреймворка Ruby on Rails. Хотелось освоить именно рельсы. Из нашей статьи про образование онлайн я точно помнил о нашумевшем курсе Zombie for Rails railsforzombies.org . Это так же, как и Try Ruby, интерактивный учебник, который прямо с места в карьер начинает тебя учить готовить рельсовые приложения. Сначала тебе читают мини-лекцию (на английском, но все предельно понятно - включи субтитры) о структуре файлов рельсового приложения, CRUD-подходе для работы с данными, объясняют, как реализована модель MVC в рельсах, и так далее. После каждого видео тебе предлагают выполнить задания на закрепление материала. Все кажется простым и понятным, курс пролетает незаметно за час-другой (он небольшой). Но! Почувствовал ли я после курса, что смогу написать рельсовое приложение? Увы, нет!

Ночь вторая

Одна из причин, почему после Rails for Zombies появляются некоторые базовые знания, но не появляется уверенности, - это виртуальная среда, в которой проходит обучение. С одной стороны, она до предела уменьшает порог входа: можно не заботиться об окружении. С другой стороны, ничего реального по ходу дела ты не создаешь - никакого тебе «Hello World» на выходе. И главное, с какой стороны подступаться к его созданию, непонятно. С этого момента я хотел попробовать Ruby on Rails в деле, реально установив его в системе (до этого можно было даже не стараться), и с нуля создать простое приложение.

Уже не помню как, но совершенно случайно я наткнулся на очень удачный курс скринкастов на русском языке rails.hasbrains.org . Спасибо автору за грамотное изложение: он методично объясняет принципы работы рельсового приложения в деталях, по ходу погружая тебя во все необходимые тонкости. Короче говоря, всю вторую ночь эксперимента я смотрел первую половину из более чем тридцати эпизодов этих скринкастов.

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

Ночь третья

На третью ночь остались последние эпизоды скринкастов, которые удалось посмотреть в один присест: работа с рельсами уже не казалось такой дикой. В этот момент мне кто-то рассказал о том, что у курса Rails for Zombies есть толковое и гораздо более глубокое продолжение. Правда, курс уже платный и хостится в рамках школы программирования Code School www.codeschool.com . Отдать 25 баксов, чтобы получить доступ ко всем курсам школы, было не жалко. Это стоимость на месяц, поэтому, если не понравится, не забудь отменить подписку.

Курс Rails for Zombies 2 действительно оказался очень удачным. Правда, многое стало повторением того, что я увидел в скринкастах, - но это было даже отчасти приятно. Пять уровней и пять блоков упражнений, которые делаешь прямо в интерактивной консоли. К этому моменту рельсы уже казались логичными, понятными и пригодными к использованию.

В Code School можно программировать прямо в браузере, выполняя задания курса

Что дальше?

Научился ли я делать сложные проекты? Нет. Но точно осознал подходы, используемые в рельсах, и понял их удобство. Научился быстро создавать простые приложения и в суперкороткий срок наращивать его функционал с помощью гемов, написанных сообществом. Я поймал кураж и дальше с удовольствием учусь лучшим практикам по программам Code School (сейчас смотрю курс по юнит-тестам). И меня чертовски радует то, что изучать технологии стало так просто.

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

Rails использует, как вы могли слышать, "соглашение превыше конфигурации". Это значит, что создатели Rails приняли множество решений за вас о том, как должны быть структурированы части приложения и как должен выполняться код. Вы можете изменить это, но лучше будет, если вы просто вольетесь в поток и будете работать по этим правилам (особенно, если вы новичок).

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

Почему бы и нет? Существует невероятное количество фреймворков и наборов технологий, из которых можно выбирать, и они, если честно, практически идентичны в смысле предоставляемых возможностей. Rails привлекателен благодаря тому, что он относительно прямолинеен и отлично задокументирован. Этот фреймворк используется огромным количеством отличных стартапов и технологических компаний, имеет очень крепкое сообщество разработчиков и учеников, которые его поддерживают.

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

Благодаря тому, что Rails решает за вас множество вопросов, вы можете работать невероятно быстро. Вы можете можете запустить сайт в интернет (хоть он и не будет особо красивым) за пару минут. Первый раз, когда вы генерируете новый проект, все находится на своих местах, так что вам нужно лишь запустить ваш локальный сервер (просто введя команду $ rails server) и вы уже сможете увидеть приветственную страницу Rails. И вам нужно будет лишь собрать воедино все необходимые кусочки, которые нужны вам для запуска вашего полноценного веб-приложения.

Это так же значит, что вы можете немедленно начать вносить маленькие изменения и видеть, как они влияют на ваше приложение до того, как придется создавать сложную инфраструктуру и писать кучу кода, чтобы увидеть изменения, внесенные единственной строкой. Rails сделает вашу жизнь намного проще!

Rails так же строго упорядочивает ваш код, используя паттерн MVC, который вы вскоре узнаете и полюбите.

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

Пункты для размышления

Постарайтесь ответить на предложенные вопросы. После выполнения задания попробуйте ответить на них ещё раз

  • Что такое Rails?
  • На каком языке написан Rails?
  • Напоминалка: что такое гем?
  • Из каких семи гемов состоит Rails?
  • В чем предназначение gemfile?
  • Какой командой нужно воспользоваться, чтобы создать новое Rails-приложение из командной строки?
  • Чем GET-запрос отличается от POST-запроса?
  • Что такое REST?
  • Что такое "вьюха" (view)?
  • Что такое контроллер?
  • Что такое модель?

Задания:

  1. Посмотрите этот базовый обзор Rails от Майкла Хартла. Он демонстрирует создание очень простого веб-приложения.
  2. Прочтите прекрасную вводную статью Дэниэла Кехо What is Ruby on Rails? , чтобы понять, с чем мы работаем.
  3. Начните заниматься Rails, попробовав курс Rails for Zombies , который позволит вам начать программировать на Rails прямо в вашем браузере! Он проходится довольно быстро и вам, возможно, понадобится пересмотреть некоторые видео, но оно того стоит.
  4. Для получения более формального объяснения Модели/Видов/Контроллера посмотрите это короткое видео от Lynda.com
  5. Прочтите Rails для начинающих и попробуйте попробуйте понять, что происходит в тексте (вам не нужно создавать это тестовое приложение, но стоит прочесть процесс его создания. Вы будете писать собственное уже довольно скоро). К концу вы, скорее всего, запутаетесь, но не переживайте, это нормально. У вас не будет проблем с пониманием описанного ко времени, когда вы выполните курс по Rails, который будет далее в нашем учебном плане. Rusrails предлагает одну из лучших документация по Rails на русском языке, так что хорошо будет начать ознакамливаться с её содержимым.

Дополнительные ресурсы



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: