Андрей Колешко «Что не так с rails»

23
Что не так с Rails? Андрей Колешко @ka8725

Upload: -

Post on 24-Jul-2015

390 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Андрей Колешко «Что не так с Rails»

Что не так с Rails?Андрей Колешко @ka8725

Page 2: Андрей Колешко «Что не так с Rails»

Вступил в ряды Rails разработчиковПолон надежд. Готов изучить “серебряную пулю” от

корки до корки

Page 3: Андрей Колешко «Что не так с Rails»
Page 4: Андрей Колешко «Что не так с Rails»
Page 5: Андрей Колешко «Что не так с Rails»
Page 6: Андрей Колешко «Что не так с Rails»

Повторяющиеся неудачи

Page 7: Андрей Колешко «Что не так с Rails»

Почему?

Page 8: Андрей Колешко «Что не так с Rails»

• Уровень разработчиков слабоват?

• Неадекватный заказчик?

• Нехватка кофе?

• Печенек?

• Не та фаза луны?

Page 9: Андрей Колешко «Что не так с Rails»

Ваши задачи решаются не теми инструментами

Page 10: Андрей Колешко «Что не так с Rails»

Rails - не серебряная пуля

Page 11: Андрей Колешко «Что не так с Rails»

Rails - MVC

Page 12: Андрей Колешко «Что не так с Rails»

Корень всех бед Данная модель работает на небольших проектах с прямолинейными пользовательскими сценариями (например, простые формы CRUD)

Page 13: Андрей Колешко «Что не так с Rails»

ActiveRecord подталкивает к нарушению всех принципов SOLID

Page 14: Андрей Колешко «Что не так с Rails»

В жизни присутствуют сценарии использования (use cases)

Page 15: Андрей Колешко «Что не так с Rails»

Добавляем слой бизнес логикиДобавление нового слоя для бизнес логики облегчает

жизнь

Page 16: Андрей Колешко «Что не так с Rails»

Добавляем слой для viewТеперь слой представления не зависит от структуры

объектов ActiveRecord

Page 17: Андрей Колешко «Что не так с Rails»

API

WebAndroidiOS

View Data

Controller

User

Business Logic

Model

Database

Router

Структура современного проекта

Page 18: Андрей Колешко «Что не так с Rails»

Инструменты

Page 19: Андрей Колешко «Что не так с Rails»

К чему приводит программирование на Rails

Page 20: Андрей Колешко «Что не так с Rails»

К чему приводит программирование с помощью подходящих инструментов

Page 21: Андрей Колешко «Что не так с Rails»

Подходящие инструменты для нашего проекта

• PostgreSQL (hstore, JSON)

• Ruby

• Virtus

• Grape

• Rails (частичное использование некоторых компонентов)

• AngularJS

• ui-router

• Restangular

Page 22: Андрей Колешко «Что не так с Rails»

Выводы

• Не нарушайте принципы SOLID

• Подбирайте правильные инструменты под задачи

• Соблюдение лучших практик Rails не позволит избежать от написания большого количества кода в реальных проектах

Page 23: Андрей Колешко «Что не так с Rails»

Полезные ссылки

• https://goo.gl/iTU7ss - SOLID Object-Oriented Design by Sandi Metz

• https://goo.gl/8vGBtF - Architecture the Lost Years by Robert Martin

• http://railsguides.net - мой блог и контакты