153
JavaScript сегодня: React, Redux и новая реальность Денис Измайлов 15 марта 2016

JavaScript сегодня: React, Redux и новая реальность

Embed Size (px)

Citation preview

Page 1: JavaScript сегодня: React, Redux и новая реальность

JavaScript сегодня: React, Redux и новая реальностьДенис Измайлов

15 марта 2016

Page 2: JavaScript сегодня: React, Redux и новая реальность

Денис Измайлов• 16 лет опыта разработки ПО и web

• Последние 6 лет посвятил Front-end, Node.js и архитектуре

• Более 15 проектов, в том числе много SPA, high-load и React

• Коммиты в Redux, webpack и koa

• Cпикер HighLoad++ 2015, MoscowJS

• Автор статей на Habrahabr и англоязычных ресурсах

, CEO

Page 3: JavaScript сегодня: React, Redux и новая реальность
Page 4: JavaScript сегодня: React, Redux и новая реальность

Most Popular

«Результаты ежегодного исследования StackOverflow — про технологии, зарплаты, счастье и кофе», http://habrahabr.ru/post/255717/

4

Page 5: JavaScript сегодня: React, Redux и новая реальность

Most Popular

http://www.ryan-williams.net/hacker-news-hiring-trends/2016/march.html?compare1=java&compare2=node.js&compare3=JavaScript&compare4=golang

5

Page 6: JavaScript сегодня: React, Redux и новая реальность

JavaScriptrules the web

Page 7: JavaScript сегодня: React, Redux и новая реальность

Почему необходимо использовать актуальные

технологии?

Page 8: JavaScript сегодня: React, Redux и новая реальность

Что произошлоза эти 2 года

в мире JavaScript?

Page 9: JavaScript сегодня: React, Redux и новая реальность

Какие тренды мы видим сегодня?

Page 10: JavaScript сегодня: React, Redux и новая реальность

Front-end сегодня• Это не только JavaScript в браузере

• Сегодня Front-end - клиент и сервер:

10

Front-end клиент

Front-end сервер

Back-end сервер

Database

Java Legacy

etc

Page 11: JavaScript сегодня: React, Redux и новая реальность

Front-end сегодня• Это не только JavaScript в браузере

• Сегодня Front-end - клиент и сервер:

11

Front-end клиент

Front-end сервер

Back-end сервер

Database

Java Legacy

etc

Page 12: JavaScript сегодня: React, Redux и новая реальность

Front-end сегодня• Это не только JavaScript в браузере

• Сегодня Front-end - клиент и сервер:

12

Front-end клиент

Front-end сервер

Back-end сервер

Database

Java Legacy

etc

- HTML - [critical CSS] - JS Bundle

Page 13: JavaScript сегодня: React, Redux и новая реальность

Front-end сегодня• Это не только JavaScript в браузере

• Сегодня Front-end - клиент и сервер:

13

Front-end клиент

Front-end сервер

Back-end сервер

Database

Java Legacy

etc

- HTML - [critical CSS] - JS Bundle

Page 14: JavaScript сегодня: React, Redux и новая реальность

Front-end сегодня• Это не только JavaScript в браузере

• Сегодня Front-end - клиент и сервер:

14

Front-end клиент

Front-end сервер

Back-end сервер

Database

Java Legacy

etc

- HTML - [critical CSS] - JS Bundle

Page 15: JavaScript сегодня: React, Redux и новая реальность

Front-end сегодня• Это не только JavaScript в браузере

• Сегодня Front-end - клиент и сервер:

15

Page 16: JavaScript сегодня: React, Redux и новая реальность

Front-end сегодня• Это не только JavaScript в браузере

• Сегодня Front-end - клиент и сервер:

16

Page 17: JavaScript сегодня: React, Redux и новая реальность

Front-end сегодня• Это не только JavaScript в браузере

• Сегодня Front-end - клиент и сервер:

17

SPA

Page 18: JavaScript сегодня: React, Redux и новая реальность

JavaScript на сервере• Представлен Node.js

• Экосистема - npm (Node.js Package Manager)

• Что такое npm?251 К пакетов, ~ 4 млрд. загрузок/мес.

18

https://unpm.nodesource.com/

Page 19: JavaScript сегодня: React, Redux и новая реальность

Мир JavaScript - это самый увлекательный сериал

Page 20: JavaScript сегодня: React, Redux и новая реальность

Мир JavaScript - это самый увлекательный сериал

• 2014: React = HTML в JavaScript?

• 2015: React - то, с чем стало всё проще

• 2014: Flux - как его внедрить?

• 2015: Flux - RIP, viva la Redux

20

Page 21: JavaScript сегодня: React, Redux и новая реальность

2014

Page 22: JavaScript сегодня: React, Redux и новая реальность

2014: Server-Side1. Node.js в Production -> развитие платформы

стало замедляться (Joyent страхует риски)

22

Page 23: JavaScript сегодня: React, Redux и новая реальность

2014: Server-Side1. Node.js в Production -> развитие платформы

стало замедляться (Joyent страхует риски)

2. Node.js для сборки SPA

23

Page 24: JavaScript сегодня: React, Redux и новая реальность

2014: Server-Side1. Node.js в Production -> развитие платформы

стало замедляться (Joyent страхует риски)

2. Node.js для сборки SPA

3. Require.js (AMD) -> Browserify (CommonJS) + BrowserSync/Watchify

24

Page 25: JavaScript сегодня: React, Redux и новая реальность

2014: Server-Side1. Node.js в Production -> развитие платформы

стало замедляться (Joyent страхует риски)

2. Node.js для сборки SPA

3. Require.js (AMD) -> Browserify (CommonJS) + BrowserSync/Watchify

4. 27 ноября 2014, доклад «webpack: 7 бед - один ответ» на MoscowJS 17:hHps://www.youtube.com/watch?v=kuXIgUsvpLo

5. Статья на Хабрахабр про webpack:hHp://habrahabr.ru/post/245991/

25

Page 26: JavaScript сегодня: React, Redux и новая реальность

2014: Client-Side1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone, Handlebars

2. Благодаря сборщикам, от чистого CSS уходят: LESS, SASS, Stylus

3. ...

26

Page 27: JavaScript сегодня: React, Redux и новая реальность

2014: Client-Side1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone, Handlebars

2. Благодаря сборщикам, от чистого CSS уходят: LESS, SASS, Stylus

3. ...

27

Page 28: JavaScript сегодня: React, Redux и новая реальность

2014: Client-Side1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone, Handlebars

28

1. Низкая структурированность

2. Медленное обновление UI

3. Side Effects

4. Много [ООП] кода и шаблонов

Page 29: JavaScript сегодня: React, Redux и новая реальность
Page 30: JavaScript сегодня: React, Redux и новая реальность

React

JavaScript-библиотека для создания UI

Page 31: JavaScript сегодня: React, Redux и новая реальность

React1. Просто “V” в паттерне MVC + Specs and Lifecycle

31

Page 32: JavaScript сегодня: React, Redux и новая реальность

React Lifecycle

32* - om

Page 33: JavaScript сегодня: React, Redux и новая реальность

React1. Просто “V” в паттерне MVC + Specs and Lifecycle

2. Скорость обновления UI:

1. точечные и пакетные обновления

2. виртуальный DOM

33

Page 34: JavaScript сегодня: React, Redux и новая реальность

React DOM Diff

34

Page 35: JavaScript сегодня: React, Redux и новая реальность

React1. Просто “V” в паттерне MVC + Specs and Lifecycle

2. Скорость обновления UI:

1. точечные и пакетные обновления

2. виртуальный DOM

3. Отсутствие Side Effects:

1. однонаправленный Data Flow (props)

2. неизменяемые данные (state)

35

Page 36: JavaScript сегодня: React, Redux и новая реальность

React Flow

36

Page 37: JavaScript сегодня: React, Redux и новая реальность

React

UI = f(x), x = state, f = component

Page 38: JavaScript сегодня: React, Redux и новая реальность

React1. Просто “V” в паттерне MVC + Specs and Lifecycle

2. Скорость обновления UI:

1. точечные и пакетные обновления

2. виртуальный DOM

3. Отсутствие Side Effects:

1. однонаправленный Data Flow (props)

2. неизменяемые данные (state)

4. Удобство разработки - JSX

38

Page 39: JavaScript сегодня: React, Redux и новая реальность

React Component

39

Page 40: JavaScript сегодня: React, Redux и новая реальность

React1. Просто “V” в паттерне MVC + Specs and Lifecycle

2. Скорость обновления UI

3. Отсутствие Side Effects

4. Удобство разработки - JSX

40

Page 41: JavaScript сегодня: React, Redux и новая реальность

2014: Client-Side1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone, Handlebars

41

1. Низкая структурированность

2. Медленное обновление UI

3. Side Effects

4. Много [ООП] кода и шаблонов

SOLVED BY

REACT

Page 42: JavaScript сегодня: React, Redux и новая реальность

2014: Client-Side1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone, Handlebars

2. Благодаря сборщикам, от чистого CSS уходят: LESS, SASS, Stylus

3. Большинство всё ещё скептически посматривает на React:

• HTML-код в JavaScript? PHP way? • Ещё один Angular? • А куда Backbone тут?

42

Page 43: JavaScript сегодня: React, Redux и новая реальность

2014: Client-Side

• 30 апреля 2014 • Сан-Франциско • 30ºC • 1700 разработчиков • F8 Facebook Developer Conference

Page 44: JavaScript сегодня: React, Redux и новая реальность

Проблема масштабирования MVC

30 апреля 2014, Сан-Франциско F8 Facebook Developer Conference

Page 45: JavaScript сегодня: React, Redux и новая реальность

45

30 апреля 2014, Сан-Франциско F8 Facebook Developer Conference

Page 46: JavaScript сегодня: React, Redux и новая реальность

Command-Query Responsibility Segregation

CQRS46

Page 47: JavaScript сегодня: React, Redux и новая реальность

CQRSCommand-Query Responsibility Segregation

модельдля чтения и записи

47

Page 48: JavaScript сегодня: React, Redux и новая реальность

CQRSCommand-Query Responsibility Segregation

модель для чтенияданных

модельдля чтения и записи

модель для записиданных

48

Page 49: JavaScript сегодня: React, Redux и новая реальность

Что даёт Flux?

1. Состояние гонки (race condition)

2. Каскадные обновления (cascade

updates)

3. Воспроизводимость состояний

49

Page 50: JavaScript сегодня: React, Redux и новая реальность

Что даёт Flux?

1. Состояние гонки (race condition)

2. Каскадные обновления (cascade

updates)

3. Воспроизводимость состояний

50

Page 51: JavaScript сегодня: React, Redux и новая реальность

Воспроизводимость состояний

51

Atime

Page 52: JavaScript сегодня: React, Redux и новая реальность

Воспроизводимость состояний

52

A B

Page 53: JavaScript сегодня: React, Redux и новая реальность

Воспроизводимость состояний

53

A B

A B

Page 54: JavaScript сегодня: React, Redux и новая реальность

Воспроизводимость состояний

54

A E

A E

Page 55: JavaScript сегодня: React, Redux и новая реальность

Воспроизводимость состояний

55

A E

A E

Record / Replay

Time Traveling

Page 56: JavaScript сегодня: React, Redux и новая реальность

2014: Client-Side4. Flux, как альтернатива MVC и архитектура для

React-приложений

5. Это помогло немного иначе посмотреть на React

6. Гонка Flux-фреймворков: Fluxxor, Reflux.js, Flux от Facebook, Flummox, Marty.js, Fluxible от Yahoo, AirBnb представляет alt

7. Было трудно, но понятно, что React и Flux - это верное направление

8. ES6-транспилеры 6to5, esnext, traceur начали вытеснять CoffeeScript и пр.

56

Page 57: JavaScript сегодня: React, Redux и новая реальность

2015

Page 58: JavaScript сегодня: React, Redux и новая реальность

2015: Server-Side1. 14 января выходит io.js:

форк Node.js с болееновым V8 с частичным ES6 - промисы, генераторы

2. 8 сентября вышел Node.js v4.0.0

3. Волна удаления gulp из процесса сборки с заменой на отдельные скрипты в npm scripts

4. Изоморфные приложения58

Page 59: JavaScript сегодня: React, Redux и новая реальность

2015: Client-Side1. Пришёл ES6, 15 февраля - Babel (6to5 + esnext)

2. React Native

3. Взлёт популярности PostCSS

4. webpack стал стандартом де-факто в проектах

5. React почти полностью вытеснил Angular 1.x

6. Гонка Flux-реализаций окончена сокрушительной победой Redux

59

Page 60: JavaScript сегодня: React, Redux и новая реальность

2015: Client-Side1. Пришёл ES6, 15 февраля - Babel (6to5 + esnext)

2. React Native

3. Взлёт популярности PostCSS

4. webpack стал стандартом де-факто в проектах

5. React почти полностью вытеснил Angular 1.x

6. Гонка Flux-реализаций окончена сокрушительной победой Redux

60

Page 61: JavaScript сегодня: React, Redux и новая реальность

Проблемы Flux

Page 62: JavaScript сегодня: React, Redux и новая реальность

Проблемы Flux

1. Обилие boilerplate-кода

2. “Заточенность" кода приложения под API каждого Flux-фреймворка

3. Логика сторов связана с их состоянием

62

Page 63: JavaScript сегодня: React, Redux и новая реальность

Пара примеров с alt.js

Page 64: JavaScript сегодня: React, Redux и новая реальность

Создание Store

64

Page 65: JavaScript сегодня: React, Redux и новая реальность

Создание Store

65

полезная часть

Page 66: JavaScript сегодня: React, Redux и новая реальность

Создание компонент

66

Page 67: JavaScript сегодня: React, Redux и новая реальность

Создание компонент

67

бесполезнаячасть

Page 68: JavaScript сегодня: React, Redux и новая реальность

Проблемы Flux

1. Обилие boilerplate-кода

2. “Заточенность" кода приложения под API каждого Flux-фреймворка

3. Логика сторов связана с их состоянием

4. Сложность сделать Record/Replay

5. Сложность для понимания роль диспетчера

68

Page 69: JavaScript сегодня: React, Redux и новая реальность

Проблемы Flux

69

Store

ДиспетчерAction 1

Компонент

Page 70: JavaScript сегодня: React, Redux и новая реальность

Проблемы Flux

70

Store

ДиспетчерAction 1

Action 2

Компонент

Page 71: JavaScript сегодня: React, Redux и новая реальность

Проблемы Flux

71

Store

ДиспетчерAction 1

Action 2

Uncaught Error: Invariant Violation: Dispatch.dispatch(...): Cannot dispatch in the middle of a dispatch.

Компонент

Page 72: JavaScript сегодня: React, Redux и новая реальность

Проблемы Flux

hHps://github.com/facebook/flux/issues/47

Page 73: JavaScript сегодня: React, Redux и новая реальность

Как эти проблемырешает Redux?

Page 74: JavaScript сегодня: React, Redux и новая реальность

ООП -> ФП

Page 75: JavaScript сегодня: React, Redux и новая реальность

Reducers

75

Page 76: JavaScript сегодня: React, Redux и новая реальность

Middleware

76

Page 77: JavaScript сегодня: React, Redux и новая реальность

View Provider

77

Доступ к данным из React, Angular и пр.

Page 78: JavaScript сегодня: React, Redux и новая реальность

Connector

78

Page 79: JavaScript сегодня: React, Redux и новая реальность

Redux

Page 80: JavaScript сегодня: React, Redux и новая реальность

Будет ли ещё один Redux?

Page 81: JavaScript сегодня: React, Redux и новая реальность

Hype Cycle

81

Page 82: JavaScript сегодня: React, Redux и новая реальность

React + Redux: Plateau of Productivity

Page 83: JavaScript сегодня: React, Redux и новая реальность

А что тогда будет?

Page 84: JavaScript сегодня: React, Redux и новая реальность

2016 Тренды

Page 85: JavaScript сегодня: React, Redux и новая реальность

Качественный рост экосистемы React + Redux

Page 86: JavaScript сегодня: React, Redux и новая реальность

React - не просто V в MVC

Page 87: JavaScript сегодня: React, Redux и новая реальность

React - экосистема

Page 88: JavaScript сегодня: React, Redux и новая реальность

Redux - экосистема

Page 89: JavaScript сегодня: React, Redux и новая реальность

Рост экосистемы React + Redux1. Библиотеки компонентов

• Elemental UI

89

Page 90: JavaScript сегодня: React, Redux и новая реальность

Elemental UI

Page 91: JavaScript сегодня: React, Redux и новая реальность

Рост экосистемы React + Redux1. Библиотеки компонентов

• Elemental UI

• Material-UI

91

Page 92: JavaScript сегодня: React, Redux и новая реальность

Material-UI

Page 93: JavaScript сегодня: React, Redux и новая реальность

Рост экосистемы React + Redux1. Библиотеки компонентов

• Elemental UI

• Material-UI

• TouchstoneJS

93

Page 94: JavaScript сегодня: React, Redux и новая реальность

TouchstoneJS

Page 95: JavaScript сегодня: React, Redux и новая реальность

Рост экосистемы React + Redux1. Библиотеки компонентов

• Elemental UI

• Material-UI

• TouchstoneJS

• reapp

95

Page 96: JavaScript сегодня: React, Redux и новая реальность

reapp

Page 97: JavaScript сегодня: React, Redux и новая реальность

Рост экосистемы React + Redux1. Библиотеки компонентов

• Elemental UI

• Material-UI

• TouchstoneJS

• reapp

2. Инструменты для Redux

97

Page 98: JavaScript сегодня: React, Redux и новая реальность

Redux Dev Tools1. Live Edit

2. Time Travel

Page 99: JavaScript сегодня: React, Redux и новая реальность

Redux Slider Monitor1. Time Travel

через слайдер

Page 100: JavaScript сегодня: React, Redux и новая реальность

Redux Diff Monitor

Page 101: JavaScript сегодня: React, Redux и новая реальность

Redux GenTest Plugin

Page 102: JavaScript сегодня: React, Redux и новая реальность

Рост экосистемы React + Redux1. Библиотеки компонентов

• Elemental UI

• Material-UI

• TouchstoneJS

• reapp

2. Инструменты для Redux

3. Анимация (react-motion, velocity-react, etc)

4. CSS Modules & Post CSS

102

Page 103: JavaScript сегодня: React, Redux и новая реальность

Борьба библиотек для работы с данными

и offline-режима

Page 104: JavaScript сегодня: React, Redux и новая реальность

Работа с данными и offline

1. Facebook Relay

2. Netflix Falcor

3. om.next

4. PouchDB, etc

5. hHp://blog.yld.io/2015/11/30/building-realtime-

collaborative-offline-first-apps-with-react-redux-

pouchdb-and-web-sockets/

104

Page 105: JavaScript сегодня: React, Redux и новая реальность

GraphQL + Relay

Page 106: JavaScript сегодня: React, Redux и новая реальность

До GraphQL

106

Page 107: JavaScript сегодня: React, Redux и новая реальность

До GraphQL

107

1. Где реализовать загрузку данных?

2. Как реализовать Optimistic Updates?

3. Чем оптимизировать сетевой трафик?

Page 108: JavaScript сегодня: React, Redux и новая реальность

GraphQL Example

Page 109: JavaScript сегодня: React, Redux и новая реальность

GraphQL Applications

Page 110: JavaScript сегодня: React, Redux и новая реальность

GraphQL Schema

Page 111: JavaScript сегодня: React, Redux и новая реальность

Вместе с GraphQL

111

1. Optimistic Updates

2. Query Collocation

3. Кэширование

4. Автоматический Data-Fetching,прощай AJAX

Page 112: JavaScript сегодня: React, Redux и новая реальность

Relay Way1. Прощаемся:

1. Service-Oriented Architecture

2. Imperative Data Fetching

2. Встречаем:

1. User Experience Oriented Architecture

2. Declarative Data Fetching

112

Page 113: JavaScript сегодня: React, Redux и новая реальность

Relay Way1. Прощаемся:

1. Service-Oriented Architecture

2. Imperative Data Fetching

2. Встречаем:

1. User Experience Oriented Architecture

2. Declarative Data Fetching

113

Page 114: JavaScript сегодня: React, Redux и новая реальность

Relay + React Native

114

Page 115: JavaScript сегодня: React, Redux и новая реальность

Давление на React со стороны Angular 2

Page 116: JavaScript сегодня: React, Redux и новая реальность

Функциональное программирование

+ Иммутабельные

данные

Page 117: JavaScript сегодня: React, Redux и новая реальность
Page 118: JavaScript сегодня: React, Redux и новая реальность

Функциональное

1. Ph. D

2. UI = f(x), x = state(action1, action2, ...actionN)

3. Ramda

4. Professor Frisby's Mostly Adequate Guide to Functional

ProgramminghHps://drboolean.gitbooks.io/mostly-adequate-guide/

content/

5. Fantasy Land SpecificationhHps://github.com/fantasyland/fantasy-land

118

Page 119: JavaScript сегодня: React, Redux и новая реальность

Изоморфные приложения

Page 120: JavaScript сегодня: React, Redux и новая реальность

Изоморфные приложения

By isomorphic we mean that any given line of code (with notable exceptions) can execute both on the client and the server.

Charlie Robbins,18 Oct 2011

Page 121: JavaScript сегодня: React, Redux и новая реальность

Шаблоны

Стили

Локализация

Конфигурация

Routes

Права доступа

Модели

Схемы

Валидация

Сервисы

Изоморфные приложения

server.jsNode.js

worker.js

client.jsBrowser

admin.js

Бизнес-логика

Компоненты

API-интерфейсы

Actions, Reducers

Static Files

Page 122: JavaScript сегодня: React, Redux и новая реальность

Server-Side Rendering• Сборка HTML на Front-end сервере

• Моментальное отображение в

браузере, ещё до загрузки JS

• Когда JS загрузится, React только

добавит обработчики событий

• А это очень быстро122

Page 123: JavaScript сегодня: React, Redux и новая реальность

Server-Side Rendering1. Пользователь видит страницу

мгновенно

2. Отсутствие дополнительных запросов на получение данных

3. Страница может работать даже без JS

4. Полноценная URL-навигация и мета-тэги

5. Сохранение всех возможностей современного JavaScript

123

Page 124: JavaScript сегодня: React, Redux и новая реальность

Изоморфные приложения1. Redux: the best for isomorphic apps

hHps://www.youtube.com/watch?

v=Uyk_8WWna6s

2. Изоморфные React-приложения:

производительность и масштабированиеhHp://www.highload.ru/2015/abstracts/1962.html

3. Изоморфные React-приложенияhHp://www.youtube.com/watch?v=PbK5xLmS0MU

124

Page 125: JavaScript сегодня: React, Redux и новая реальность

Native Applications

Page 126: JavaScript сегодня: React, Redux и новая реальность

Native Applications1. Electron

126

Page 127: JavaScript сегодня: React, Redux и новая реальность

Slack

Page 128: JavaScript сегодня: React, Redux и новая реальность
Page 129: JavaScript сегодня: React, Redux и новая реальность
Page 130: JavaScript сегодня: React, Redux и новая реальность

Native Applications1. Electron

2. React Native

130

Page 131: JavaScript сегодня: React, Redux и новая реальность

SVG + D3.js

Page 132: JavaScript сегодня: React, Redux и новая реальность

WebAssembly, WebGL

Page 133: JavaScript сегодня: React, Redux и новая реальность

C++ add-ons -> Node.js

Page 134: JavaScript сегодня: React, Redux и новая реальность

Обучение и профессиональная сертификация

Page 135: JavaScript сегодня: React, Redux и новая реальность

Node.js -> Enterprise

Page 136: JavaScript сегодня: React, Redux и новая реальность

StrongLoop -> IBM

Page 137: JavaScript сегодня: React, Redux и новая реальность

Docker-контейнеры

Page 138: JavaScript сегодня: React, Redux и новая реальность

Docker + CoreOS

138

Page 139: JavaScript сегодня: React, Redux и новая реальность

Систематизация Workflow

Page 140: JavaScript сегодня: React, Redux и новая реальность

Систематизация Workflow1. jsdoc 3, GitBook, documentation.js

2. JSON API, GraphQL

3. BitBucket, GitHub, Gogs

4. CI (CodeShip, Travis, Circle)

5. Docker (Heroku, DigitalOcean, vscale)

6. StrongLoop, PM2, Enterprise NPM

7. Slack, Fleep, etc

140

Page 141: JavaScript сегодня: React, Redux и новая реальность

GitBook

Page 142: JavaScript сегодня: React, Redux и новая реальность

documentation.js

Page 143: JavaScript сегодня: React, Redux и новая реальность

Итоги

Page 144: JavaScript сегодня: React, Redux и новая реальность

20161. Качественный рост экосистем React и Redux

2. Библиотеки работы с данными (Facebook Relay, Falcor, etc) и поддержкой offline-режима

3. Давление на React-сообщество со стороны Angular 2

4. Функциональное программирование, иммутабельные данные

5. Изоморфные приложения

6. Native Applications (Desktop & Mobile)144

Page 145: JavaScript сегодня: React, Redux и новая реальность

20167. SVG & D3.js

8. WebAssembly, WebGL

9. C++ + JavaScript

10. Проекты обучения и профессиональной сертификации (egghead.io, etc)

11. React и Node.js активно входят в Enterprise

12. Микросервисная архитектура и контейнеры (Docker)

13. Систематизация Workflow145

Page 146: JavaScript сегодня: React, Redux и новая реальность

Какие тренды мы видим сегодня?

Page 147: JavaScript сегодня: React, Redux и новая реальность

Что произошлоза эти 2 года

в мире JavaScript?

Page 148: JavaScript сегодня: React, Redux и новая реальность

Почему необходимо использовать актуальные

технологии?

Page 149: JavaScript сегодня: React, Redux и новая реальность

Как поддерживать актуальность?

Page 150: JavaScript сегодня: React, Redux и новая реальность

Процесс

1. Осведомлённость (10% времени)

2. Исследование

3. Обучение / практика

4. Использование

150

Page 151: JavaScript сегодня: React, Redux и новая реальность

OODA Loop

151* 1970

Page 152: JavaScript сегодня: React, Redux и новая реальность

Рекомендации• Присоединяйтесь к MoscowJS

http://moscowjs.ru/

• Не читайте советских газет - улучшайте английский (Hacker News, Reddit, etc)

• Читайте оригиналы и технические блоги (Netflix, Facebook, AirBnb, LinkedIn и т.д.)

• Активно внедряйте в свою жизнь Twitter и GitHub

Page 153: JavaScript сегодня: React, Redux и новая реальность

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

Денис Измайлов

@DenisIzmaylov

https://github.com/DenisIzmaylov

www.startup-makers.ru

denis_izmaylov