SlideShare a Scribd company logo
1 of 153
Download to read offline
JavaScript сегодня:
React, Redux и новая
реальность
Денис Измайлов
15 марта 2016
Денис Измайлов
• 16 лет опыта разработки ПО и web
• Последние 6 лет посвятил Front-end,
Node.js и архитектуре
• Более 15 проектов, в том числе много
SPA, high-load и React
• Коммиты в Redux, webpack и koa
• Cпикер HighLoad++ 2015, MoscowJS
• Автор статей на Habrahabr и
англоязычных ресурсах
, CEO
Most Popular
«Результаты ежегодного исследования StackOverflow —

про технологии, зарплаты, счастье и кофе», http://habrahabr.ru/post/255717/
4
Most Popular
http://www.ryan-williams.net/hacker-news-hiring-trends/2016/march.html?
compare1=java&compare2=node.js&compare3=JavaScript&compare4=golang
5
JavaScript

rules the web
Почему необходимо
использовать актуальные
технологии?
Что произошло

за эти 2 года
в мире JavaScript?
Какие тренды мы
видим сегодня?
Front-end сегодня
• Это не только JavaScript в браузере
• Сегодня Front-end - клиент и сервер:
10
Front-end
клиент
Front-end
сервер
Back-end
сервер



Database
Java
Legacy

etc
Front-end сегодня
• Это не только JavaScript в браузере
• Сегодня Front-end - клиент и сервер:
11
Front-end
клиент
Front-end
сервер
Back-end
сервер



Database
Java
Legacy

etc
Front-end сегодня
• Это не только JavaScript в браузере
• Сегодня Front-end - клиент и сервер:
12
Front-end
клиент
Front-end
сервер
Back-end
сервер



Database
Java
Legacy

etc
- HTML
- [critical CSS]
- JS Bundle
Front-end сегодня
• Это не только JavaScript в браузере
• Сегодня Front-end - клиент и сервер:
13
Front-end
клиент
Front-end
сервер
Back-end
сервер



Database
Java
Legacy

etc
- HTML
- [critical CSS]
- JS Bundle
Front-end сегодня
• Это не только JavaScript в браузере
• Сегодня Front-end - клиент и сервер:
14
Front-end
клиент
Front-end
сервер
Back-end
сервер



Database
Java
Legacy

etc
- HTML
- [critical CSS]
- JS Bundle
Front-end сегодня
• Это не только JavaScript в браузере
• Сегодня Front-end - клиент и сервер:
15
Front-end сегодня
• Это не только JavaScript в браузере
• Сегодня Front-end - клиент и сервер:
16
Front-end сегодня
• Это не только JavaScript в браузере
• Сегодня Front-end - клиент и сервер:
17
SPA
JavaScript на сервере
• Представлен Node.js
• Экосистема - npm

(Node.js Package Manager)
• Что такое npm?

251 К пакетов, ~ 4 млрд. загрузок/мес.
18
https://unpm.nodesource.com/
Мир JavaScript - это самый
увлекательный сериал
Мир JavaScript - это самый
увлекательный сериал
• 2014: React = HTML в JavaScript?
• 2015: React - то, с чем стало всё проще
• 2014: Flux - как его внедрить?
• 2015: Flux - RIP, viva la Redux
20
2014
2014: Server-Side
1. Node.js в Production -> развитие платформы
стало замедляться (Joyent страхует риски)
22
2014: Server-Side
1. Node.js в Production -> развитие платформы
стало замедляться (Joyent страхует риски)
2. Node.js для сборки SPA
23
2014: Server-Side
1. Node.js в Production -> развитие платформы
стало замедляться (Joyent страхует риски)
2. Node.js для сборки SPA
3. Require.js (AMD) -> Browserify (CommonJS) +
BrowserSync/Watchify
24
2014: Server-Side
1. Node.js в Production -> развитие платформы
стало замедляться (Joyent страхует риски)
2. Node.js для сборки SPA
3. Require.js (AMD) -> Browserify (CommonJS) +
BrowserSync/Watchify
4. 27 ноября 2014, доклад «webpack: 7 бед - один
ответ» на MoscowJS 17:

h ps://www.youtube.com/watch?v=kuXIgUsvpLo
5. Статья на Хабрахабр про webpack:

h p://habrahabr.ru/post/245991/
25
2014: Client-Side
1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone,
Handlebars
2. Благодаря сборщикам, от чистого CSS уходят:

LESS, SASS, Stylus
3. ...
26
2014: Client-Side
1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone,
Handlebars
2. Благодаря сборщикам, от чистого CSS уходят:

LESS, SASS, Stylus
3. ...
27
2014: Client-Side
1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone,
Handlebars
28
1. Низкая структурированность
2. Медленное обновление UI
3. Side Effects
4. Много [ООП] кода и шаблонов
React


JavaScript-библиотека
для создания UI
React
1. Просто “V” в паттерне MVC + Specs and Lifecycle
31
React Lifecycle
32* - om
React
1. Просто “V” в паттерне MVC + Specs and Lifecycle
2. Скорость обновления UI:
1. точечные и пакетные обновления
2. виртуальный DOM
33
React DOM Diff
34
React
1. Просто “V” в паттерне MVC + Specs and Lifecycle
2. Скорость обновления UI:
1. точечные и пакетные обновления
2. виртуальный DOM
3. Отсутствие Side Effects:
1. однонаправленный Data Flow (props)
2. неизменяемые данные (state)
35
React Flow
36
React


UI = f(x),
x = state, f = component
React
1. Просто “V” в паттерне MVC + Specs and Lifecycle
2. Скорость обновления UI:
1. точечные и пакетные обновления
2. виртуальный DOM
3. Отсутствие Side Effects:
1. однонаправленный Data Flow (props)
2. неизменяемые данные (state)
4. Удобство разработки - JSX
38
React Component
39
React
1. Просто “V” в паттерне MVC + Specs and Lifecycle
2. Скорость обновления UI
3. Отсутствие Side Effects
4. Удобство разработки - JSX
40
2014: Client-Side
1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone,
Handlebars
41
1. Низкая структурированность
2. Медленное обновление UI
3. Side Effects
4. Много [ООП] кода и шаблонов
SOLVED
BY
REACT
2014: Client-Side
1. В проектах сражаются за доминирование:

Angular, Knockout, jQuery, Backbone,
Handlebars
2. Благодаря сборщикам, от чистого CSS уходят:

LESS, SASS, Stylus
3. Большинство всё ещё скептически
посматривает на React:
• HTML-код в JavaScript? PHP way?
• Ещё один Angular?
• А куда Backbone тут?
42
2014: Client-Side
• 30 апреля 2014
• Сан-Франциско
• 30ºC
• 1700 разработчиков
• F8 Facebook Developer Conference
Проблема масштабирования MVC
30 апреля 2014, Сан-Франциско
F8 Facebook Developer Conference
45
30 апреля 2014, Сан-Франциско
F8 Facebook Developer Conference
Command-Query
Responsibility
Segregation
CQRS
46
CQRS
Command-Query Responsibility Segregation
модель

для чтения

и записи
47
CQRS
Command-Query Responsibility Segregation
модель для чтения

данных
модель

для чтения

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

данных
48
Что даёт Flux?
1. Состояние гонки (race condition)
2. Каскадные обновления (cascade
updates)
3. Воспроизводимость состояний
49
Что даёт Flux?
1. Состояние гонки (race condition)
2. Каскадные обновления (cascade
updates)
3. Воспроизводимость состояний
50
Воспроизводимость состояний
51
A time
Воспроизводимость состояний
52
A B
Воспроизводимость состояний
53
A B
A B
Воспроизводимость состояний
54
A E
A E
Воспроизводимость состояний
55
A E
A E
Record / Replay
Time Traveling
2014: Client-Side
4. 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
2015
2015: Server-Side
1. 14 января выходит io.js:

форк Node.js с более

новым V8 с частичным ES6

- промисы, генераторы
2. 8 сентября вышел Node.js v4.0.0
3. Волна удаления gulp из процесса сборки с
заменой на отдельные скрипты в npm scripts
4. Изоморфные приложения
58
2015: Client-Side
1. Пришёл ES6, 15 февраля - Babel (6to5 + esnext)
2. React Native
3. Взлёт популярности PostCSS
4. webpack стал стандартом де-факто в проектах
5. React почти полностью вытеснил Angular 1.x
6. Гонка Flux-реализаций окончена
сокрушительной победой Redux
59
2015: Client-Side
1. Пришёл ES6, 15 февраля - Babel (6to5 + esnext)
2. React Native
3. Взлёт популярности PostCSS
4. webpack стал стандартом де-факто в проектах
5. React почти полностью вытеснил Angular 1.x
6. Гонка Flux-реализаций окончена
сокрушительной победой Redux
60
Проблемы Flux
Проблемы Flux
1. Обилие boilerplate-кода
2. “Заточенность" кода приложения под API
каждого Flux-фреймворка
3. Логика сторов связана с их состоянием
62
Пара примеров с alt.js
Создание Store
64
Создание Store
65
полезная часть
Создание компонент
66
Создание компонент
67
бесполезная

часть
Проблемы Flux
1. Обилие boilerplate-кода
2. “Заточенность" кода приложения под API
каждого Flux-фреймворка
3. Логика сторов связана с их состоянием
4. Сложность сделать Record/Replay
5. Сложность для понимания роль диспетчера
68
Проблемы Flux
69
Store
Диспетчер
Action 1
Компонент
Проблемы Flux
70
Store
Диспетчер
Action 1
Action 2
Компонент
Проблемы Flux
71
Store
Диспетчер
Action 1
Action 2
Uncaught Error: Invariant Violation:
Dispatch.dispatch(...): Cannot
dispatch in the middle of a dispatch.
Компонент
Проблемы Flux
h ps://github.com/facebook/flux/issues/47
Как эти проблемы

решает Redux?
ООП -> ФП
Reducers
75
Middleware
76
View Provider
77
Доступ к данным из React, Angular и пр.
Connector
78
Redux
Будет ли ещё
один Redux?
Hype Cycle
81
React + Redux:
Plateau of Productivity
А что тогда будет?
2016
Тренды
Качественный рост
экосистемы React + Redux
React - не просто V в MVC
React - экосистема
Redux - экосистема
Рост экосистемы React + Redux
1. Библиотеки компонентов
• Elemental UI
89
Elemental UI
Рост экосистемы React + Redux
1. Библиотеки компонентов
• Elemental UI
• Material-UI
91
Material-UI
Рост экосистемы React + Redux
1. Библиотеки компонентов
• Elemental UI
• Material-UI
• TouchstoneJS
93
TouchstoneJS
Рост экосистемы React + Redux
1. Библиотеки компонентов
• Elemental UI
• Material-UI
• TouchstoneJS
• reapp
95
reapp
Рост экосистемы React + Redux
1. Библиотеки компонентов
• Elemental UI
• Material-UI
• TouchstoneJS
• reapp
2. Инструменты для Redux
97
Redux Dev Tools
1. Live Edit
2. Time Travel
Redux Slider Monitor
1. Time Travel
через слайдер
Redux Diff Monitor
Redux GenTest Plugin
Рост экосистемы React + Redux
1. Библиотеки компонентов
• Elemental UI
• Material-UI
• TouchstoneJS
• reapp
2. Инструменты для Redux
3. Анимация (react-motion, velocity-react, etc)
4. CSS Modules & Post CSS
102
Борьба библиотек
для работы с данными

и offline-режима
Работа с данными и offline
1. Facebook Relay
2. Netflix Falcor
3. om.next
4. PouchDB, etc
5. h p://blog.yld.io/2015/11/30/building-realtime-
collaborative-offline-first-apps-with-react-redux-
pouchdb-and-web-sockets/
104
GraphQL + Relay
До GraphQL
106
До GraphQL
107
1. Где реализовать загрузку данных?
2. Как реализовать Optimistic Updates?
3. Чем оптимизировать сетевой трафик?
GraphQL Example
GraphQL Applications
GraphQL Schema
Вместе с GraphQL
111
1. Optimistic Updates
2. Query Collocation
3. Кэширование
4. Автоматический Data-Fetching,

прощай AJAX
Relay Way
1. Прощаемся:
1. Service-Oriented Architecture
2. Imperative Data Fetching
2. Встречаем:
1. User Experience Oriented Architecture
2. Declarative Data Fetching
112
Relay Way
1. Прощаемся:
1. Service-Oriented Architecture
2. Imperative Data Fetching
2. Встречаем:
1. User Experience Oriented Architecture
2. Declarative Data Fetching
113
Relay + React Native
114
Давление на React
со стороны Angular 2
Функциональное
программирование
+
Иммутабельные
данные
Функциональное
1. Ph. D
2. UI = f(x), x = state(action1, action2, ...actionN)
3. Ramda
4. Professor Frisby's Mostly Adequate Guide to Functional
Programming

h ps://drboolean.gitbooks.io/mostly-adequate-guide/
content/
5. Fantasy Land Specification

h ps://github.com/fantasyland/fantasy-land
118
Изоморфные приложения
Изоморфные приложения
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
Шаблоны
Стили
Локализация
Конфигурация
Routes
Права доступа
Модели
Схемы
Валидация
Сервисы
Изоморфные приложения
server.jsNode.js
worker.js
client.jsBrowser
admin.js
Бизнес-логика
Компоненты
API-интерфейсы
Actions, Reducers
Static Files
Server-Side Rendering
• Сборка HTML на Front-end сервере
• Моментальное отображение в
браузере, ещё до загрузки JS
• Когда JS загрузится, React только
добавит обработчики событий
• А это очень быстро
122
Server-Side Rendering
1. Пользователь видит страницу
мгновенно
2. Отсутствие дополнительных запросов
на получение данных
3. Страница может работать даже без JS
4. Полноценная URL-навигация и мета-
тэги
5. Сохранение всех возможностей
современного JavaScript 123
Изоморфные приложения
1. Redux: the best for isomorphic apps

h ps://www.youtube.com/watch?
v=Uyk_8WWna6s
2. Изоморфные React-приложения:
производительность и масштабирование

h p://www.highload.ru/2015/abstracts/1962.html
3. Изоморфные React-приложения

h p://www.youtube.com/watch?v=PbK5xLmS0MU
124
Native Applications
Native Applications
1. Electron
126
Slack
Native Applications
1. Electron
2. React Native
130
SVG + D3.js
WebAssembly, WebGL
C++ add-ons -> Node.js
Обучение и
профессиональная
сертификация
Node.js -> Enterprise
StrongLoop -> IBM
Docker-контейнеры
Docker + CoreOS
138
Систематизация
Workflow
Систематизация Workflow
1. 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
GitBook
documentation.js
Итоги
2016
1. Качественный рост экосистем React и Redux
2. Библиотеки работы с данными (Facebook
Relay, Falcor, etc) и поддержкой offline-режима
3. Давление на React-сообщество со стороны
Angular 2
4. Функциональное программирование,
иммутабельные данные
5. Изоморфные приложения
6. Native Applications (Desktop & Mobile)
144
2016
7. SVG & D3.js
8. WebAssembly, WebGL
9. C++ + JavaScript
10. Проекты обучения и профессиональной
сертификации (egghead.io, etc)
11. React и Node.js активно входят в Enterprise
12. Микросервисная архитектура и контейнеры
(Docker)
13. Систематизация Workflow
145
Какие тренды мы
видим сегодня?
Что произошло

за эти 2 года
в мире JavaScript?
Почему необходимо
использовать актуальные
технологии?
Как поддерживать
актуальность?
Процесс
1. Осведомлённость (10% времени)
2. Исследование
3. Обучение / практика
4. Использование
150
OODA Loop
151* 1970
Рекомендации
• Присоединяйтесь к MoscowJS

http://moscowjs.ru/
• Не читайте советских газет - улучшайте
английский (Hacker News, Reddit, etc)
• Читайте оригиналы и технические блоги
(Netflix, Facebook, AirBnb, LinkedIn и т.д.)
• Активно внедряйте в свою жизнь Twitter
и GitHub
Спасибо за
внимание
Денис Измайлов
@DenisIzmaylov
https://github.com/DenisIzmaylov
www.startup-makers.ru
denis_izmaylov

More Related Content

What's hot

"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik HimiranovFwdays
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Fwdays
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27MoscowJS
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo KazymyrovFwdays
 
#5 "React.js" Антон Артамонов
#5 "React.js" Антон Артамонов#5 "React.js" Антон Артамонов
#5 "React.js" Антон АртамоновJSib
 
Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"Fwdays
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Fwdays
 
React + Redux. Опыт использования
React + Redux. Опыт использованияReact + Redux. Опыт использования
React + Redux. Опыт использованияGDG Odessa
 
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"IT Event
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Vladimir Malyk
 
Елизавета Голенок Переходим на mono или как это было
Елизавета Голенок  Переходим на mono или как это былоЕлизавета Голенок  Переходим на mono или как это было
Елизавета Голенок Переходим на mono или как это былоMskDotNet Community
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Pavel Chertorogov
 
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...IT Event
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Fwdays
 
Денис Паясь
Денис ПаясьДенис Паясь
Денис ПаясьCodeFest
 
"React application structure at project start", Maksym Shestopal
"React application structure at project start", Maksym Shestopal"React application structure at project start", Maksym Shestopal
"React application structure at project start", Maksym ShestopalFwdays
 
Phalcon. Что нового?
Phalcon. Что нового?Phalcon. Что нового?
Phalcon. Что нового?Oleksandr Torosh
 

What's hot (19)

"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
 
#5 "React.js" Антон Артамонов
#5 "React.js" Антон Артамонов#5 "React.js" Антон Артамонов
#5 "React.js" Антон Артамонов
 
Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
 
React + Redux. Опыт использования
React + Redux. Опыт использованияReact + Redux. Опыт использования
React + Redux. Опыт использования
 
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?
 
Елизавета Голенок Переходим на mono или как это было
Елизавета Голенок  Переходим на mono или как это былоЕлизавета Голенок  Переходим на mono или как это было
Елизавета Голенок Переходим на mono или как это было
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
 
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
 
Денис Паясь
Денис ПаясьДенис Паясь
Денис Паясь
 
"React application structure at project start", Maksym Shestopal
"React application structure at project start", Maksym Shestopal"React application structure at project start", Maksym Shestopal
"React application structure at project start", Maksym Shestopal
 
Phalcon. Что нового?
Phalcon. Что нового?Phalcon. Что нового?
Phalcon. Что нового?
 
React.js – intro
React.js – introReact.js – intro
React.js – intro
 

Viewers also liked

React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)Pavel Chertorogov
 
Flux + i bem = bem-store
Flux + i bem = bem-storeFlux + i bem = bem-store
Flux + i bem = bem-storeDmitry Dushkin
 
Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionАлександр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionMoscowJS
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907NodejsFoundation
 

Viewers also liked (7)

Фишки и прелести TypeScript
Фишки и прелести TypeScriptФишки и прелести TypeScript
Фишки и прелести TypeScript
 
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
React, GraphQL и Relay - вполне себе нормальный компонентный подход (nodkz)
 
Bem для всех
Bem для всехBem для всех
Bem для всех
 
Flux + i bem = bem-store
Flux + i bem = bem-storeFlux + i bem = bem-store
Flux + i bem = bem-store
 
Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionАлександр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in action
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
 
Atomic design
Atomic designAtomic design
Atomic design
 

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

Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Ontico
 
redux: the best for isomorphic apps
redux: the best for isomorphic appsredux: the best for isomorphic apps
redux: the best for isomorphic appsDenis Izmaylov
 
JavaScript завтра
JavaScript завтраJavaScript завтра
JavaScript завтраSergey Rubanov
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)Ontico
 
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едятHappyDev-lite
 
Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.Vladimir Malyk
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17MoscowJS
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиITCrowd Almaty
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Vadim Martynov
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"MskDotNet Community
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg Nenashev
 
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25MoscowJS
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...
Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...
Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...Ilya Slobodin
 
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Ontico
 
Компонент-платформа / Александр Лобашев (Avito)
Компонент-платформа / Александр Лобашев (Avito) Компонент-платформа / Александр Лобашев (Avito)
Компонент-платформа / Александр Лобашев (Avito) Ontico
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 

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

Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
 
redux: the best for isomorphic apps
redux: the best for isomorphic appsredux: the best for isomorphic apps
redux: the best for isomorphic apps
 
JavaScript завтра
JavaScript завтраJavaScript завтра
JavaScript завтра
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
 
Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
 
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...
Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...
Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...
 
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
 
Компонент-платформа / Александр Лобашев (Avito)
Компонент-платформа / Александр Лобашев (Avito) Компонент-платформа / Александр Лобашев (Avito)
Компонент-платформа / Александр Лобашев (Avito)
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 

More from ScrumTrek

Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...ScrumTrek
 
Светлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалСветлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалScrumTrek
 
Александр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumАлександр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumScrumTrek
 
Сергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюСергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюScrumTrek
 
Юрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеЮрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеScrumTrek
 
Анна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиАнна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиScrumTrek
 
TealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыTealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыScrumTrek
 
Анастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRАнастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRScrumTrek
 
Марина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииМарина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииScrumTrek
 
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаАсхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаScrumTrek
 
Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS HugeScrumTrek
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктовScrumTrek
 
Сергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsСергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsScrumTrek
 
Петр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMScrumTrek
 
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсКирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсScrumTrek
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsScrumTrek
 
Асхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиАсхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиScrumTrek
 
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileОлег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileScrumTrek
 
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?ScrumTrek
 
Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?ScrumTrek
 

More from ScrumTrek (20)

Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
 
Светлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалСветлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвал
 
Александр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumАлександр Тупиков. Введение в Scrum
Александр Тупиков. Введение в Scrum
 
Сергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюСергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компанию
 
Юрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеЮрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практике
 
Анна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиАнна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила воли
 
TealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыTealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена команды
 
Анастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRАнастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HR
 
Марина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииМарина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компании
 
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаАсхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
 
Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS Huge
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктов
 
Сергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsСергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOps
 
Петр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRM
 
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсКирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOps
 
Асхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиАсхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудники
 
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileОлег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
 
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
 
Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?
 

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