SlideShare a Scribd company logo
React-Native
Мост от WEB к Mobile
Igor Izraylevych
S-PRO http://s-pro.io/
React native. Bridge From Web To Mobile. Intro
React native. Bridge From Web To Mobile. Intro
Виды мобильной разработки
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

PPTX
Ловля сетями. Инструменты отладки сетевых запросов приложений / Дмитрий Рыбак...
PPTX
"React application structure at project start", Maksym Shestopal
PPTX
Angular vs Angular 2 vs React. Сергей Александров
PPTX
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
PPTX
Delivering Native User Experience In Client Side Java Applications
PPTX
Никита Галкин "Testing in Node.js World"
PDF
Angular 2 On Production
PPTX
Docker + Selenium Webdriver в рамках Continuous Integration
Ловля сетями. Инструменты отладки сетевых запросов приложений / Дмитрий Рыбак...
"React application structure at project start", Maksym Shestopal
Angular vs Angular 2 vs React. Сергей Александров
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Delivering Native User Experience In Client Side Java Applications
Никита Галкин "Testing in Node.js World"
Angular 2 On Production
Docker + Selenium Webdriver в рамках Continuous Integration

What's hot (20)

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

Viewers also liked (18)

PPTX
React Native Intro
PDF
The productive developer guide to React
KEY
深入淺出RoR
PDF
Introduction to React Native
PDF
React Native + Redux
PDF
Building UWP apps with React-Native
PDF
Navigation in React Native
PDF
Styling React Native Applications
PPTX
React Native
PDF
ReactJS presentation
PDF
Intro to React - Featuring Modern JavaScript
PDF
A tour of React Native
PDF
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
PDF
Intro to react native
PDF
React Native
PDF
Is React reactive?
PPTX
Intro to React
PDF
Intro To React Native
React Native Intro
The productive developer guide to React
深入淺出RoR
Introduction to React Native
React Native + Redux
Building UWP apps with React-Native
Navigation in React Native
Styling React Native Applications
React Native
ReactJS presentation
Intro to React - Featuring Modern JavaScript
A tour of React Native
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Intro to react native
React Native
Is React reactive?
Intro to React
Intro To React Native
Ad

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

PDF
Евгений Ртищев "Мобильная платформа на ReactNative"
PPTX
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
PPT
Где кончается react native? / Павел Кондратенко (Rambler&Co)
PDF
LvivJS 2014 - Win-win c React.js
PPT
React Native (1 код - 2 приложения?)
PPT
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
PDF
WebCamp:Front-end Developers Day. Артем Тритяк "React.js LiveCoding session"
PDF
React Native (Metup#6)
PDF
Coding monday
PDF
React & Redux (Lazarev)
PDF
JavaScript сегодня: React, Redux и новая реальность
PDF
Денис Измайлов, JavaScript сегодня: React, Redux и новая реальность
PPTX
Коротко о React.js
PPTX
129155выываывавыываываываываываываыв7.pptx
PDF
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
PDF
Артем Тритяк, Lead Front-End developer в Electric Cloud
PDF
Фреймворк-невиидмка
PDF
react-native
PDF
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
PDF
How React works
Евгений Ртищев "Мобильная платформа на ReactNative"
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Где кончается react native? / Павел Кондратенко (Rambler&Co)
LvivJS 2014 - Win-win c React.js
React Native (1 код - 2 приложения?)
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
WebCamp:Front-end Developers Day. Артем Тритяк "React.js LiveCoding session"
React Native (Metup#6)
Coding monday
React & Redux (Lazarev)
JavaScript сегодня: React, Redux и новая реальность
Денис Измайлов, JavaScript сегодня: React, Redux и новая реальность
Коротко о React.js
129155выываывавыываываываываываываыв7.pptx
ПРАКТИЧЕСКИЙ ОПЫТ ИСПОЛЬЗОВАНИЯ REACT NATIVE + REDUX, Краснояров Станислав, R...
Артем Тритяк, Lead Front-End developer в Electric Cloud
Фреймворк-невиидмка
react-native
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
How React works

React native. Bridge From Web To Mobile. Intro

  • 1. React-Native Мост от WEB к Mobile Igor Izraylevych S-PRO http://s-pro.io/
  • 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. - мега популярен! - большое комьюнити, много ответов, всегда найдете решение - Комфортно и круто - супер, когда разработка действительно приносит удовольствие Выводы