SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Ртищев Евгений
Мобильная платформа на ReactNative
Сбербанк
1) ВСП
2) Банкоматы
3) Сайт
4) Мобильный банк
5) Колл-центр
6) Мобильные приложения
1) Вклады
2) Карты
3) Активные операции
4) Страхование
5) CIB
6) Пенсионный фонд
2
Какие задачи нужно решить?
1) Web и mobile приложения
2) Единый интерфейс
3) Унификация стека
4) Минимизация затрат
5) Быстрый перенос
6) Быстрый time-to-market
3
Содержание
1) ReactNative
2) Наше решение
3) Архитектура
4) Производительность
5) Оптимизации
6) Результаты
4
ReactNative 0.38
5
500+ приложений в Store
6
React
1) Декларативный
2) Компонентный
3) VirtualDOM
7
ReactNative
1) Нативное приложение
2) Flexbox
3) Hot + Live Reloading
4) Code Push
8
ReactNative
"Code once run everywhere"
But
"Learn one code write everywhere"
9
Унификация стека разработчика
10
1) JavaScript
2) React
3) Redux (Flux)
4) Relay
Переиспользуемость
11
85% переиспользования кода при переносе
с iOs на Android
(c) Facebook
12
1) UI thread
2) Shadow thread (Flexbox layout)
3) JS thread
Runtime
Runtime
13
VirtualDOM
14
React: VirtualDOM -> DOM
ReactNative: VirtualDOM -> UIView
React: CSS, CSS-Module, React-Styles
ReactNative: React-Styles
Flexbox
15
сlass FlexExample extends Component {
render() {
return (
<View style={{flex: 1, flexDirection: 'row'}}>
<View style={{
width: 50,
height: 50,
backgroundColor: 'powderblue'
}} />
<View style={{
width: 50,
height: 50,
backgroundColor: 'skyblue'
}} />
<View style={{
width: 50,
height: 50,
backgroundColor: 'steelblue'
}} />
</View>
);
}
};
Flexbox
16
CSSLayout
17
CSSLayout -> CSSNode
ReactNative -> ShadowView
1) CSS
2) Синтаксис свойств
3) Значения по умолчанию
4) Размеры в px
5) Абсолютные значения
Наше решение
18
1) Web и mobile приложения
2) Унификация стека
3) Единый интерфейс
4) Минимизация затрат
5) Быстрый перенос
6) Быстрый time-to-market
Предпосылки
1) Legacy-системы для web
2) Отсутсвие iOs-разработчиков
3) Большое количество JS-разработчиков
Cordova / PhoneGap?
1) Не нативный интерфейс
2) Ограниченность нативного API
3) Сильная зависимость от технологии
ReactNative
1) React
2) Компонентный
3) React + Redux
Компонентный подход
22
mobile
web
Проект N
.
.
.
ПроектыБиблиотека компонентов
1) Единая точка входа
2) Навигация
3) Кнопки
4) Текстовые поля
5) Видео-плеер
6) Элементы выбора
7) Системный АПИ
8) Работа с сетью
…
Кросс-платформенная библиотека
23
mobile
web
Проект N
.
.
.
JavaScriptJavaScript
APIкомпонентов
iOs
Web
Objc-C + ReactNative
JavaScript + React
Типы компонентов
Визуальный Не визуальный / Сервис
Компонент
<View>
<TextInput>
<Button>
<Video>
fetch()
get()
post()
log()
24
Создаем визуальный компонент
TextInput.m
TextInput.h
Obj-C
TextInputViewManager.h
TextInputViewManager.m
Obj-C
TextInput.js
JavaScript
+ +
25
Создаем TextInput
Normal
Active
Disabled
26
Создаем TextInput
1) placeholder
2) text
3) onChange
4) disabled
27
TextInput.h
28
TextInput.m
29
1) Xib + init
2) UITextField
3) UILabel
4) setText -> UITextField.text
5) setPlaceholder -> UILabel.text
6) UITextFieldTextDidChangeNotification -> onChange
TextInputViewManager.m
30
TextInput.js
31
Используем TextInput
32
1) SOLID?
2) где Controller?
3) какая архитектура?
Что плохо?
33
3-уровневая архитектура
34
35
Assembly
View
Interactor
Presenter
3-уровневая архитектура
VIP
ConnectionService
FileService
CacheService
SOA
ViewManager
UIView+React
ShadowView
.js
Bridge
36
Уровень прикладной архитектуры
React Redux
+
JavaScript
+
ufs-library
+
37
Немного магии
38
Производительность
MessageQueue.js
1) Управление View
2) Обработка действий пользователя
3) Сетевое взаимодействие
4) Запись в файл
5) Анимации
39
MessageQueue + Spy
40
ListView
41
Не UITableView. Почему?
MessageQueue Obj-cJS
update update
MessageQueue Obj-cJS
cell?cell?
MessageQueue Obj-cJS
JSX cell
ListView
Как быть?
1) Грузить в память
2) Парсить JSX самостоятельно
Советы по оптимизации
1) Не нагружать MessageQueue
2) Нативные анимации
3) Native modules / Web workers
4) Lazy require, laze native modules
5) Лишние render()
6) ASCII в JavaScriptCore, не UTF-8
7) Убираем JS _DEV_
8) No batches
43
Подводим итоги
44
1) Web и mobile приложения
2) Унификация стека
3) Единый интерфейс
4) Минимизация затрат
5) Быстрый перенос
6) Быстрый time-to-market
Задача выполнена
45
Что хорошего в ReactNative?
1) Это работает :)
2) Flexbox
3) Hot+Live Reloading
4) Time travel
5) Code Push
6) Sandbox
46
Что плохого в ReactNative?
1) Beta
2) Производительность
3) Heap size
4) Debugging
5) Архитектура
6) Тестирование
47
Use or not to use?
48
СПАСИБО ЗА ВНИМАНИЕ!
email: e.rtishchev@gmail.com
phone: + 7 964 797 15 40
Полезные ссылки
1) Официальная страница ReactNative:
https://facebook.github.io/react-native/
2) Список проектов, использующий ReactNative:
https://facebook.github.io/react-native/showcase.html
3) Поддерживаемые спецификации JS
https://facebook.github.io/react-native/docs/javascript-environment.html
4) CSSLayout
https://github.com/facebook/css-layout
5) Создание F8
http://makeitopen.com/tutorials/building-the-f8-app/planning/
5050
Полезные ссылки
51
6) MessageQueue.js
https://medium.com/@rotemmiz/react-native-internals-a-wider-picture-
part-1-messagequeue-js-thread-7894a7cba868#.a8ujgnqc7
7) Тесты производительности
https://code.facebook.com/posts/895897210527114/dive-into-react-
native-performance/
8) Удалённый симулятор
https://appetize.io/

Weitere ähnliche Inhalte

Was ist angesagt?

20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
Unigine Corp.
 
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Ontico
 

Was ist angesagt? (20)

knockout.js
knockout.jsknockout.js
knockout.js
 
Rambler.iOS #1: Nimbus Kit Models
Rambler.iOS #1: Nimbus Kit ModelsRambler.iOS #1: Nimbus Kit Models
Rambler.iOS #1: Nimbus Kit Models
 
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
 
Rambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPERRambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPER
 
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)
 
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
 
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)
 
A.pleshkov
A.pleshkovA.pleshkov
A.pleshkov
 
QA Fest 2016. Татьяна Люлюченко. Немного о мобильных браузерах
QA Fest 2016. Татьяна Люлюченко. Немного о мобильных браузерахQA Fest 2016. Татьяна Люлюченко. Немного о мобильных браузерах
QA Fest 2016. Татьяна Люлюченко. Немного о мобильных браузерах
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
 
Применение CQRS и EventSourcing в DDD-проекте
Применение CQRS и EventSourcing в DDD-проектеПрименение CQRS и EventSourcing в DDD-проекте
Применение CQRS и EventSourcing в DDD-проекте
 
55+1 прием для улучшения Javascript-кода / Татьяна Бабич (Simbirsoft)
55+1 прием для улучшения Javascript-кода / Татьяна Бабич (Simbirsoft)55+1 прием для улучшения Javascript-кода / Татьяна Бабич (Simbirsoft)
55+1 прием для улучшения Javascript-кода / Татьяна Бабич (Simbirsoft)
 
Модульная архитектура Сбербанк Онлайн, Владимир Озеров и Александр Черушнико...
Модульная архитектура Сбербанк Онлайн, Владимир Озеров и Александр Черушнико...Модульная архитектура Сбербанк Онлайн, Владимир Озеров и Александр Черушнико...
Модульная архитектура Сбербанк Онлайн, Владимир Озеров и Александр Черушнико...
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Telerik Web aii
Telerik Web aiiTelerik Web aii
Telerik Web aii
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMKNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork Enterprise
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
 
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
 

Andere mochten auch

Andere mochten auch (14)

Enrique Lopez Manas "Android High Performance"
Enrique Lopez Manas "Android High Performance"Enrique Lopez Manas "Android High Performance"
Enrique Lopez Manas "Android High Performance"
 
Олег Никифоров "Тестирование трафика мобильных приложений: кейсы и инструменты"
Олег Никифоров "Тестирование трафика мобильных приложений: кейсы и инструменты"Олег Никифоров "Тестирование трафика мобильных приложений: кейсы и инструменты"
Олег Никифоров "Тестирование трафика мобильных приложений: кейсы и инструменты"
 
KristenBroussardResume2015
KristenBroussardResume2015KristenBroussardResume2015
KristenBroussardResume2015
 
resume
resumeresume
resume
 
Александр Краковецкий "Xamarin.vNext: жизнь после Microsoft"
Александр Краковецкий "Xamarin.vNext: жизнь после Microsoft"Александр Краковецкий "Xamarin.vNext: жизнь после Microsoft"
Александр Краковецкий "Xamarin.vNext: жизнь после Microsoft"
 
Alexey Buzdin "Maslow's Pyramid of Android Testing"
Alexey Buzdin "Maslow's Pyramid of Android Testing"Alexey Buzdin "Maslow's Pyramid of Android Testing"
Alexey Buzdin "Maslow's Pyramid of Android Testing"
 
RDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграммRDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграмм
 
Educação fiscal e evolução do índice de participação dos municípios
Educação fiscal e evolução do índice de participação dos municípiosEducação fiscal e evolução do índice de participação dos municípios
Educação fiscal e evolução do índice de participação dos municípios
 
Educação fiscal
Educação fiscalEducação fiscal
Educação fiscal
 
Introdução às Finanças Pessoais ]
Introdução às Finanças Pessoais ]Introdução às Finanças Pessoais ]
Introdução às Finanças Pessoais ]
 
Luzka detalles
Luzka detallesLuzka detalles
Luzka detalles
 
Aulas 15 - 9 Normas de Auditoria - Estrutura Conceitual de Trabalhosde Asseg...
Aulas 15 -  9 Normas de Auditoria - Estrutura Conceitual de Trabalhosde Asseg...Aulas 15 -  9 Normas de Auditoria - Estrutura Conceitual de Trabalhosde Asseg...
Aulas 15 - 9 Normas de Auditoria - Estrutura Conceitual de Trabalhosde Asseg...
 
aicle
aicleaicle
aicle
 
Rambler.iOS 6 - Feature toggle
Rambler.iOS 6 - Feature toggleRambler.iOS 6 - Feature toggle
Rambler.iOS 6 - Feature toggle
 

Ähnlich wie Евгений Ртищев "Мобильная платформа на ReactNative"

Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehaveЭволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Return on Intelligence
 
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
HappyDev
 

Ähnlich wie Евгений Ртищев "Мобильная платформа на ReactNative" (20)

Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
 
Aspect Oriented Approach
Aspect Oriented ApproachAspect Oriented Approach
Aspect Oriented Approach
 
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehaveЭволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
 
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
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложений
 
React Native в продакшне
React Native в продакшнеReact Native в продакшне
React Native в продакшне
 
Денис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылуДенис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылу
 
Сергей Перескоков "JS API Яндекс.Карт 2.0: что нового и как это работает"
Сергей Перескоков "JS API Яндекс.Карт 2.0: что нового и как это работает"Сергей Перескоков "JS API Яндекс.Карт 2.0: что нового и как это работает"
Сергей Перескоков "JS API Яндекс.Карт 2.0: что нового и как это работает"
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй это
 
Роман Бусыгин "Автосборки iOS-проектов в Яндексе"
Роман Бусыгин "Автосборки iOS-проектов в Яндексе"Роман Бусыгин "Автосборки iOS-проектов в Яндексе"
Роман Бусыгин "Автосборки iOS-проектов в Яндексе"
 
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
Интерактивные карты планировок на сайтах торговых центров
Интерактивные карты планировок на сайтах торговых центровИнтерактивные карты планировок на сайтах торговых центров
Интерактивные карты планировок на сайтах торговых центров
 
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
 
МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5
 

Mehr von IT Event

Mehr von IT Event (20)

Denis Radin - "Applying NASA coding guidelines to JavaScript or airspace is c...
Denis Radin - "Applying NASA coding guidelines to JavaScript or airspace is c...Denis Radin - "Applying NASA coding guidelines to JavaScript or airspace is c...
Denis Radin - "Applying NASA coding guidelines to JavaScript or airspace is c...
 
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
 
Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...
 
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
 
Konstantin Krivlenia - "Continuous integration for frontend"
Konstantin Krivlenia - "Continuous integration for frontend"Konstantin Krivlenia - "Continuous integration for frontend"
Konstantin Krivlenia - "Continuous integration for frontend"
 
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
 
Evgeny Gusev - "A circular firing squad: How technologies drag frontend down"
Evgeny Gusev - "A circular firing squad: How technologies drag frontend down"Evgeny Gusev - "A circular firing squad: How technologies drag frontend down"
Evgeny Gusev - "A circular firing squad: How technologies drag frontend down"
 
Vladimir Grinenko - "Dependencies in component web done right"
Vladimir Grinenko - "Dependencies in component web done right"Vladimir Grinenko - "Dependencies in component web done right"
Vladimir Grinenko - "Dependencies in component web done right"
 
Dmitry Bartalevich - "How to train your WebVR"
Dmitry Bartalevich - "How to train your WebVR"Dmitry Bartalevich - "How to train your WebVR"
Dmitry Bartalevich - "How to train your WebVR"
 
Aleksey Bogachuk - "Offline Second"
Aleksey Bogachuk - "Offline Second"Aleksey Bogachuk - "Offline Second"
Aleksey Bogachuk - "Offline Second"
 
James Allardice - "Building a better login with the credential management API"
James Allardice - "Building a better login with the credential management API"James Allardice - "Building a better login with the credential management API"
James Allardice - "Building a better login with the credential management API"
 
Fedor Skuratov "Dark Social: as messengers change the market of social media ...
Fedor Skuratov "Dark Social: as messengers change the market of social media ...Fedor Skuratov "Dark Social: as messengers change the market of social media ...
Fedor Skuratov "Dark Social: as messengers change the market of social media ...
 
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
 
Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"
 
Volodymyr Lyubinets "Introduction to big data processing with Apache Spark"
Volodymyr Lyubinets "Introduction to big data processing with Apache Spark"Volodymyr Lyubinets "Introduction to big data processing with Apache Spark"
Volodymyr Lyubinets "Introduction to big data processing with Apache Spark"
 
Наш ответ Uber’у
Наш ответ Uber’уНаш ответ Uber’у
Наш ответ Uber’у
 
Александр Крашенинников "Hadoop High Availability: опыт Badoo"
Александр Крашенинников "Hadoop High Availability: опыт Badoo"Александр Крашенинников "Hadoop High Availability: опыт Badoo"
Александр Крашенинников "Hadoop High Availability: опыт Badoo"
 
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
Leonid Vasilyev  "Building, deploying and running production code at Dropbox"Leonid Vasilyev  "Building, deploying and running production code at Dropbox"
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
 
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
 
Mete Atamel "Resilient microservices with kubernetes"
Mete Atamel "Resilient microservices with kubernetes"Mete Atamel "Resilient microservices with kubernetes"
Mete Atamel "Resilient microservices with kubernetes"
 

Евгений Ртищев "Мобильная платформа на ReactNative"