Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Ruby on Rails

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

by
Difficulty:IntermediateLength:LongLanguages:

Russian (Pусский) translation by Anton Lisovsky (you can also view the original English article)

Изображение взято с RuryonRails.org

Фреймворк веб-разработки для пуристов

В 1995 году, вышла версия Ruby 0.95 от Yukihiro Matsumoto, Ruby позиционирует себя, как чистый, объектно-ориентированный (OO), язык программирования общего назначения:

Я был фанатом языков и OO 15 лет, я всегда хотел работать с подлинным объектно-ориентированным, легким в использовании, скриптовым языком. Я долго искал, но так и не смог найти. Так что я решил создать свой собственный. — Y. Matsumoto

Затем в 2004, David Heinemeier Hansson выпустил первую версию Ruby on Rails фреймворка для создания веб-приложений, который он использовал, чтобы запустить приложение Basecamp, для организации работы своей команды. Затем, в 2005 году, было решено сделать Ruby on Rails доступным для всех желающих и распространять его, как фреймворк с открытым исходным кодом, после чего Apple выпустил его вместе с OS X Leopard в 2007.

Для краткости в этом туториале я буду называть Ruby on Rails - Rails; некоторые люди также зовут его RoR.

Rails используется многими веб-приложениями, с которыми вы скорее всего уже знакомы: GitHub, Shopify, Airbnb, Twitch, SoundCloud, Hulu, Zendesk, Square и Highrise. Однако, фреймворк критикуют за ограниченную масштабируемость, особенно заметно в случае с Twitter, которому пришлось перенести большинство своих сервисов на другие платформы. Связанно это с тем, что Twitter обладает высоким потоком трафика и в следствии чего испытывает сложности с масштабируемостью.

What is Ruby on Rails Sample Rails Apps with Juggler for funWhat is Ruby on Rails Sample Rails Apps with Juggler for funWhat is Ruby on Rails Sample Rails Apps with Juggler for fun

В этом туториале я отвечу на вопрос "Что такое Ruby on Rails?" и познакомлю вас с основами программирования используя данный фреймворк, чтобы помочь вам начать экспериментировать на нём.

Прежде чем начать, пожалуйста помните, что я принимаю участие в общении в комментариях ниже. Если у вас возник вопрос или тема, которую вы хотели бы предложить, не стесняйтесь написать комментарий или можете связаться со мной на Twitter @reifman.

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

Ruby on Rails популярный, объектно-ориентированный, фреймворк для веб-разработки, с отрытым исходным кодом используемый множеством программистов для создания приложений. Также он основан на принципах модель-представление-контроллер (model view controller MVC).

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

Оптимизация для приятного программирования с соглашениями вместо конфигурации, так мы работаем.

Контроллер обрабатывает запросы в основном от сервера к пользователю, забирая данные из модели и возвращая их пользователю посредством файлов отвечающих за представление.

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

Rails соглашение призывает разработчиков следовать принципам RESTful роутинга. Экшены контроллера как правило new, create, update, destroy, show, index и так далее. Позволяет пользователям и системе взаимодействовать с различным функционалом.

В соответствии, функции MVC Rails, называют Action Pack, то есть ActionController, ActionView и ActiveRecord предназначенные для взаимодействия с базой данных.

What is Ruby on Rails The Action Pack View Controller RecordWhat is Ruby on Rails The Action Pack View Controller RecordWhat is Ruby on Rails The Action Pack View Controller Record

Создатель Rails, Hanson составил набор принципов на которых основывается фреймворк, под названием доктрина Ruby on Rails.

What is Ruby on Rails The Rails DoctrineWhat is Ruby on Rails The Rails DoctrineWhat is Ruby on Rails The Rails Doctrine

Доктрина Ruby on Rails

Доктрина Rails состоит из восьми постулатов:

  1. Оптимизация для приятного программирования: когда это возможно, Ruby пытается потакать желаниям программиста.
  2. Соглашения вместо конфигурации: выбирая стандартизацию, соглашения во всех моментах данной платформы, позволяет программистам быстро начать работу над проектом.
  3. Меню - Омакасе: команда создавшая Ruby on Rails выбрала лучшие инструменты и методы и каждый должен быть счастлив, используя их.
  4. Ничья парадигма: в конце концов Rails включает гибкие решения на все случаи.
  5. Возвышение красивого кода: главный фокус на эстетику и простоту.
  6. Ценить интегрированные системы: ориентирование при полной информированности и единение, все необходимые инструменты необходимые для создания приложения.
  7. Прогресс вместо стабильности: готовность рисковать для улучшения платформы.
  8. Поставить большую палатку: приветствуются новые участники сообщества и ценятся их голоса, для лучшего виденья.
Главным достижением Rails было объединение и взращивание сильного племени, также как и набор еретических мыслей о природе программирования и программистах. — David Heinemeier Hansson

Ниже основные участники внёсшие значительный вклад в Rails (основатель Hansson в верхнем левом углу):

What is Ruby on Rails The Core TeamWhat is Ruby on Rails The Core TeamWhat is Ruby on Rails The Core Team

И они являются представителями уютного, приветливого сообщества:

Вероятно вы хотите узнать больше, вот как вам стоит начать.

Начинаем изучение Ruby on Rails

Rails обладает набором потрясающей документации. Вот как выглядит глава с введением:

What is Ruby on Rails Getting StartedWhat is Ruby on Rails Getting StartedWhat is Ruby on Rails Getting Started

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

Устанавливаем Ruby on Rails

На Mac Ruby уже установлен. Пользователям Windows стоит ознакомиться с RailsInstaller. Для полноценной установки Rails на OS X, туториал рекомендует Tokaido. В качестве альтернативы, Daniel Kehoe предлагает избегать установщиков в один клик и предоставляет детальную инструкцию по установки для Mac OS X El Captain.

Опытные Rails разработчики также сообщают, что это делает разработку веб-приложений более интересной. — Rails туториал

Однако, я давно не запускал Rails, и повторная установка на моей последней модели Mac с El Captain оказалось довольно времязатратным занятием.

Проверяем установленный Ruby

На OS X, Ruby уже установлен:

Устанавливаем фреймворк Rails

Установка Rails для меня заняла примерно 10 - 15 минут (будьте терпеливы):

Но, он работает:

Создание вашего приложения и экземпляра фреймворка

Затем я создал новое приложение под названием blog:

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

Вот изображение из вводной главы туториала, показывающие как Rails полагается на принципы соглашений вместо конфигураций:

What is Ruby on Rails Directory Structure ConventionWhat is Ruby on Rails Directory Structure ConventionWhat is Ruby on Rails Directory Structure Convention

Запускаем сервер

Наконец, вы можете запустить сервер с помощью командной строки:

Открываем наше приложение

В браузере перейдите по адресу http://localhost:3000 и вы должны увидеть стандартную главную страницу Rails приложения:

What is Ruby on Rails Welcome Page of New ApplicationWhat is Ruby on Rails Welcome Page of New ApplicationWhat is Ruby on Rails Welcome Page of New Application

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

Погружаемся глубже

Вот пример бесплатного GoRails скринкаста, освящающий основные моменты архитектуры приложения, директорию, которую мы упоминали ранее:

И Rails Guide ознакомит вас, шаг за шагом, с вопросами для новичков:

What is Ruby on Rails The Getting Started Guide Table of ContentsWhat is Ruby on Rails The Getting Started Guide Table of ContentsWhat is Ruby on Rails The Getting Started Guide Table of Contents

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

В заключение

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

Не так давно меня заинтересовал проект с открытым исходным кодом от Apple - Swift, объектно-ориентированный язык программирования, похожий на Ruby с таким же потенциалом, который есть у Rails.

Я с радостью вспоминаю то время когда я работал с Rails, но также я испытывал некоторые турдности, особенно касательно хостинга и расширения базового функционала — хостинг для Rails приложений более дорогой. Мне нравится Yii, вы можете прочитать статью об этом Envato Tuts+ Yii2 Programming Series. И с появлением PHP 7, будущее PHP фреймворков кажется быстрым и ярким.

Если у вас есть вопросы, пожалуйста напишите их ниже. Или свяжитесь со мной на Twitter @reifman. Пожалуйста ознакомьтесь с моей страницей инструктора на Envato Tuts+, где вы найдёте другие туториалы, написанные мной, к примеру использование социальных сетей, чтобы найти свидетеля, посвященный API Instagram и Twitter.

Ссылки по теме

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.