SlideShare a Scribd company logo
1 of 27
React-Native
Мост от WEB к Mobile
Igor Izraylevych
S-PRO http://s-pro.io/
Виды мобильной разработки
native:
- ios( swift, objective-c )
- android (java, android sdk)
cross platform:
- webview & PhoneGap
- jQuery Mobile
- Ionic + PhoneGap
- xamarin
- react-native
WebView ;) Native!
Почему React-native?
- кросплатформенно
- быстро
- порог вхождения ниже чем в нативной рзработке
- javascript
- легко перейти из веб
- если у вас есть веб проект, не сложно сделать к нему мобильное
приложение
React & React-native?
- template engine, native elements
- <View> == <div>
- <Text> == <span>
- <Image /> == <img />
- ...etc
class MyComponent extends Component {
render() {
return (
<View>
<Image source={{uri: 'http://fb.com/123.png'}} />
<View>
<Text>
React Native
</Text>
<Text>
Build high quality mobile apps using React
</Text>
</View>
</View>
);
}
}
UI & blocks
New York
Steve
Paul
friend name
city
submit
Mike
Los Angeles
Friends header
divider
list item
form
class Friends extends Component {
render() {
return (
<Container>
<Header>
<Title>Friends</Title>
</Header>
<List>
<Divider>New York</Divider>
<ListItem>
<Text>Steve</Text>
</ListItem>
<Divider>Los Angeles</Divider>
<ListItem>
<Text>Paul</Text>
</ListItem>
<ListItem>
<Text>Mike</Text>
</ListItem>
</List>
<AddFriendForm>
<TextInput />
<TextInput />
<Button>Submit</Button>
</AddFriendForm>
</Container>
Жизнь будет ярче с Redux
Redux Store rules the app
Store
Component Component Component
Жизнь будет ярче с Redux
New York
Steve
Paul
friend name
city
submit
Mike
Los Angeles
Friends
{
FRIENDS: [{
name: 'Steve',
cityId: '0'
},{
name: 'Paul',
cityId: '1'
},{
name: 'Mike',
cityId: '1'
}],
CITIES: [{
id: 0,
name: 'New York'
},{
id: 1,
name: 'Los Angeles'
}]
}
Redux - хранит состояние приложения
Добавим нового друга в состояние
New York
Steve
Paul
friend name
city
submit
Mike
Los Angeles
Friends {
USERS: [{
name: 'Steve',
cityId: '0'
},{
name: 'Paul',
cityId: '1'
},{
name: 'Mike',
cityId: '1'
},{
name: Monica,
cityId: '1'
}]],
CITIES: [{
id: 0,
name: 'New York'
},{
id: 1,
name: 'Los Angeles'
}]
}
Monica
Monica
React + Redux = love
Кейсы
#1 согласовать с дизайнером элементы UI
#2 заранее выбрать список библиотек
- проверить зависимости
- убедитесь, что они работают
- они точно подходят?
эти скорее всего пригодятся:
- redux + immutable
- redux-form
- native-base
- apisauce, axios
http://github.com/jondot/awesome-react-native
#3 верстка
- сначала верстаем, потом подключаем логику
- пишем jss
- используем переменные
- наследуем стили
#4 use redux
- http://redux.js.org/
#5 планирование State и redux
- очень мощная грабля
- state === DB
- если не спланировал,
готовься в какой-то момент
переписать все или почти
все
#6 redux
Component
synced with
state
Action State
USE {this.props}!
DO NOT USE {this.state}
#7 Actions in Actions
Component
synced with
state
Action State
#8 forms
- use redux-forms
#9 ios & android
SearchBar.ios.js
SearchBar.android.js
import SearchBar from './SearchBar’;
- мега популярен!
- большое комьюнити, много ответов, всегда найдете решение
- Комфортно и круто
- супер, когда разработка действительно приносит удовольствие
Выводы
React native. Bridge From Web To Mobile. Intro
React native. Bridge From Web To Mobile. Intro

More Related Content

What's hot

Appium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон СеменченкоAppium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон СеменченкоAlina Dolgikh
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in pythonCOMAQA.BY
 
"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik HimiranovFwdays
 
Page object with selenide
Page object with selenidePage object with selenide
Page object with selenideCOMAQA.BY
 
MSI In-Store Pickup Функционал & сложности
MSI In-Store Pickup Функционал & сложностиMSI In-Store Pickup Функционал & сложности
MSI In-Store Pickup Функционал & сложностиMagecom UK Limited
 
Изоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеИзоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеDenis Izmaylov
 
React Native в продакшне
React Native в продакшнеReact Native в продакшне
React Native в продакшнеEugeni Feudorov
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidAnton Rutkevich
 
Изоморфные react-приложения
Изоморфные react-приложенияИзоморфные react-приложения
Изоморфные react-приложенияDenis Izmaylov
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesDenis Izmaylov
 
Rambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPERRambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPERRAMBLER&Co
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium SQALab
 
CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...
CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...
CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...CodeFest
 
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...
Системное тестирование  приложений на Ruby on Rails с применением Rspec и Cap...Системное тестирование  приложений на Ruby on Rails с применением Rspec и Cap...
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...lshevtsov
 
WordPress: React way by Oleksandr Strikha
WordPress: React way by Oleksandr StrikhaWordPress: React way by Oleksandr Strikha
WordPress: React way by Oleksandr StrikhaWordCamp Kyiv
 
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QAFest
 
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleЛюбовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleGeeksLab Odessa
 

What's hot (20)

Appium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон СеменченкоAppium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон Семенченко
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in python
 
"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov
 
Page object with selenide
Page object with selenidePage object with selenide
Page object with selenide
 
Dagger 2
Dagger 2Dagger 2
Dagger 2
 
MSI In-Store Pickup Функционал & сложности
MSI In-Store Pickup Функционал & сложностиMSI In-Store Pickup Функционал & сложности
MSI In-Store Pickup Функционал & сложности
 
Изоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеИзоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабирование
 
React Native в продакшне
React Native в продакшнеReact Native в продакшне
React Native в продакшне
 
Angular2
Angular2Angular2
Angular2
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
 
Изоморфные react-приложения
Изоморфные react-приложенияИзоморфные react-приложения
Изоморфные react-приложения
 
Take a Look at Akka-Java
Take a Look at Akka-JavaTake a Look at Akka-Java
Take a Look at Akka-Java
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и Kubernetes
 
Rambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPERRambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPER
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
 
CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...
CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...
CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...
 
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...
Системное тестирование  приложений на Ruby on Rails с применением Rspec и Cap...Системное тестирование  приложений на Ruby on Rails с применением Rspec и Cap...
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...
 
WordPress: React way by Oleksandr Strikha
WordPress: React way by Oleksandr StrikhaWordPress: React way by Oleksandr Strikha
WordPress: React way by Oleksandr Strikha
 
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
 
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleЛюбовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
 

Viewers also liked

React Native Intro
React Native IntroReact Native Intro
React Native IntroJulia Vi
 
深入淺出RoR
深入淺出RoR深入淺出RoR
深入淺出RoREric Lee
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeSambhu Lakshmanan
 
React Native + Redux
React Native + ReduxReact Native + Redux
React Native + ReduxCh Rick
 
Styling React Native Applications
Styling React Native ApplicationsStyling React Native Applications
Styling React Native ApplicationsJan Maršíček
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentationThanh Tuong
 
Intro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScriptIntro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScriptjasonsich
 
A tour of React Native
A tour of React NativeA tour of React Native
A tour of React NativeTadeu Zagallo
 
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScriptReact Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScriptKobkrit Viriyayudhakorn
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react nativeModusJesus
 
Intro To React Native
Intro To React NativeIntro To React Native
Intro To React NativeFITC
 

Viewers also liked (18)

React Native Intro
React Native IntroReact Native Intro
React Native Intro
 
The productive developer guide to React
The productive developer guide to ReactThe productive developer guide to React
The productive developer guide to React
 
深入淺出RoR
深入淺出RoR深入淺出RoR
深入淺出RoR
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
React Native + Redux
React Native + ReduxReact Native + Redux
React Native + Redux
 
Building UWP apps with React-Native
Building UWP apps with React-NativeBuilding UWP apps with React-Native
Building UWP apps with React-Native
 
Navigation in React Native
Navigation in React NativeNavigation in React Native
Navigation in React Native
 
Styling React Native Applications
Styling React Native ApplicationsStyling React Native Applications
Styling React Native Applications
 
React Native
React NativeReact Native
React Native
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
 
Intro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScriptIntro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScript
 
A tour of React Native
A tour of React NativeA tour of React Native
A tour of React Native
 
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScriptReact Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
React Native
React NativeReact Native
React Native
 
Is React reactive?
Is React reactive?Is React reactive?
Is React reactive?
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
Intro To React Native
Intro To React NativeIntro To React Native
Intro To React Native
 

Similar to React native. Bridge From Web To Mobile. Intro

ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...it-people
 
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...JSFestUA
 
ReactJS: Свет в конце тоннеля
ReactJS: Свет в конце тоннеляReactJS: Свет в конце тоннеля
ReactJS: Свет в конце тоннеляRinat Abdullin
 
FrontDays #2. Игорь Лобанов, Миграция Backbone (Marionette) -> React + Redux
FrontDays #2. Игорь Лобанов, Миграция Backbone (Marionette) -> React + ReduxFrontDays #2. Игорь Лобанов, Миграция Backbone (Marionette) -> React + Redux
FrontDays #2. Игорь Лобанов, Миграция Backbone (Marionette) -> React + ReduxFrontDays
 
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
 
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлениюCodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлениюCodeFest
 
react-native
react-nativereact-native
react-nativewtfil
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Ontico
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.Igor Shkulipa
 
Ember.js ответ на почти все вопросы - java script frameworks day 2014
Ember.js   ответ на почти все вопросы - java script frameworks day 2014Ember.js   ответ на почти все вопросы - java script frameworks day 2014
Ember.js ответ на почти все вопросы - java script frameworks day 2014Andrey Listochkin
 
"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evrone
"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evrone"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evrone
"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evroneit-people
 
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Ontico
 
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)Ontico
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"MskDotNet Community
 
Приложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМПриложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМAleksandr Boichenko
 
Лекция 4
Лекция 4Лекция 4
Лекция 4itc73
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...JSib
 

Similar to React native. Bridge From Web To Mobile. Intro (20)

ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
 
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
 
ReactJS: Свет в конце тоннеля
ReactJS: Свет в конце тоннеляReactJS: Свет в конце тоннеля
ReactJS: Свет в конце тоннеля
 
FrontDays #2. Игорь Лобанов, Миграция Backbone (Marionette) -> React + Redux
FrontDays #2. Игорь Лобанов, Миграция Backbone (Marionette) -> React + ReduxFrontDays #2. Игорь Лобанов, Миграция Backbone (Marionette) -> React + Redux
FrontDays #2. Игорь Лобанов, Миграция Backbone (Marionette) -> React + Redux
 
React Native (Metup#6)
React Native (Metup#6)React Native (Metup#6)
React Native (Metup#6)
 
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
 
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлениюCodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
 
react-native
react-nativereact-native
react-native
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.
 
Ember.js ответ на почти все вопросы - java script frameworks day 2014
Ember.js   ответ на почти все вопросы - java script frameworks day 2014Ember.js   ответ на почти все вопросы - java script frameworks day 2014
Ember.js ответ на почти все вопросы - java script frameworks day 2014
 
"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evrone
"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evrone"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evrone
"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evrone
 
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
 
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
 
Full Stack разработка на JavaScript
Full Stack разработка на JavaScriptFull Stack разработка на JavaScript
Full Stack разработка на JavaScript
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Приложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМПриложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМ
 
Лекция 4
Лекция 4Лекция 4
Лекция 4
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
 

React native. Bridge From Web To Mobile. Intro

  • 1. React-Native Мост от WEB к Mobile Igor Izraylevych S-PRO http://s-pro.io/
  • 2.
  • 3.
  • 4. Виды мобильной разработки native: - ios( swift, objective-c ) - android (java, android sdk) cross platform: - webview & PhoneGap - jQuery Mobile - Ionic + PhoneGap - xamarin - react-native
  • 6. Почему React-native? - кросплатформенно - быстро - порог вхождения ниже чем в нативной рзработке - javascript - легко перейти из веб - если у вас есть веб проект, не сложно сделать к нему мобильное приложение
  • 7. React & React-native? - template engine, native elements - <View> == <div> - <Text> == <span> - <Image /> == <img /> - ...etc class MyComponent extends Component { render() { return ( <View> <Image source={{uri: 'http://fb.com/123.png'}} /> <View> <Text> React Native </Text> <Text> Build high quality mobile apps using React </Text> </View> </View> ); } }
  • 8. UI & blocks New York Steve Paul friend name city submit Mike Los Angeles Friends header divider list item form class Friends extends Component { render() { return ( <Container> <Header> <Title>Friends</Title> </Header> <List> <Divider>New York</Divider> <ListItem> <Text>Steve</Text> </ListItem> <Divider>Los Angeles</Divider> <ListItem> <Text>Paul</Text> </ListItem> <ListItem> <Text>Mike</Text> </ListItem> </List> <AddFriendForm> <TextInput /> <TextInput /> <Button>Submit</Button> </AddFriendForm> </Container>
  • 10. Redux Store rules the app Store Component Component Component
  • 11. Жизнь будет ярче с Redux New York Steve Paul friend name city submit Mike Los Angeles Friends { FRIENDS: [{ name: 'Steve', cityId: '0' },{ name: 'Paul', cityId: '1' },{ name: 'Mike', cityId: '1' }], CITIES: [{ id: 0, name: 'New York' },{ id: 1, name: 'Los Angeles' }] } Redux - хранит состояние приложения
  • 12. Добавим нового друга в состояние New York Steve Paul friend name city submit Mike Los Angeles Friends { USERS: [{ name: 'Steve', cityId: '0' },{ name: 'Paul', cityId: '1' },{ name: 'Mike', cityId: '1' },{ name: Monica, cityId: '1' }]], CITIES: [{ id: 0, name: 'New York' },{ id: 1, name: 'Los Angeles' }] } Monica Monica
  • 13. React + Redux = love
  • 15. #1 согласовать с дизайнером элементы UI
  • 16. #2 заранее выбрать список библиотек - проверить зависимости - убедитесь, что они работают - они точно подходят? эти скорее всего пригодятся: - redux + immutable - redux-form - native-base - apisauce, axios
  • 18. #3 верстка - сначала верстаем, потом подключаем логику - пишем jss - используем переменные - наследуем стили
  • 19. #4 use redux - http://redux.js.org/
  • 20. #5 планирование State и redux - очень мощная грабля - state === DB - если не спланировал, готовься в какой-то момент переписать все или почти все
  • 21. #6 redux Component synced with state Action State USE {this.props}! DO NOT USE {this.state}
  • 22. #7 Actions in Actions Component synced with state Action State
  • 23. #8 forms - use redux-forms
  • 24. #9 ios & android SearchBar.ios.js SearchBar.android.js import SearchBar from './SearchBar’;
  • 25. - мега популярен! - большое комьюнити, много ответов, всегда найдете решение - Комфортно и круто - супер, когда разработка действительно приносит удовольствие Выводы