SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
ИЗОМОРФНЫЕ
ПРИЛОЖЕНИЯ
С REACT
И REDUX
adn.agency
1. Исполняется в различных окружениях
2. Гарантирует одно поведение
3. Справляется с разностью окружений
через абстракции
2Что такое Изоморфный
Javascript?
3Что он нам дает?
1. Мы можем создать изоморфный Web UI
2. Поддерживает SEO
3. Работает как SPA
4. Единая языковая среда
5. Максимально переиспользуемый код
6. Прирост производительности на старте
4Что он нам не дает?
1. Не работает с хранилищами, работает
как правило с RESTfull API
2. Чаще всего используется для Web UI
3. Не включает код для обеспечения
безопасности
5
React — это JavaScript
библиотека, которая
используется для
создания
пользовательских
интерфейсов
6Структура приложения
public/
htmlString.js
src/
components/
AddTodo.jsx
Todo.jsx
TodoList.jsx
app.js
index.js
server.js
package.json
7App.js
Начальное состояние
компонента
Функция добавления новой
задачи
8AddTodo.jsx
Функция отправки даных
формы. Вызывает callback
функции добавления новой
задачи
9Server.js
10htmlString.js
Функция, которая рендерит
компоненту в html строку
11
Чего 

не хватает

React?
12Движение данных
MODEL
MODEL
VIEW
VIEW
VIEW
13
MODEL
MODEL
VIEW
VIEW
VIEW
Движение данных
14
Flux
15Что же такое Flux?
Action
Dispatcher
Store
View API
Flux — это архитектура,
которую команда Facebook
использует при работе с
React. Это не фреймворк, 

или библиотека, это новый
архитектурный подход,
который дополняет React 

и принцип однонаправленного
потока данных.
16Action / Действие
Action
Dispatcher
Store
View API
Действие — это набор
методов, которые
вызываются из
Представлений (или из
любых других мест),
чтобы отправить
Действия Диспетчеру.
17Dispatcher / Диспетчер
Action
Dispatcher
Store
View API
В сущности, Диспетчер
— это менеджер всего
этого процесса. Это
центральный узел
вашего приложения.
Диспетчер получает 

на вход действия 

и рассылает эти
действия (и связанные 

с ними данные)
зарегистрированным
обработчикам.
18Stores / Хранилища
Action
Dispatcher
Store
View API
Хранилища в Flux управляют
состоянием определенных
частей предметной области
вашего приложения. 

На более высоком уровне
это означает, что Хранилища
хранят данные, методы
получения этих данных 

и зарегистрированные 

в Диспетчере обработчики
Действий.
19Controller Views / Представления
Action
Dispatcher
Store
View API
Представления — это всего
лишь React-компоненты,
которые подписаны 

на событие «change» 

и получают состояние
приложения из Хранилищ.
20Структура приложения
app/
actions/
AppActions.js
components/
AddTodo.jsx
Todo.jsx
TodoList.jsx
constants/
AppConstants.js
dispatcher/
AppDispatcher.js
stores/
TodoStore.js
App.js
todo.js
21App.js
Обработчик событий изменения
Store
Подписываемся на событие
изменения Store
22AddTodo.jsx
Обработчик событий отправки
форм. Вызывает Action который
добавляет задачу
23AppActions.js
Action добавление новой задачи
24TodoStore.js
Обработчик события изменения
состояния приложения
Диспетчер, который
обрабатывает это событие
25AppDispatcher.js
Диспетчер приложения
26
Зачем
менять
Flux?
27Проблема №1. Код хранилищ не может быть
перезагружен без обнуления состояния.
todos: [`eat`, `sleep`]
addTodo: function(todo) {
//add to back
}
todos: [ ]
addTodo: function(todo) {
//add to front
}
todos: [`eat`, `sleep`]
addTodo: function(todo) {
//add to back
}
todos: [`eat`, `sleep`]
addTodo: function(todo) {
//add to front
}
28
Action 1
State
Action 2 Action 3 Action 1
State 2
Action 2 Action 3
State 2State 1
Проблема №2. Состояние перезаписывается при
каждом действии.
29Проблема №3. Нет правильных “мест” для сторонних
плагинов.
Log
Store
Dispatcher
StoreStore
Log
Dispatch
Reducer
ReducerReducer
ReducerReducerReducerReducer
30
Redux
Store
Reducer
UIAction Reducer
Reducer
31Структура приложения
app/
actions/
AppActions.js
components/
AddTodo.jsx
Todo.jsx
TodoList.jsx
constants/
AppConstants.js
redusers/
redusers.js
App.js
Todo.js
32App.js
Функция, которая берет
значения из глобального Store
33AddTodo.jsx
Обработчик событий отправки
форм. Вызывает Action который
добавляет задачу
34AppActions.js
35redusers.js
Изменяет Store в зависимости
от переданного Action
Технический директор ADN digital studio
Михаил Полев
mihail@adn.agency
Спасибо
за внимание!
goo.gl/d47OoO
Ссылка на презентацию:
37
hi@adn.agency

Mais conteúdo relacionado

Destaque

Brand boost by wildtangent
Brand boost by wildtangentBrand boost by wildtangent
Brand boost by wildtangentWildTangent
 
Brand boost by wildtangent
Brand boost by wildtangentBrand boost by wildtangent
Brand boost by wildtangentWildTangent
 
Newsletter №116
Newsletter №116Newsletter №116
Newsletter №116IWILL
 
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...Artics Internet Solutions
 
Carrie Bradshaw is Back: Sarah Jessica Parker + Cosmopolitan #CannesLions 201...
Carrie Bradshaw is Back: Sarah Jessica Parker + Cosmopolitan #CannesLions 201...Carrie Bradshaw is Back: Sarah Jessica Parker + Cosmopolitan #CannesLions 201...
Carrie Bradshaw is Back: Sarah Jessica Parker + Cosmopolitan #CannesLions 201...Ogilvy
 
CV (Curriculum Vitae) - Ulrike Schulz
CV (Curriculum Vitae) - Ulrike SchulzCV (Curriculum Vitae) - Ulrike Schulz
CV (Curriculum Vitae) - Ulrike SchulzPublicis Groupe
 
What's Next in Social... — Social Data & Insight
What's Next in Social... — Social Data & InsightWhat's Next in Social... — Social Data & Insight
What's Next in Social... — Social Data & InsightDigitasLBi
 
Notamedia_about us
Notamedia_about usNotamedia_about us
Notamedia_about usNotamedia
 
Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают
Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают
Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают ADN Digital Studio
 
Москва, которой нет
Москва, которой нетМосква, которой нет
Москва, которой нетNotamedia
 
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...Artics Internet Solutions
 
A brand A Story A Channel An Audience?
A brand A Story A Channel An Audience?A brand A Story A Channel An Audience?
A brand A Story A Channel An Audience?Tribal DDB Worldwide
 
Андрей Волков. Радио «КАПИТАН ОЧЕВИДНОСТЬ»
Андрей Волков. Радио «КАПИТАН ОЧЕВИДНОСТЬ»Андрей Волков. Радио «КАПИТАН ОЧЕВИДНОСТЬ»
Андрей Волков. Радио «КАПИТАН ОЧЕВИДНОСТЬ»GRAPE
 
Alexander Alexeev Interview
Alexander Alexeev InterviewAlexander Alexeev Interview
Alexander Alexeev InterviewPublicis Russia
 
Hemlock Grove. A Digital Strategy.
Hemlock Grove. A Digital Strategy.Hemlock Grove. A Digital Strategy.
Hemlock Grove. A Digital Strategy.Chris Yeoh
 
Как геопозиционирование помогает вашему бизнесу. От карт до сервисов.
Как геопозиционирование помогает вашему бизнесу. От карт до сервисов.Как геопозиционирование помогает вашему бизнесу. От карт до сервисов.
Как геопозиционирование помогает вашему бизнесу. От карт до сервисов.Интернет-агентство Легион
 

Destaque (20)

myTarget: Mobile 2016
myTarget: Mobile 2016myTarget: Mobile 2016
myTarget: Mobile 2016
 
SxSW 2015: Key Insights
SxSW 2015: Key InsightsSxSW 2015: Key Insights
SxSW 2015: Key Insights
 
Brand boost by wildtangent
Brand boost by wildtangentBrand boost by wildtangent
Brand boost by wildtangent
 
Brand boost by wildtangent
Brand boost by wildtangentBrand boost by wildtangent
Brand boost by wildtangent
 
Newsletter №116
Newsletter №116Newsletter №116
Newsletter №116
 
Кейс ABBYY PDF Transformer+
Кейс ABBYY PDF Transformer+ Кейс ABBYY PDF Transformer+
Кейс ABBYY PDF Transformer+
 
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
 
Carrie Bradshaw is Back: Sarah Jessica Parker + Cosmopolitan #CannesLions 201...
Carrie Bradshaw is Back: Sarah Jessica Parker + Cosmopolitan #CannesLions 201...Carrie Bradshaw is Back: Sarah Jessica Parker + Cosmopolitan #CannesLions 201...
Carrie Bradshaw is Back: Sarah Jessica Parker + Cosmopolitan #CannesLions 201...
 
Dalee Pharma
Dalee PharmaDalee Pharma
Dalee Pharma
 
CV (Curriculum Vitae) - Ulrike Schulz
CV (Curriculum Vitae) - Ulrike SchulzCV (Curriculum Vitae) - Ulrike Schulz
CV (Curriculum Vitae) - Ulrike Schulz
 
What's Next in Social... — Social Data & Insight
What's Next in Social... — Social Data & InsightWhat's Next in Social... — Social Data & Insight
What's Next in Social... — Social Data & Insight
 
Notamedia_about us
Notamedia_about usNotamedia_about us
Notamedia_about us
 
Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают
Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают
Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают
 
Москва, которой нет
Москва, которой нетМосква, которой нет
Москва, которой нет
 
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
Бизнес-завтрак "Недвижимость: возможности digital-маркетинга, которые больше ...
 
A brand A Story A Channel An Audience?
A brand A Story A Channel An Audience?A brand A Story A Channel An Audience?
A brand A Story A Channel An Audience?
 
Андрей Волков. Радио «КАПИТАН ОЧЕВИДНОСТЬ»
Андрей Волков. Радио «КАПИТАН ОЧЕВИДНОСТЬ»Андрей Волков. Радио «КАПИТАН ОЧЕВИДНОСТЬ»
Андрей Волков. Радио «КАПИТАН ОЧЕВИДНОСТЬ»
 
Alexander Alexeev Interview
Alexander Alexeev InterviewAlexander Alexeev Interview
Alexander Alexeev Interview
 
Hemlock Grove. A Digital Strategy.
Hemlock Grove. A Digital Strategy.Hemlock Grove. A Digital Strategy.
Hemlock Grove. A Digital Strategy.
 
Как геопозиционирование помогает вашему бизнесу. От карт до сервисов.
Как геопозиционирование помогает вашему бизнесу. От карт до сервисов.Как геопозиционирование помогает вашему бизнесу. От карт до сервисов.
Как геопозиционирование помогает вашему бизнесу. От карт до сервисов.
 

Semelhante a Adn@it'summer - Изоморфные приложения с React и Redux

LvivJS 2014 - Win-win c React.js
LvivJS 2014 - Win-win c React.jsLvivJS 2014 - Win-win c React.js
LvivJS 2014 - Win-win c React.jsMax Klymyshyn
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Fwdays
 
Создаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад ПлотникСоздаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад ПлотникSigma Software
 
FrontDays #1. Алексей Ульянов, React.js и методологии разработки на нём
FrontDays #1. Алексей Ульянов, React.js и методологии разработки на нёмFrontDays #1. Алексей Ульянов, React.js и методологии разработки на нём
FrontDays #1. Алексей Ульянов, React.js и методологии разработки на нёмFrontDays
 
Redux и изоморфные приложения
Redux и изоморфные приложенияRedux и изоморфные приложения
Redux и изоморфные приложенияJohn Wezel
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.Igor Shkulipa
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25MoscowJS
 
redux: the best for isomorphic apps
redux: the best for isomorphic appsredux: the best for isomorphic apps
redux: the best for isomorphic appsDenis Izmaylov
 
Артем Тритяк, Lead Front-End developer в Electric Cloud
 Артем Тритяк, Lead Front-End developer в Electric Cloud Артем Тритяк, Lead Front-End developer в Electric Cloud
Артем Тритяк, Lead Front-End developer в Electric CloudProvectus
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"MskDotNet Community
 
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаРазработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаDotNetConf
 
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаРазработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаDenis Tsvettsih
 
Лекция 4
Лекция 4Лекция 4
Лекция 4itc73
 
Оптимизация react+redux приложений | Odessa Frontend Meetup #7
Оптимизация react+redux приложений | Odessa Frontend Meetup #7Оптимизация react+redux приложений | Odessa Frontend Meetup #7
Оптимизация react+redux приложений | Odessa Frontend Meetup #7OdessaFrontend
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsLEDC 2016
 
Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCAndrew Mayorov
 

Semelhante a Adn@it'summer - Изоморфные приложения с React и Redux (20)

LvivJS 2014 - Win-win c React.js
LvivJS 2014 - Win-win c React.jsLvivJS 2014 - Win-win c React.js
LvivJS 2014 - Win-win c React.js
 
RichFaces: обзор
RichFaces: обзорRichFaces: обзор
RichFaces: обзор
 
MWWM
MWWMMWWM
MWWM
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
 
Создаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад ПлотникСоздаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
 
FrontDays #1. Алексей Ульянов, React.js и методологии разработки на нём
FrontDays #1. Алексей Ульянов, React.js и методологии разработки на нёмFrontDays #1. Алексей Ульянов, React.js и методологии разработки на нём
FrontDays #1. Алексей Ульянов, React.js и методологии разработки на нём
 
Redux и изоморфные приложения
Redux и изоморфные приложенияRedux и изоморфные приложения
Redux и изоморфные приложения
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
 
redux: the best for isomorphic apps
redux: the best for isomorphic appsredux: the best for isomorphic apps
redux: the best for isomorphic apps
 
Артем Тритяк, Lead Front-End developer в Electric Cloud
 Артем Тритяк, Lead Front-End developer в Electric Cloud Артем Тритяк, Lead Front-End developer в Electric Cloud
Артем Тритяк, Lead Front-End developer в Electric Cloud
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаРазработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
 
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаРазработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
 
Лекция 4
Лекция 4Лекция 4
Лекция 4
 
Оптимизация react+redux приложений | Odessa Frontend Meetup #7
Оптимизация react+redux приложений | Odessa Frontend Meetup #7Оптимизация react+redux приложений | Odessa Frontend Meetup #7
Оптимизация react+redux приложений | Odessa Frontend Meetup #7
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
 
Yii rit 2010
Yii rit 2010Yii rit 2010
Yii rit 2010
 
Spring Boot Ripper
Spring Boot RipperSpring Boot Ripper
Spring Boot Ripper
 
Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVC
 

Mais de ADN Digital Studio

ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...ADN Digital Studio
 
ADN @ UI/UX Design Meetup Barnaul - «Проектирование с точки зрения дизайна»
ADN @ UI/UX Design Meetup Barnaul - «Проектирование с точки зрения дизайна»ADN @ UI/UX Design Meetup Barnaul - «Проектирование с точки зрения дизайна»
ADN @ UI/UX Design Meetup Barnaul - «Проектирование с точки зрения дизайна»ADN Digital Studio
 
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...ADN Digital Studio
 
Интернет-маркетинг в 2016 году
Интернет-маркетинг в 2016 годуИнтернет-маркетинг в 2016 году
Интернет-маркетинг в 2016 годуADN Digital Studio
 
Что такое адаптивный сайт и кому он нужен
Что такое адаптивный сайт и кому он нуженЧто такое адаптивный сайт и кому он нужен
Что такое адаптивный сайт и кому он нуженADN Digital Studio
 
Корпоративный сайт нашего времени: лучшие технологии «1С-Битрикс» для бизнеса
Корпоративный сайт нашего времени: лучшие технологии «1С-Битрикс» для бизнесаКорпоративный сайт нашего времени: лучшие технологии «1С-Битрикс» для бизнеса
Корпоративный сайт нашего времени: лучшие технологии «1С-Битрикс» для бизнесаADN Digital Studio
 

Mais de ADN Digital Studio (6)

ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
 
ADN @ UI/UX Design Meetup Barnaul - «Проектирование с точки зрения дизайна»
ADN @ UI/UX Design Meetup Barnaul - «Проектирование с точки зрения дизайна»ADN @ UI/UX Design Meetup Barnaul - «Проектирование с точки зрения дизайна»
ADN @ UI/UX Design Meetup Barnaul - «Проектирование с точки зрения дизайна»
 
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
 
Интернет-маркетинг в 2016 году
Интернет-маркетинг в 2016 годуИнтернет-маркетинг в 2016 году
Интернет-маркетинг в 2016 году
 
Что такое адаптивный сайт и кому он нужен
Что такое адаптивный сайт и кому он нуженЧто такое адаптивный сайт и кому он нужен
Что такое адаптивный сайт и кому он нужен
 
Корпоративный сайт нашего времени: лучшие технологии «1С-Битрикс» для бизнеса
Корпоративный сайт нашего времени: лучшие технологии «1С-Битрикс» для бизнесаКорпоративный сайт нашего времени: лучшие технологии «1С-Битрикс» для бизнеса
Корпоративный сайт нашего времени: лучшие технологии «1С-Битрикс» для бизнеса
 

Adn@it'summer - Изоморфные приложения с React и Redux