Первые страницы на Ruby on Rails

19
#2 Первые страницы на Ruby on Rails От теории к практике Денис Калесников, главный программист Мэйк make.st
  • Upload

    -
  • Category

    Internet

  • view

    288
  • download

    4

Transcript of Первые страницы на Ruby on Rails

Page 1: Первые страницы на Ruby on Rails

#2 Первые страницы

на Ruby on RailsОт теории к практике

Денис Калесников, главный программист Мэйк

make.st

Page 2: Первые страницы на Ruby on Rails

План занятия

1. Основные понятия

2. Структура приложения на Ruby on Rails

3. Взаимодействие с Rails фреймворком через консоль

4. Перерыв

5. Практическая часть

Page 3: Первые страницы на Ruby on Rails

Ruby

Ruby - интерпретируемый язык высокого уровня,

предназначенный для решения широкого круга

задач. Впервые представлен в 1995г. Создатель и

мэйнтейнер языка Юкихиро Мацумото.

Page 4: Первые страницы на Ruby on Rails

Ruby on Rails (ROR)

Фреймворк, написанный на языке программирования

Ruby, построенный на основе архитектурного паттерна

MVC.

Ruby on Rails был создан Давидом

Хейнемейером Ханссоном на основе его

работы в компании 37signals и выпущен

в июле 2004 года.

Давид, чемпион в гонках на

выносливость и победитель 24 часов Ле-

Мана 2014.

Page 5: Первые страницы на Ruby on Rails

Фреймворк (Framework)

Это программная платформа, облегчающая разработку и объединение

компонентов программного проекта.

Определяет структуру приложения и содержит набор готовых подпрограмм

(библиотек).

В отличие от библиотеки диктует правила построения архитектуры

приложения.

Примеры: .NET, ASP.NET, Django, Zend Framework, YII, AngularJS, EmberJS и

др.

Page 6: Первые страницы на Ruby on Rails

Паттерн (шаблон) проектирования

Это эффективный способ решения определенной проблемы. Паттерн не

является образцом проекта, а в процессе разработки преобразуется в его

код. Пример - паттерн издатель-подписчик (наблюдатель).

Преимущества:

Повторно используется другими программистами.

Упрощает общение между разработчиками, унифицирует терминологию.

Недостатки:

Неправильное применение.

Page 7: Первые страницы на Ruby on Rails

Model-View-Controller (MVC)

Схема использования нескольких

шаблонов проектирования, для

разделения программного кода

проекта на три отдельных компонента:

1. Model

2. View

3. Controller

Page 8: Первые страницы на Ruby on Rails

Модель (M in MVC)

Модель - предоставляет знания (т.е.

упорядоченные данные) и методы работы с

ними. В ROR используется также в качестве

интерфейса к БД. Не должна уметь

визуализировать эти данные.

Page 9: Первые страницы на Ruby on Rails

Контроллер (C in MVC)

Контроллер - отвечает за связь пользователя с

системой, контролирует ввод данных

пользователем и использует модель и

представление для реализации необходимой

реакции.

В ROR встречает запрос пользователя, делает

необходимые запросы к модели и запускает

редренинг HTML-представления.

Page 10: Первые страницы на Ruby on Rails

Представление (View in MVC)

Компонент архитектуры MVC, отвечающий за

отображение информации (визуализацию). В

веб-приложениях, в частности ROR-

приложениях, может быть представлен не

только HTML-документом, а еще

XML-документ

JSON-данные

Excel-файл, PDF и пр.

Page 11: Первые страницы на Ruby on Rails

Преимущества ROR

Ускорение времени разработки на 30-40% по сравнению с другими

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

генераторам кода и др.

Из коробки: ORM, шаблонизаторы, отправка Email, работа с frontend,

кэширование и пр.

Найти свою библиотеку, помимо google можно на сайте Ruby Toolbox, а

также на https://github.com/markets/awesome-ruby

Поддержка в интернете. Постоянное развитие разработчиками и

исправление ошибок.

Бесплатно :)

Page 12: Первые страницы на Ruby on Rails

Недостатки ROR

Высокий порог вхождения

Более высокие затраты на хостинг.

Большое потребление оперативной памяти.

Не годится для легковесных проектов, поскольку не будет использоваться

значительная часть его функционала.

Page 13: Первые страницы на Ruby on Rails

Резюме

Ruby on Rails - это платформа (фреймворк) для быстрой разработки веб-

приложений, написанная на языке программирования Ruby on Rails. ROR

предлагает архитектуру соответствующую паттерну MVC, т.е. состоящую из

3 компонент Model, View, Controller.

Ruby on rails не годится для совсем мелких и для совсем крупных (enterprise)

проектов.

Вопросы по теме?

Page 14: Первые страницы на Ruby on Rails

Структура Ruby on Rails приложения

app - содержит основной код приложения, соответствует архитектуре MVC.

config - настройка приложения, этот код выполняется только на стадии

запуска сервера.

lib - внешние модули, rake-таски

vendor - для файлов от внешних разработчиков

Gemfile, Gemfile.lock - подключение библиотек

Page 15: Первые страницы на Ruby on Rails

Командная строка Rails

rails <command>

<arguments> <options>

rails <command> -h

Получить справку по

команде.

Page 16: Первые страницы на Ruby on Rails

Основные команды

server или s - запустить встроенный сервер

generate или g - запуск генератора кода

console или c - консоль - специальная сессия терминала, в которой можно

интерактивно выполнять код на языке ruby, в контексте приложения.

rake <task> - запуск задачи (таски) - кода на языке ruby, в контексте

приложения. Например rake routes покажет все маршруты. В таски удобно

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

Page 17: Первые страницы на Ruby on Rails

Резюме

С ROR-приложением можно взаимодействовать 3 способами:

1. Через http-запросы

2. Интерактивно через консоль

3. Код, запускаемый несколько раз, складывается в rake-таски.

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

Page 18: Первые страницы на Ruby on Rails

Реестр сотрудников

Задача: разработать простую систему учета сотрудников на предприятии.

Варианты использования:

1. Список всех сотрудников

2. Карточка сотрудника

3. Добавление и удаление карточки сотрудника

4. Редактирование карточки сотрудника

В карточке должна храниться информация: ФИО, должность, дата приема на

работу.

Page 19: Первые страницы на Ruby on Rails

Спасибо за внимание!

Денис Калесников, главный программист Мэйк

make.st