SlideShare a Scribd company logo
REACTJS
A JAVASCRIPT LIBRARY FOR
BUILDING USER INTERFACES
/nvnoskov @nvnoskov
ReactJS это не "ещё один JS-framework".
AngularJS, EmberJS, Knockout, Backbone
ЗАДАЧИ REACTJS
Рендер интерфейса
Реакция на события
VIRTUAL DOM
React рендерит документ в памяти при изменении
данных.
В DOM-е только отражаются только минимально
необходимые изменённия.
THINKING IN REACTJS
→
FilterableProductTable (оранжевый): Основной компонент примера
SearchBar (синий): пользовательский ввод (поиск)
ProductTable (зеленый): Отображает и фильтрует данные основываясь на поиск
ProductCategoryRow (голубой): Категория
ProductRow (красный): отображает строку с данными
ONE WAY DATA-BINDING
JSX:
JS:
JSX
render: function () {
  return <div classname="divider">
    Текст
    <hr>
  </div>;
}
render: function () {
  return React.DOM.div({className:"divider"},
    "Текст",
    React.DOM.hr()
  );
}
FLUX
FLUX
Dispatcher
Actions
Store
Components
Constants
ПОЛЕЗНЫЕ ССЫЛКИ
Thinking in React
Flux – Chat
Awesome React
СПАСИБО ЗА ВНИМАНИЕ!
ВОПРОСЫ?
nikolay@noskov.kz
http://facebook.com/nvnoskov
@nvnoskov
Ad

Recommended

Реалтзация связанных списков в CMS Plone
Реалтзация связанных списков в CMS Plone
Sergey Greger
 
Безболезненный Fallback cache на Scala / Олег Нижников (Tinkoff.ru)
Безболезненный Fallback cache на Scala / Олег Нижников (Tinkoff.ru)
Ontico
 
Как не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кода
tfmailru
 
Jsfwdays 2013-2
Jsfwdays 2013-2
Pavlo Iuriichuk
 
Windows Azure Storage services
Windows Azure Storage services
Pavel Revenkov
 
томск
томск
Надежда Мусиенко
 
Rich text editing with Draft.js
Rich text editing with Draft.js
Nikolaus Graf
 
React & Redux in Hulu
React & Redux in Hulu
Morgan Cheng
 
На плаву!
На плаву!
ITCrowd Almaty
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
Обучение фронтенд разработке
Обучение фронтенд разработке
ITCrowd Almaty
 
Web Performance в Казнете
Web Performance в Казнете
ITCrowd Almaty
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
ITCrowd Almaty
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
ITCrowd Almaty
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
ITCrowd Almaty
 
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
ITCrowd Almaty
 
Вредные советы для разработчиков
Вредные советы для разработчиков
ITCrowd Almaty
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используют
ITCrowd Almaty
 
Чем бесят программисты
Чем бесят программисты
ITCrowd Almaty
 
ITCrowd 2 - Разработка крупного проекта в команде
ITCrowd 2 - Разработка крупного проекта в команде
ITCrowd Almaty
 
Александр Трищенко: Phalcon framework
Александр Трищенко: Phalcon framework
Oleg Poludnenko
 
Доклад "React under the hood"
Доклад "React under the hood"
Kateryna Porshnieva
 
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Fedor Lavrentyev
 
MongoDB basics in Russian
MongoDB basics in Russian
Oleg Kachan
 
Артем Тритяк, Lead Front-End developer в Electric Cloud
Артем Тритяк, Lead Front-End developer в Electric Cloud
Provectus
 
Основы Java. 5. Databases
Основы Java. 5. Databases
Sergey Nemchinsky
 
ReactJS: Свет в конце тоннеля
ReactJS: Свет в конце тоннеля
Rinat Abdullin
 
LvivJS 2014 - Win-win c React.js
LvivJS 2014 - Win-win c React.js
Max Klymyshyn
 
Backbone.js Профилактика сколиоза
Backbone.js Профилактика сколиоза
MitinPavel
 
SQL Server Denali
SQL Server Denali
Денис Резник
 

More Related Content

Viewers also liked (13)

На плаву!
На плаву!
ITCrowd Almaty
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
Обучение фронтенд разработке
Обучение фронтенд разработке
ITCrowd Almaty
 
Web Performance в Казнете
Web Performance в Казнете
ITCrowd Almaty
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
ITCrowd Almaty
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
ITCrowd Almaty
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
ITCrowd Almaty
 
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
ITCrowd Almaty
 
Вредные советы для разработчиков
Вредные советы для разработчиков
ITCrowd Almaty
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используют
ITCrowd Almaty
 
Чем бесят программисты
Чем бесят программисты
ITCrowd Almaty
 
ITCrowd 2 - Разработка крупного проекта в команде
ITCrowd 2 - Разработка крупного проекта в команде
ITCrowd Almaty
 
Александр Трищенко: Phalcon framework
Александр Трищенко: Phalcon framework
Oleg Poludnenko
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
Обучение фронтенд разработке
Обучение фронтенд разработке
ITCrowd Almaty
 
Web Performance в Казнете
Web Performance в Казнете
ITCrowd Almaty
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
ITCrowd Almaty
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
ITCrowd Almaty
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
ITCrowd Almaty
 
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
ITCrowd Almaty
 
Вредные советы для разработчиков
Вредные советы для разработчиков
ITCrowd Almaty
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используют
ITCrowd Almaty
 
Чем бесят программисты
Чем бесят программисты
ITCrowd Almaty
 
ITCrowd 2 - Разработка крупного проекта в команде
ITCrowd 2 - Разработка крупного проекта в команде
ITCrowd Almaty
 
Александр Трищенко: Phalcon framework
Александр Трищенко: Phalcon framework
Oleg Poludnenko
 

Similar to React + Flux (20)

Доклад "React under the hood"
Доклад "React under the hood"
Kateryna Porshnieva
 
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Fedor Lavrentyev
 
MongoDB basics in Russian
MongoDB basics in Russian
Oleg Kachan
 
Артем Тритяк, Lead Front-End developer в Electric Cloud
Артем Тритяк, Lead Front-End developer в Electric Cloud
Provectus
 
Основы Java. 5. Databases
Основы Java. 5. Databases
Sergey Nemchinsky
 
ReactJS: Свет в конце тоннеля
ReactJS: Свет в конце тоннеля
Rinat Abdullin
 
LvivJS 2014 - Win-win c React.js
LvivJS 2014 - Win-win c React.js
Max Klymyshyn
 
Backbone.js Профилактика сколиоза
Backbone.js Профилактика сколиоза
MitinPavel
 
SQL Server Denali
SQL Server Denali
Денис Резник
 
JavaScript Базовый. Занятие 11.
JavaScript Базовый. Занятие 11.
Igor Shkulipa
 
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
it-people
 
basis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворк
Roman Dvornov
 
Nosql and Mongodb
Nosql and Mongodb
Eduard Antsupov
 
Рендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей Солодовников
DevDay
 
Multimodel Database Caché
Multimodel Database Caché
Timur Safin
 
Java осень 2013 лекция 8
Java осень 2013 лекция 8
Technopark
 
Java осень 2014 занятие 8
Java осень 2014 занятие 8
Technopark
 
Underscore js
Underscore js
Olya Nosova
 
Backbone js
Backbone js
Eugene Solovyov
 
Новости Global summit 2015
Новости Global summit 2015
Timur Safin
 
Доклад "React under the hood"
Доклад "React under the hood"
Kateryna Porshnieva
 
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Fedor Lavrentyev
 
MongoDB basics in Russian
MongoDB basics in Russian
Oleg Kachan
 
Артем Тритяк, Lead Front-End developer в Electric Cloud
Артем Тритяк, Lead Front-End developer в Electric Cloud
Provectus
 
Основы Java. 5. Databases
Основы Java. 5. Databases
Sergey Nemchinsky
 
ReactJS: Свет в конце тоннеля
ReactJS: Свет в конце тоннеля
Rinat Abdullin
 
LvivJS 2014 - Win-win c React.js
LvivJS 2014 - Win-win c React.js
Max Klymyshyn
 
Backbone.js Профилактика сколиоза
Backbone.js Профилактика сколиоза
MitinPavel
 
JavaScript Базовый. Занятие 11.
JavaScript Базовый. Занятие 11.
Igor Shkulipa
 
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
it-people
 
basis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворк
Roman Dvornov
 
Рендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей Солодовников
DevDay
 
Multimodel Database Caché
Multimodel Database Caché
Timur Safin
 
Java осень 2013 лекция 8
Java осень 2013 лекция 8
Technopark
 
Java осень 2014 занятие 8
Java осень 2014 занятие 8
Technopark
 
Новости Global summit 2015
Новости Global summit 2015
Timur Safin
 
Ad

More from ITCrowd Almaty (10)

Система управления конфигурациями Ansible
Система управления конфигурациями Ansible
ITCrowd Almaty
 
Система мониторинга Zabbix
Система мониторинга Zabbix
ITCrowd Almaty
 
WatchKit 101
WatchKit 101
ITCrowd Almaty
 
AngularJS
AngularJS
ITCrowd Almaty
 
Designer ≠ дизайнер
Designer ≠ дизайнер
ITCrowd Almaty
 
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
ITCrowd Almaty
 
ITCrowd - Метапрограммирование
ITCrowd - Метапрограммирование
ITCrowd Almaty
 
ITCrowd - Потенциал казахоязычной аудитории РК
ITCrowd - Потенциал казахоязычной аудитории РК
ITCrowd Almaty
 
ITCrowd - Почему и как я стал фрилансером?
ITCrowd - Почему и как я стал фрилансером?
ITCrowd Almaty
 
ITCrowd - Правильная структура лендинга
ITCrowd - Правильная структура лендинга
ITCrowd Almaty
 
Система управления конфигурациями Ansible
Система управления конфигурациями Ansible
ITCrowd Almaty
 
Система мониторинга Zabbix
Система мониторинга Zabbix
ITCrowd Almaty
 
Designer ≠ дизайнер
Designer ≠ дизайнер
ITCrowd Almaty
 
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
ITCrowd Almaty
 
ITCrowd - Метапрограммирование
ITCrowd - Метапрограммирование
ITCrowd Almaty
 
ITCrowd - Потенциал казахоязычной аудитории РК
ITCrowd - Потенциал казахоязычной аудитории РК
ITCrowd Almaty
 
ITCrowd - Почему и как я стал фрилансером?
ITCrowd - Почему и как я стал фрилансером?
ITCrowd Almaty
 
ITCrowd - Правильная структура лендинга
ITCrowd - Правильная структура лендинга
ITCrowd Almaty
 
Ad

React + Flux