Первый проект на ruby on rails. Пишем блог на Ruby on Rails. Создание приложения Blog

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

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

2. Railscasts

Другой известный на весь интернет обучающий ресурс. На нем выросло не одно поколение Rails разработчиков. Тоже на английском.

Построен не как целостный обучающий курс, а в виде серии скринкастов - короткие уроки на конкретную тему. Уроков очень много, можно найти почти на любую тему.

К сожалению, проект в 2013 году перестал обновляться.

3. Rails для Зомби

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

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

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

3. Udemy

Большая коллекция видео-курсов. Среди них множество по ruby и ruby on rails. Нет смысла приводить конкретные ссылки - выбирайте на свой вкус по цене или по популярности.

Формат Udemy предполагает достаточно короткие курсы с акцентом на видео уроки. Не ждите серьезных домашних заданий или оперативной поддержки преподавателей.

4. Ruby Бурса

Мощный краткосрочный курс по основам Rails разработки. Опытные преподаватели, хорошая программа.

На курсе желательно личное присутствие студента и проходит он только в крупных украинских городах.

5. Разработка на Ruby on Rails от Злых Марсиан

Трехдневный интенсив от одной из самых опытных в России Ruby on Rails команд.

Проводится редко. Стоит дорого (судя по отзывам, он того стоит). Требует личного присутствия. Подходит только продвинутым программистам, новичкам там делать нечего.

6. Онлайн-интенсив Ruby on Rails от «Хорошего программиста»

Свежий проект от команды, известной в Youtube своими курсами по Ruby для новичков.

3-месячная интенсиваная программа рассчитана на полных новичков и обещает сделать из вас junior программиста с портфолио, ни много ни мало, из 12 толковых приложений.

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

Судя по youtube каналу и комментариям пользователей - эти ребята знают что делают и скучать с ними не придется.

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

По крайней мере, вам следует взять несколько уроков программирования. Я не говорю о языках front-end, типа HTML и CSS - вы, наверное, уже знаете многое из этого материала. Я говорю о back-end вещах.

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

Хитрость заключается в выборе места для начала. Изучение программирования может быть сложным процессом, особенно, если вы выбираете один из наиболее сложных языков, как C ++ или PHP.

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

Почему Ruby самый лучший выбор?

Для начинающих, Ruby является одним из самых простых языков для усвоения, особенно если у вас есть некоторый опыт написания HTML или CSS, который у большинства дизайнеров есть.

Одной из первых программ, которую вы сделаете, начиная изучать какой-либо язык - это позорный «Привет мир!», который включает в себя выведение этих слов на экран.

С языками типа C ++, может быть где-то от пяти до семи строк кода, только чтобы отобразить эти два слова. А вот если использовать Ruby, там будет только одна линия, и одна команда.

Puts "hello, world!"

Вот и все! Это все, что вам нужно, чтобы напечатать слова «Привет, мир!» на экране. Довольно легко, правда?

Ruby on Rails также очень «сухой» язык. Являясь одним из принципов развития, DRY (сухой) означает «Don’t Repeat Yourself» (Не повторяйся!) - то есть, не программируйте элемент снова, когда вы можете использовать тот, что вы уже создали. Это делает Ruby очень легким и часто используемым для разработки языком программирования, так как он нацелен на быстрое и эффективное выполнение проекта.

Ruby или Rails?

Ruby - это язык программирования. Rails - это фреймворк, который использует Ruby, чтобы выполнить свою работу. Фреймворк Ruby on Rails - это коллекция сборных или предварительно написанного кода, который помогают ускорить процесс создания новых проектов. Изначально, он был создан, чтобы разработать средство управления проектами Basecamp. Кроме Basecamp, есть и другие популярные веб-приложения, построенные с помощью Rails, как например, 500px, ThemeForest и MyFitnessPal.

Как только вы поймете, как работать с языком Ruby, и заставите материал работать во фреймворке Ruby On Rails, вы сможете начать создавать веб-приложения.

Ruby - на пике популярности!

Благодаря взрыву популярности мобильных устройств и техники, которая всегда на связи, Ruby невероятно популярен сейчас. И, вероятно, так будет и дальше. Индекс TIOBE оценивает Ruby, как 13-ый самый популярный язык программирования. В соответствии с новыми тенденциями, по данным Indeed.com, Ruby также испытывает на удивление высокий спрос.

TIOBE Index

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

У Ruby есть надежная опора!

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

Благодаря фреймворку Ruby On Rails, уже есть тонны предварительно существующего кода, который вы можете использовать в собственных проектах. Ruby Gems, библиотека фреймворков Ruby, имеет более чем 600 000 библиотек, из которых можно выбрать нужное.

Каждый раз, когда вы изучаете что-то новое, вам нужно много документации и поддержки. Есть тонна мест, где можно найти учебные материалы, учебники, руководства и даже Q & A форумы. Если вы столкнулись с конкретной проблемой, простой веб-поиск, вероятно, устранит ее. Это важно.

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

Ruby «допускает» больше контроля над дизайном

Если вы просто веб-дизайнер, создание веб-сайта может быть длительным и сложным процессом. Когда вы садитесь за работу с программистом и обсуждаете необходимый back-end для вашего сайта, вам часто приходится жертвовать front end’ом, чтобы все работало должным образом.

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

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

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

Где учиться Ruby?

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

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

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

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

В этой статье я хочу рассказать, как создать простое приложение, работающее с базой данных MySQL в среде Ruby on Rails 3. Можно рассматривать этот материал, как пошаговое руководство для начинающих программистов Rails.

Итак, для работы нам необходима установленные рельсы и rubygems. С последними у меня вчера была проблема, поэтому пришлось удалить пакет rubygems1.8 не понятно как оказавшийся в системе и поставить rubygems1.9 Напомню, что разрабатываю я на Ubuntu, хотя для Windows команды консоли Rails думаю будут теми же. В качестве среды разработки использую NetBeans с плагином для Ruby on Rails. Про установку неплохо написано в моего коллеги.

Проверка ссылок

Необходимо убедиться, что каталог /usr/bin содержит символические ссылки rails, rake, ruby, bundler на файлы из каталога /usr/local/ruby/bin. Дл просмотра ссылок используйте команду:

в зависимости от того, что хотите отфильтровать.

Создаем приложение

Я создал специальный каталог для своих ruby-приложений.

mkdir /home/andrey/ruby
cd /home.andrey/ruby

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

app — это название нашего нового приложения. После выполнения команды мы увидим, как rails сделал нам каркас будущего приложения.

root@vaio:~/ruby# rails new app -d mysql
create
create README
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/mailers
create app/models
create app/views/layouts/application.html.erb
create config
create config/routes.rb
create config/application.rb
create config/environment.rb
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create config/initializers
create config/initializers/backtrace_silencers.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/secret_token.rb
create config/initializers/session_store.rb
create config/locales
create config/locales/en.yml
create config/boot.rb
create config/database.yml
create db
create db/seeds.rb
create doc
create doc/README_FOR_APP
create lib
create lib/tasks
create lib/tasks/.gitkeep
create log
create log/server.log
create log/production.log
create log/development.log
create log/test.log
create public
create public/404.html
create public/422.html
create public/500.html
create public/favicon.ico
create public/index.html
create public/robots.txt
create public/images
create public/images/rails.png
create public/stylesheets
create public/stylesheets/.gitkeep
create public/javascripts
create public/javascripts/application.js
create public/javascripts/controls.js
create public/javascripts/dragdrop.js
create public/javascripts/effects.js
create public/javascripts/prototype.js
create public/javascripts/rails.js
create script
create script/rails
create test
create test/fixtures
create test/functional
create test/integration
create test/performance/browsing_test.rb
create test/test_helper.rb
create test/unit
create tmp
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create vendor/plugins
create vendor/plugins/.gitkeep

Заходим в папку с ним и устанавливаем необходимые гемы. Гемы — это подключаемые библиотеки, необходимые для проекта (аналог PHP’шных PECL и PEAR).

После этого, в консоли будет что-то вроде этого:

andrey@vaio:~/ruby/app> sudo bundle install
Using rake (0.8.7)
Using abstract (1.0.0)
Using activesupport (3.0.0)
Using builder (2.1.2)
Using i18n (0.4.2)
Using activemodel (3.0.0)
Using erubis (2.6.6)
Using rack (1.2.1)
Using rack-mount (0.6.13)
Using rack-test (0.5.6)
Using tzinfo (0.3.23)
Using actionpack (3.0.0)
Using mime-types (1.16)
Using polyglot (0.3.1)
Using treetop (1.4.8)
Using mail (2.2.9)
Using actionmailer (3.0.0)
Using arel (1.0.1)
Using activerecord (3.0.0)
Using activeresource (3.0.0)
Using bundler (1.0.3)
Using mysql2 (0.2.6)
Using thor (0.14.4)
Using railties (3.0.0)
Using rails (3.0.0)
Your bundle is complete! Use `bundle show ` to see where a bundled gem is installed.

Это значит, что все гемы установлены и подключены. Если чего-то не хватает, то bundle сам скачает их с rubygems и установит. Вот этого мне долгое время не хватало в php, по сути получается установщик проекта. Список зависимых гемов находится в файле Gemfile в корне проекта.

Конфигурирование

Теперь надо укаать реквизиты доступа к БД нашего проекта. Открываем проект в NetBeans: New Project -> Ruby -> Ruby on Rails application with existing source. Указываем путь, в моем случае это будет (/home/andrey/ruby/app) и название проекта(app). В качестве Ruby Platform выбираем установленную в системе, а не встроенную в NetBeans. Нажимаем Finish и проект создался. Открываем псевдо-папку Configuration и файл database.yml. Здесь надо указать логин и пароль для доступа к базе, желательно сразу для всех трех окружений (development, test, production). Окружение — это среда в которой будет запускаться наше приложение,

  • development — компьютер разработчика,
  • production — сервер промышленной эксплуатации,
  • test — работа в режиме тестирования на сервере непрерывной интеграции или компьютере тестировщика.

rails generate model User name:string hashed_password:string salt:string

Сразу видно, чего нагенерил нам Rails:

invoke active_record
create db/migrate/20101107054200_create_users.rb
create app/models/user.rb
invoke test_unit
create test/unit/user_test.rb
create test/fixtures/users.yml

Отлично, теперь нам надо создать базу данных. Выполняем для этого:

andrey@vaio:~/ruby/app$ rake db:create
(in /home/andrey/ruby/app)
andrey@vaio:~/ruby/app$ rake db:migrate
(in /home/andrey/ruby/app)
== CreateUsers: migrating ====================================================
— create_table(:users)
-> 0.0061s
== CreateUsers: migrated (0.0063s) ===========================================

Консоль выводит добавленные данные. Смотрим в phpmyadmin и видим новые базы app_development и app_test, а также таблицы в них. Теперь настала очередь добавить реальные данные. Для этого запускаем консоль rails

Консоль — это не просто консоль, а консоль IRB в контексте вашего приложения. В качестве примера создадим двух пользователей:

andrey@vaio:~/ruby/app$ rails console
Loading development environment (Rails 3.0.0)
irb(main):001:0> user1 = User.new
=> #
irb(main):002:0> user1.name = «andrey»
=> «andrey»
irb(main):003:0> user1.save
=> true
irb(main):004:0> user2 = User.new
=> #
irb(main):005:0> user2.name = «vasiliy»
=> «vasiliy»
irb(main):006:0> user2.save
=> true

irb(main):007:0> exit
andrey@vaio:~/ruby/app$

Посмотрим в базу, и действительно у нас появились два пользователя. Хочется отметить, что Rails сам добавил столбцы первичного ключа и поля created_at (дата создания) и updated_at (дата изменения) модели.

Модель у нас есть, данные тоже. Пора запустить наше приложение.

andrey@vaio:~/ruby/app$ rails server
=> Booting WEBrick
=> Rails 3.0.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
INFO WEBrick 1.3.1
INFO ruby 1.9.2 (2010-08-18)
INFO WEBrick::HTTPServer#start: pid=4193 port=3000

Приложение запущено, открываем броузер по адресу и видим тестовую страничку.

Отлично, приложение работает. Но оно показывает обычную HTML-страничку из папки /public/index.html. А мы хотим динамическую. Открываем второе окно консоли (т.к. в первом у нас запущен вер-сервер руби — WebRick), заходим в папку с проектом и набираем там следующую команду:

andrey@vaio:~/ruby/app$ rails generate controller index index
create app/controllers/index_controller.rb
route get «index/index»
invoke erb
create app/views/index
create app/views/index/index.html.erb
invoke test_unit
create test/functional/index_controller_test.rb
invoke helper
create app/helpers/index_helper.rb
invoke test_unit
create test/unit/helpers/index_helper_test.rb
andrey@vaio:~/ruby/app$

Этим мы создали коонтроллер Index, в нём действие Index и вид этого действия index.html.erb Делаем Refresh(F5) в NetBeans и смотрим наши файлы. Замечательно. Теперь нам надо как-то перенаправить маршрут для главной страницы на созданное нам действие контроллера. Открываем файл маршрутов (Configuration/routes.rb) и раскомментируем там следующую строчку:

# You can have the root of your site routed with «root»
# just remember to delete public/index.html.
root:to => «welcome#index»

Только вместо welcome пишем тоже index. Ну привык я по Zend Framework’у, что контроллер и действие по-умолчанию называются index Не забыавем удалить (или переименовать) файл public/index.html).

root:to => «index#index»

Обновляем страничку в броузере, и видим, что теперь отображается наш вид.

Index#index

Отлично. Теперь можно кодить Заходим в наш вновь созданный контроллер (Controllers -> index_controller.rb) и пишем там такой текст действия:

class IndexController < ApplicationController
def index
@users = User.find(:all)
end
end

Тепеь открываем вид Views/index/index.html.erb и пишем там такой код:

Index#index


Find me in app/views/index/index.html.erb


<% for user in @users -%>
<%=user.name%>

<% end %>

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

Index#index

Find me in app/views/index/index.html.erb

andrey
vasiliy

Отлично! Приложение создано!

Спасибо!

Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:

Многие мои друзья-разработчики лестно отзываются о Rails, но я не мог понять почему. Что такое Rails, и чем он отличается, собственно, от Ruby on Rails? Насколько он сложный в изучении? Это вообще язык программирования? Что мне нужно знать, перед тем как учить Ruby on Rails?

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

Вы готовы? Поехали!

13 фактов о Ruby on Rails – Что вам нужно знать?

1. Что такое Rails?

Rails это фреймворк (каркас) веб-приложений, который создан для написания кода на языке Ruby. Звучит запутанно, правда?

Давайте попробуем еще раз. Существует язык программирования Ruby. Писать на нем одно удовольствие. Кстати, человек, который создал его, говорил, что его главной целью было создание языка, который бы делал жизнь программистов лучше. Разве это не прекрасно?

Позвольте привести пример.

Если я захочу вывести текст на экран на PHP, мне нужно написать

echo “Привет Мир”;

Видите точку с запятой? А этот «echo» — что он вообще значит?

С другой стороны, если мне нужно проделать то же самое на Ruby, мне нужно будет написать следующее:

puts “Hello World”

Никакой точки с запятой, и хотя «puts» может выглядеть немного «по-подростковому», мне эта команда кажется более логичной, чем «echo». Когда вы часами пишете код, такие мелкие детали играют БОЛЬШУЮ роль.

Единственной проблемой Ruby было то, что он не предназначен для создания веб-приложений. То есть, на нем у вас не получится, к примеру, создать сайт. Так было до появления Rails. Я не уверен, был ли Rails первым веб-фреймворком для Ruby, но он ОПРЕДЕЛЕННО стал самым популярным.

Задача Rails заключается в предоставлении платформы и возможностей, которые бы позволили создавать на Ruby приложения, в частности сайт. Пока что это звучит довольно размыто, поэтому попробую объяснить вот так. Если бы я написал

puts “Hello World”

то в HTML-документе, вы бы увидели весь текст целиком. Но я же хочу, чтобы вы видели ТОЛЬКО вот это:

Hello World

Проще говоря, Rails позволяет это сделать. Но это далеко не все.

2. Что такое Ruby on Rails?

Ruby on Rails – это ПОЛНОЕ официальное название фреймворка Rails. Но в разговоре разработчики обычно не говорят первую часть, и просто называют его Rails. Поэтому, если вы хотите быть «в теме» и казаться технически подкованным, вы определенно должны называть его Rails, но при этом ПОМНИТЬ о том, что означает эта первая часть – «Ruby on».

3. Я слышал, что Rails отлично подходит новичкам. Почему?

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

Почему Rails настолько приятен в работе для новичков? Просто он очень стабильный и делает за вас ОГРОМНЫЙ пласт работы.

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

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

По этой причине очень важно изучать Ruby on Rails с нуля. И самое главное – вы должны убедиться в том, что вам действительно удобно работать с Ruby. Иначе вы просто на полпути выйдете из этой фуры и скажете себе: «Погодите, неужели я ехал на этой штуковине?».

4. Чем отличается Rails- от Ruby-разработчика?

Формально отличие заключается в том, что чисто «Ruby-разработчик» будет создавать приложения на Ruby, но не на Rails. Хотя такого, как правило, не бывает. Создавать веб-приложения на Ruby, используя другие фреймворки типа Sinatra, конечно, возможно, но я готов поспорить, что в 99% случаев вас вряд ли будут нанимать как программиста, знающего только Ruby. Поэтому нужно в любом случае изучать и Rails.

5. Насколько хорошо я должен знать Ruby? Что мне следует выучить, перед тем как начать обучение?

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

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

6. Зачем мне изучать Rails? Что делает его особенным?

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

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

7. Что можно создавать с помощью Rails?

А что вы хотите создать? Rails подходит для любых веб-приложений. Для наглядности ознакомьтесь с вот этими отличными примерами сайтов, созданных на Rails: Hulu , Airbnb и Basecamp .

8. Могу ли я создавать мобильные приложения на Rails?

И да, и нет. На Rails не получится создавать мобильные приложения, но на Rails вы определенно сможете создать веб-приложение и использовать его в качестве back-end для мобильного приложения.

Также есть инструмент RubyMotion, который позволяет очень просто создавать нативные приложения для iOS и Android на Ruby (но не Rails). То есть, вы не будете КОНКРЕТНО использовать Rails для создания мобильного приложения для App Store, но Rails определенно может стать важной составляющей вашего мобильного проекта. Надеюсь, теперь картина стала более понятной.

9. Ruby on Rails — Какого рода работу я могу получить?

Rails – это один из самых востребованных навыков в настоящее время, поэтому выбор компаний, с которыми можно работать, довольно большой. Особенно Rails любят стартапы, например, такие как Zearn . Это начинающая неприбыльная образовательная ИТ-компания. Также можно выбрать более крупную компанию вроде Bloomberg и принимать участие в разработке сайтов и приложений, которыми пользуются миллионы пользователей. Фриланс тоже неплохой вариант для Rails-разработчиков. Будучи независимым, вы сможете сами выбирать, в каких проектах вы хотите поучаствовать: в небольших и короткосрочных или серьезных и долгосрочных.

10. Я попробовал другой язык программирования, но мне он не понравился. Стоит ли мне пробовать Rails?

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

11. Может мне вместе Rails выучить JavaScript?

Вместо – нет. Дополнительно – НЕСОМНЕННО.

Rails-разработчику придется изучать JavaScript (). Это не требование для изучения Rails, но это тот навык, который вам будет необходим по мере обучения.

Скажу честно, постепенно погружаясь в сферу технологий, вы начнете понимать, что вам придется обладать достаточно большим количеством навыков (по сути, это значит, что всем нужно стремиться к тому, чтобы быть Full-Stack-разработчиком). К счастью, по мере приобретения опыта вам будет проще изучать как новые языки, так и новые фреймворки.

Что касается того, что выбрать – JavaScript или Rails, – прямо скажу, что вы в любом случае не ошибетесь. Мне кажется, что Ruby гораздо проще учить, чем JavaScript. К тому же я знаю многих, кому JavaScript давался проще, после того как они сначала изучили Ruby. Но, как я уже сказал выше, вы точно не прогадаете, если изучите и то, и другое.

12. Сколько времени займет обучение?

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

На скорость обучения большое влияние будет оказывать ваш уровень знаний в области программирования в целом. Но если вы полный новичок, стоит попробовать начать с Ruby и Rails.

13. Ruby on Rails — С чего начать?

Рекомендую начать с самого лучшего курса по Ruby on Rails на сeгодняший день. Если вы не писали ни строчки кода в своей жизни, первым делом вам стоит пройти курс «HTML и CSS» . К счастью, найти курсы по HTML и CSS довольно просто. После этого вам нужно будет изучить Ruby, Git и командную строку.

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

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

Александр - основатель проекта сайт «Веб-лаборатория успеха», созданного в поддержку начинающим и продолжающим интернет-предпринимателям.Убежденный трудоголик, за плечами которого профессиональный опыт руководства редакцией интернет-журнала, создания и управления собственным интернет-магазином. Основной род занятий: продвижение бизнесов (в т.ч. интернет-магазинов) через Facebook и Google Adwords. Основное увлечение: монетизация сайтов через инструменты партнерского маркетинга и Google Adsense. Личные подтвержденные рекорды: 3 миллиона посетителей блога в месяц.

Скорее всего, вы здесь потому, что хотите изучить фреймворк 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 на русском языке, так что хорошо будет начать ознакамливаться с её содержимым.

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