Top Banner
Ruby On Rails Для самых маленьких On
23

Rails for dummies

Jan 19, 2015

Download

Documents

Alexey Plutalov

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rails for dummies

Ruby On RailsДля самых маленьких

On

Page 2: Rails for dummies

Ruby and Ruby On RailsКратко о Ruby;

Кратко о Ruby On Rails;

Почему Ruby и почему Ruby On Rails?

Ответ на волнующий вопрос: откуда столько шума, и почему это круто?

Page 3: Rails for dummies

Краткая история RubyРазработан японцем Юкихиро Мацумото;

Вышел в свет в 1995 году;

Что хотел создатель: Более мощный язык, чем Perl; Более ООП язык, чем Python.

Об итогах далее.

Матц следит за вами…

Page 4: Rails for dummies

The Ruby WayПросто, но не слишком просто;

Принцип наименьшего удивления;

Вторичность скорости работы программы;

Динамичность;

Простые строгие правила, выполнение которых не доходит до педантизма;

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

Page 5: Rails for dummies

Почему Ruby – это круто?Высокая скорость разработки;

Практикуется TDD и BDD;

Практикуется применение паттернов и следования принципу DRY;

Мощные средства для написания DSL (Domain Specific Language);

Большое сообщество движимое чувством прекрасного, любовью к красивому коду и хорошему софту.

Page 6: Rails for dummies

Поговорим о минусах…Высокий порог вхождения;

Много магии (которая становится вполне понятной при познании Дзена Ruby);

В России Ruby только набирает популярность (текущая популярность языка только самое начало – дальше больше);

Низкая скорость работы;

Высокое потребление памяти.

Page 7: Rails for dummies

Развитие языкаВ феврале запланирован выход версии 2.0;

Канонической реализацией является MRI Ruby;

Существующие реализации: Rubynius (LLVM-интерпретатор написанный на Ruby;

родственный проект PyPy); Elixir (диалект Ruby для Erlang VM); JRuby (Java powered Ruby); IronRuby (.NET powered Ruby); MagLev; MacRuby.

Page 8: Rails for dummies

Краткая история Ruby On RailsСоздан Давидом Хейнемейером Ханссоном из 37signals

(извлечен из кода Basecamp);

23 декабря 2008 года – объединение с Merb;

25 мая 2010 – выход версии 2.3.8;

29 августа 2010 года – выход версии 3.0;

31 августа 2011 года – выход версии 3.1;

20 января 2012 года – выход версии 3.2.

“Я знаю как сделать ХОРОШО!”

Page 9: Rails for dummies

The Rails WayDon’t Repeat Yourself;

Convention over Configuration;

Предположение о том, что есть лучший способ что-то сделать (в некоторых случаях препятствует альтернативам);

Требует понимания The Rails Way, и карает тех, кто тащит старые привычки в Ruby On Rails;

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

Page 10: Rails for dummies

Ruby On Rails и друзьяRuby On Rails не один:

Sinatra; Padrino; Espresso.

Повлиял на: Pylons (Python); Play! Framework (Java); Grails (Groovy/Java); Yii (PHP).

Page 11: Rails for dummies

From WSGI to RackPython Web Server Gateway Protocol (WSGI);

Ruby Rack;

Page 12: Rails for dummies

Request/Response modelRails следуют лишь одной модели;

Последовательность обработки запроса: Браузер; Прокси-сервер (например, nginx); Веб-вервер (например, Unicorn); Rack; Middlewares; Router; Controller; Action.

Page 13: Rails for dummies

Архитектура Rails Rails – клей + компоненты;

Railtie;

ActiveSupport;

ActiveRecord;

ActiveModel;

ActionMailer;

ActionPack: ActionController; ActionDispatch; ActionView.

Page 14: Rails for dummies

RailtieУправление загрузкой Rails приложения;

Управление интерфейсом командной строки;

Предоставление интерфейса генераторов.

Page 15: Rails for dummies

ActiveSupportРасширение языка;

Расширение стандартной библиотеки;

Дополнительные утилиты.

Page 16: Rails for dummies

ActiveRecordПрослойка между приложением и базой данных;

Запросы строятся с помощью AREL движка;

Независимость от базы данных;

Альтернативы: DataMapper; Sequel; Mongoid; MongoMapper; CouchPotato и др.

Page 17: Rails for dummies

ActiveModel Прослойка между ActionPack и данными;

Аттрибуты;

Обратные вызовы;

Слежение за изменениями;

Управление ошибками;

Интроспекция;

Observer;

Сериализация;

Валидации;

Кастомные валидации.

Page 18: Rails for dummies

ActionControllerПрослойка между представлением и данными;

Обратные вызовы.

Page 19: Rails for dummies

ActionViewПоиск шаблонов;

Взаимодействие с движками шаблонов;

Предоставление хелперов.

Page 20: Rails for dummies

ActionDispatchПарсинг информации о запросе;

Управление HTTP кэшированием;

Cookies и сессии;

Роутинг внутри приложения.

Page 21: Rails for dummies

Также в комплектеAssets Pipelines;

Background Jobs (in Rails 4);

Консольные утилиты;

Генераторы.

Page 22: Rails for dummies

Если чего-то не хватает?Огромное количество плагинов;

Возможность написать свое решение один раз, и использовать его везде;

Практически для любой задачи уже есть готовое решение;

Если готовое решение не подходит – можно изменить или написать свое (open source в действии).

Page 23: Rails for dummies

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