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

Rails for dummies

Embed Size (px)

DESCRIPTION

 

Citation preview

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

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