32
Фреймворки Недалёкое Прошлое и Ближайшее Будущее Андрей Саломатин

Фреймворки: недалёкое прошлое и ближайшее будущее

  • Upload
    yandex

  • View
    147

  • Download
    0

Embed Size (px)

DESCRIPTION

Фреймворки: недалёкое прошлое и ближайшее будущее Нам повезло — мы живём в эпоху JavaScript-ренессанса. Ленты новостей пестрят яркими названиями: Angular, Backbone, БЭМ, Polymer, React. Поговорим о том, зачем нам столько инструментов, чем они отличаются и, главное, какой из них выбрать. Андрей Саломатин, MoscowJS Разработчик мобильных и веб-приложений. Увлечён техническими сообществами. Работает со стартапами. Любит опенсорс. С 2014 года занимается организацией митапа MoscowJS.

Citation preview

Page 1: Фреймворки: недалёкое прошлое и ближайшее будущее

ФреймворкиНедалёкое Прошлое и Ближайшее Будущее

Андрей Саломатин

Page 2: Фреймворки: недалёкое прошлое и ближайшее будущее

Андрей СаломатинFull stack разработчик Организатор MoscowJS !

!

!

@filipovskii [email protected]

2

Page 3: Фреймворки: недалёкое прошлое и ближайшее будущее
Page 4: Фреймворки: недалёкое прошлое и ближайшее будущее

Тёмные Времена

Page 5: Фреймворки: недалёкое прошлое и ближайшее будущее

0 %

1 %

2 %Firefox 12 %

IE 85 %

2006 Статистика использования браузеров

источник: TheCounter.com

4

Page 6: Фреймворки: недалёкое прошлое и ближайшее будущее

2006 StackOverflow и GitHub не существуют

5

Page 7: Фреймворки: недалёкое прошлое и ближайшее будущее

2006 Появляется надежда

6

Page 8: Фреймворки: недалёкое прошлое и ближайшее будущее
Page 9: Фреймворки: недалёкое прошлое и ближайшее будущее

Эпоха Возрожденияклиент-сайда

Page 10: Фреймворки: недалёкое прошлое и ближайшее будущее

2010-2011 Небольшие MV* библиотеки

8

Page 11: Фреймворки: недалёкое прошлое и ближайшее будущее

2011-2012 Монолитные фреймворки

9

Page 12: Фреймворки: недалёкое прошлое и ближайшее будущее

2013-2014 Компонентный подход

10

Polymer React

Page 13: Фреймворки: недалёкое прошлое и ближайшее будущее

2008-2014 Количество вопросов на StackOverflow

11

Октябрь 2008

0

15 000

30 000

45 000

60 000

ExtJS Backbone Knockout Angular Ember Meteor Polymer React

Page 14: Фреймворки: недалёкое прошлое и ближайшее будущее

2008-2014 Количество вопросов на StackOverflow

11

Сентябрь 2014

0

15 000

30 000

45 000

60 000

ExtJS Backbone Knockout Angular Ember Meteor Polymer React

Page 15: Фреймворки: недалёкое прошлое и ближайшее будущее
Page 16: Фреймворки: недалёкое прошлое и ближайшее будущее

Портретэпохи возрождения

Page 17: Фреймворки: недалёкое прошлое и ближайшее будущее

Техники

MV* архитектура Компонентный подход

Двухсторонние биндинги Реактивность

13

Page 18: Фреймворки: недалёкое прошлое и ближайшее будущее

MV* Архитектура• MVC, MVVM, MVP

• Просто начать

• Плохо масштабируется

• Backbone, Knockout, Angular

14

Page 19: Фреймворки: недалёкое прошлое и ближайшее будущее

Компонентный подход• Слабо-связанные переиспользуемые компоненты

• Инкапсуляция на уровне DOM, CSS, JS

• ExtJS, basis.js, React, Polymer, BEM

15

Page 20: Фреймворки: недалёкое прошлое и ближайшее будущее

Двухсторонние биндинги• Модель ⇄ представление

• Knockout, Angular, Polymer

• Проблемы с быстродействием

• Магия

16

Page 21: Фреймворки: недалёкое прошлое и ближайшее будущее

Реактивность

• Описываем зависимости

• Фреймворк следит и распространяет изменения

• Knockout, Meteor, React

17

Page 22: Фреймворки: недалёкое прошлое и ближайшее будущее

Портрет Эпохи

Фокус на:9

• Архитектуру

• Сложные интерфейсы

• Реактивность

18

Page 23: Фреймворки: недалёкое прошлое и ближайшее будущее

Портрет Эпохи

Фокус на:9

• Архитектуру

• Сложные интерфейсы

• Реактивность

19

Page 24: Фреймворки: недалёкое прошлое и ближайшее будущее

Портрет Эпохи

Фокус на:9

• Архитектуру

• Сложные интерфейсы

• Реактивность

19

Page 25: Фреймворки: недалёкое прошлое и ближайшее будущее
Page 26: Фреймворки: недалёкое прошлое и ближайшее будущее

Изобретаем9будущее

Page 27: Фреймворки: недалёкое прошлое и ближайшее будущее

Варианты развития

Модульные фреймворки Изоморфизм

Перенос данных на клиент

21

Page 28: Фреймворки: недалёкое прошлое и ближайшее будущее

Модульные фреймворки

• Возможность заменить логическую часть

• Возможность использовать часть отдельно от остального

• Ampersand.js, i-bem.js

22

Page 29: Фреймворки: недалёкое прошлое и ближайшее будущее

Изоморфизм• Один код на сервере и клиенте

• React, Meteor уже поддерживают

• Angular, Polymer никогда не будут поддерживать

23

Page 30: Фреймворки: недалёкое прошлое и ближайшее будущее

Перенос данных на клиент

• Описываем операции с данными, не транспорт

• Фреймворк синхронизирует клиент и сервер

• Offline First

• Hoodie, Swarm.js

24

Page 31: Фреймворки: недалёкое прошлое и ближайшее будущее

Ваши варианты?#yac2014 #frontend

25

Page 32: Фреймворки: недалёкое прошлое и ближайшее будущее

Спасибо!#yac2014 #frontend

!

Андрей Саломатин @filipovskii

[email protected]