SlideShare a Scribd company logo
Инструменты для разработки
изоморфных приложений
JavaScript
Преимущества изоморфных
приложений
• Один язык для сервера и клиента
• Первоначальный render любого маршрута
на сервере
• Быстрый переход между страницами
• Хорошо индексируется поисковыми
системами, даже при отключенном
JavaScript
• Скорость разработки
Структура изоморфного приложения
Сервер Клиент
Первый запуск, страница
рендерится на сервере
Присылаются все данные и скрипты
После отрисовки, клиент просчитывает состояние приложения
и сравнивает контрольную сумму, если все ок, то отображение готово
Дальше, обмен данными между приложением и сервером осуществляется
при помощи API
React JS - приемущества
• Его задача View
• Весь DOM рендерится в памяти
• При любом изменении состояния приложения, все потомки
элементов которые изменились, пересчитываются в памяти и
рендерятся только изменения
• При использовании immutable массивов и объектов, происходит
мгновенное сравнение, изменились ли они, даже если изменения
очень глубоко внутри
• Html элементы пишутся в одном jsx файле, стили к компоненту в less
или scss импортируются тут же. Куски html можно хранить в
переменных.
• Все данные приходят из одного единственного хранилища Flux
Flux – что такое
Преемущества Flux
• Одно хранилище = один источник правды
• Все изменения состояния происходят только через Action, которые
проходят через один единственный dispatcher
• Асинхронные операции тоже проводятся через Action
• Все данные получают «Умные компоненты React» которые
подключены к хранилищу, они транслируют всем своим потомкам
«глупым компонентам» через props
• Если хранилище не менялось, то перерисовка не происходит
• Использование Immutable значительно ускоряет работу приложения
Redux – реализация flux
• github.com/reackt/redux
• Легко создавать хранилища, actions,
привязка «умных компонентов» к
хранилищам и actions.
• Удобные инструменты для разработки,
позволяющие «путешествовать во
времени».
• Широкое использование ES6, Immutable
Webpack - преимущества
• Система развертывания приложения,
конкатенирует, сжимает, делает sourcemap
• Применяет изменения на лету, не меняя
состояния приложения.
• Стили less можно импортировать командой
require.
PS
• Инструменты которые я использую…
Pomello
Позволяет чередовать работу и отдых и учитывать время затраченное на карточки trello
Использую систему больших Pomodorro: 52 минуты работы, 17 минут отдыха
SmartGit
• Позволяет видеть изменения в файлах Git
посимвольно
F.lux
• Если на улице темно, то убирает синий оттенок с экрана, что
уменьшает уничтожение мелатонина и позволяет быстро уснуть после
вечерних, ночных посиделок
Vim
• Уменьшает кол-во нажатий функциональных
клавиш
• Исключает использование стрелок и перенос
пальцев с основной позиции
• Настраивается абсолютно все,
автодополнение, раскраска, любые горячие
клавиши
• Самый быстрый редактор, есть на любом
сервере
• Уменьшает использование мыши до 0
Droplr
• Позволяет делать скриншоты и копирует
ссылку в буфер обмена
• Позволяет делать скрин-видео

More Related Content

PDF
React + Redux. Опыт использования
PDF
#5 "React.js" Антон Артамонов
PDF
React.js – intro
PDF
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
PDF
Изоморфные react-приложения
PDF
"Изоморфная разработка на javascript с помощью react.js" Максим Климишин
PDF
Микросервисная архитектура на базе CoreOS и Kubernetes
PDF
Изоморфные React-приложения: производительность и масштабирование
React + Redux. Опыт использования
#5 "React.js" Антон Артамонов
React.js – intro
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
Изоморфные react-приложения
"Изоморфная разработка на javascript с помощью react.js" Максим Климишин
Микросервисная архитектура на базе CoreOS и Kubernetes
Изоморфные React-приложения: производительность и масштабирование

What's hot (19)

PDF
webpack: 7 бед - один ответ
PDF
Актуальные технологии и тренды в веб-разработке
PDF
#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов
PDF
#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов
PDF
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
PDF
"Web Vitals monitoring & optimizations", Erik Himiranov
PDF
"Посмотрим на Акку-Джаву" Дмитрий Мантула
PDF
Максим Пугачев
PPTX
Андрей Чебукин "Построение успешных API"
PDF
"Доклад не про React", Антон Виноградов, MoscowJS 27
PPTX
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
PDF
Денис Измайлов, JavaScript сегодня: React, Redux и новая реальность
PPTX
Test driven development in net
PDF
Svyatoslav Login "How to test authentication and authorization for security"
PPTX
Sql server clr integration
PPTX
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
PPTX
Александр Афенов
PPTX
Angular vs Angular 2 vs React. Сергей Александров
PPTX
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
webpack: 7 бед - один ответ
Актуальные технологии и тренды в веб-разработке
#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов
#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Web Vitals monitoring & optimizations", Erik Himiranov
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Максим Пугачев
Андрей Чебукин "Построение успешных API"
"Доклад не про React", Антон Виноградов, MoscowJS 27
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Денис Измайлов, JavaScript сегодня: React, Redux и новая реальность
Test driven development in net
Svyatoslav Login "How to test authentication and authorization for security"
Sql server clr integration
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Александр Афенов
Angular vs Angular 2 vs React. Сергей Александров
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Ad

Similar to Redux и изоморфные приложения (20)

PDF
Изоморфный JavaScript — будущее уже здесь
PDF
JavaScript сегодня: React, Redux и новая реальность
PDF
redux: the best for isomorphic apps
PDF
LvivJS 2014 - Win-win c React.js
PDF
Adn@it'summer - Изоморфные приложения с React и Redux
PDF
Инструментируй это
PDF
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
PDF
YaC 2013 Notes
PDF
Javascript-фреймворки:
 должен остаться только один
PDF
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
PDF
Фреймворки: недалёкое прошлое и ближайшее будущее
PDF
Kharkiv JS 2015: Боль и радость создания изоморфных приложений на ReactJS (RU)
PDF
Бэкенд, фронтенд — всё смешалось (nodkz)
PDF
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
PDF
Фреймворки: Недалёкое Прошлое и Ближайшее Будущее
PDF
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
PDF
Изоморфные Java script приложения с catberry.js
PDF
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
PDF
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
PDF
Isomorphic React.js (by Maksym Klymyshyn) - Hack'n'Tell JavaScript - 2015.05.16
Изоморфный JavaScript — будущее уже здесь
JavaScript сегодня: React, Redux и новая реальность
redux: the best for isomorphic apps
LvivJS 2014 - Win-win c React.js
Adn@it'summer - Изоморфные приложения с React и Redux
Инструментируй это
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
YaC 2013 Notes
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Фреймворки: недалёкое прошлое и ближайшее будущее
Kharkiv JS 2015: Боль и радость создания изоморфных приложений на ReactJS (RU)
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Фреймворки: Недалёкое Прошлое и Ближайшее Будущее
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
Изоморфные Java script приложения с catberry.js
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
Isomorphic React.js (by Maksym Klymyshyn) - Hack'n'Tell JavaScript - 2015.05.16
Ad

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

  • 2. Преимущества изоморфных приложений • Один язык для сервера и клиента • Первоначальный render любого маршрута на сервере • Быстрый переход между страницами • Хорошо индексируется поисковыми системами, даже при отключенном JavaScript • Скорость разработки
  • 3. Структура изоморфного приложения Сервер Клиент Первый запуск, страница рендерится на сервере Присылаются все данные и скрипты После отрисовки, клиент просчитывает состояние приложения и сравнивает контрольную сумму, если все ок, то отображение готово Дальше, обмен данными между приложением и сервером осуществляется при помощи API
  • 4. React JS - приемущества • Его задача View • Весь DOM рендерится в памяти • При любом изменении состояния приложения, все потомки элементов которые изменились, пересчитываются в памяти и рендерятся только изменения • При использовании immutable массивов и объектов, происходит мгновенное сравнение, изменились ли они, даже если изменения очень глубоко внутри • Html элементы пишутся в одном jsx файле, стили к компоненту в less или scss импортируются тут же. Куски html можно хранить в переменных. • Все данные приходят из одного единственного хранилища Flux
  • 5. Flux – что такое
  • 6. Преемущества Flux • Одно хранилище = один источник правды • Все изменения состояния происходят только через Action, которые проходят через один единственный dispatcher • Асинхронные операции тоже проводятся через Action • Все данные получают «Умные компоненты React» которые подключены к хранилищу, они транслируют всем своим потомкам «глупым компонентам» через props • Если хранилище не менялось, то перерисовка не происходит • Использование Immutable значительно ускоряет работу приложения
  • 7. Redux – реализация flux • github.com/reackt/redux • Легко создавать хранилища, actions, привязка «умных компонентов» к хранилищам и actions. • Удобные инструменты для разработки, позволяющие «путешествовать во времени». • Широкое использование ES6, Immutable
  • 8. Webpack - преимущества • Система развертывания приложения, конкатенирует, сжимает, делает sourcemap • Применяет изменения на лету, не меняя состояния приложения. • Стили less можно импортировать командой require.
  • 10. Pomello Позволяет чередовать работу и отдых и учитывать время затраченное на карточки trello Использую систему больших Pomodorro: 52 минуты работы, 17 минут отдыха
  • 11. SmartGit • Позволяет видеть изменения в файлах Git посимвольно
  • 12. F.lux • Если на улице темно, то убирает синий оттенок с экрана, что уменьшает уничтожение мелатонина и позволяет быстро уснуть после вечерних, ночных посиделок
  • 13. Vim • Уменьшает кол-во нажатий функциональных клавиш • Исключает использование стрелок и перенос пальцев с основной позиции • Настраивается абсолютно все, автодополнение, раскраска, любые горячие клавиши • Самый быстрый редактор, есть на любом сервере • Уменьшает использование мыши до 0
  • 14. Droplr • Позволяет делать скриншоты и копирует ссылку в буфер обмена • Позволяет делать скрин-видео