SlideShare a Scribd company logo
React Native
2018.7.21
TechMeetup#2
Who are you?
• Yukiya Nakagawa / @Nkzn
• @
•
• Android 2009
• React Native 2016
TechMeetup#2
React Nativeの光と闇
https://www.nikkei.com/article/DGXMZO32881350R10C18A7L21000/
React Nativeの光と闇
React Nativeの光と闇
React Nativeの光と闇
React Native
•
• Hello World
• Production
• React Native
IT
• JavaScript (React, Node)
• Android
• iOS
• React Native
• React Native
React Nativeの光と闇
React
React
https://facebook.github.io/react/
•
• JSX
•
Reactive
JSX
<div>
<Header />
<LeftPane />
<RightPane
name={myName}/>
</div>
React Nativeの光と闇
React
import React from 'react';
import ReactDOM from 'react-dom';
const styles = {
container: {display: 'flex', flexDirection: ‘row', …}
};
class App extends React.Component {
render() {
const myName = /* props or state */;
return (
<div style={styles.container}>
<Header />
<LeftPane />
<RightPane
name={myName} />
</div>
);
}
}
ReactDOM.render(
<App />,
document.getElementById('app')
);
Virtual DOM
<ccc
style={{
width: 200,
color: "red"
}}
enabled={true} />
React
VirtualDOM
DOM
React
VirtualDOM
DOM
React
VirtualDOM
DOM
React
VirtualDOM
DOM
React is
• Facebook JS
• https://facebook.github.io/react/
•
•
• View
View View
React Native
React
import React from 'react';
import ReactDOM from 'react-dom';
const styles = {
container: {display: 'flex', flexDirection: ‘row', …}
};
class App extends React.Component {
render() {
const myName = /* props or state */;
return (
<div style={styles.container}>
<Header />
<LeftPane />
<RightPane
name={myName} />
</div>
);
}
}
ReactDOM.render(
<App />,
document.getElementById('app')
);
import ReactDOM from 'react-dom';
div
div
ReactDOM.render(
<App />,
document.getElementById('app')
);
import React from "react";
import { View, AppRegistry } from "react-native";
const styles = {
container: {display: 'flex', flexDirection: ‘row', …}
};
class App extends React.Component {
render() {
const myName = /* props or state */;
return (
<View style={styles.container}>
<Header />
<LeftPane />
<RightPane
name={myName} />
</View>
);
}
}
AppRegistry.registerComponent(
"MyReactNativeApp",
() => App
);
React
ReactDOM
React
UI
React Native
Biz
Biz
• Android iOS
•
•
•
https://www.kantarworldpanel.com/global/smartphone-os-market-share/
•
•
• iOS Android
1
Android iOS
XML
xib
storyboard
Android iOS
OS
UI
Java
Kotlin
Obj-C
Swift
React Native
Android iOS
OS
UI
ReactRootView RCTRootView
on
React Native
react-native init
$ npm install -g react-native-cli
$ react-native init RNDemo
$ cd RNDemo
$ yarn start
Xcode/Android Studio
Android/iOS
React Native
Babel
on JavaScriptCore
on C++
Cheap Dive
into React Native
BOOTH 1000
https://echigo-ya.booth.pm/items/825721
on
create-react-native-app
(Expo)
React Nativeの光と闇
create-react-native-app
$ npm install -g create-react-native-app
$ create-react-native-app crna-demo
$ cd crna-demo
$ yarn start
React Nativeの光と闇
React Nativeの光と闇
React Nativeの光と闇
React Nativeの光と闇
by Quipper
by
https://play.google.com/store/apps/details?id=jp.agri_note.area&hl=ja
https://itunes.apple.com/jp/app/%E9%9D%A2%E7%A9%8D%E8%A8%88%E7%AE%97/id1234162227?mt=8
Togetter
• React Native Japan
• https://github.com/react-native-jp/react-
native-apps-jp
React Native for Web
React Nativeの光と闇
React XP
Skype
Microsoft Office
React Nativeの光と闇
React Native
React Nativeの光と闇
React Nativeの光と闇
💪
💪
• JavaScriptCore
• Android
• iOS
• NPM(Node) Babel JS
• Gradle javac Android
• Xcode CocoaPods iOS
CocoaPods
Expo
•
•
AppStore Connect
ipa AppStore Connect
Expo
•
•
•
• 

• Play AppStore
• AppStore
• React
• JavaScriptCore
•
• Android iOS
• React Native
•
•
React Nativeの光と闇
React Nativeの光と闇
React Nativeの光と闇
•
•
•
•
• etc
•
•
•
•
•
• etc
•
• JSON
•
•
•
React Native
RN
• Android iOS
• Kotlin Swift
• Web
• RN
•
• 

RN 🤔
Airbnb
Airbnb
•
• react-native-maps react-native-lottie
•
•
• RN
Airbnb
• RN
•


http://studio-andy.hatenablog.com/entry/
react-native-at-airbnb
React Nativeの光と闇
React Nativeの光と闇
React Native
React Nativeの光と闇

More Related Content

PDF
React Native Androidはなぜ動くのか
PPTX
Spring boot
PDF
Intro to react native
PDF
Deep Dive async/await in Unity with UniTask(EN)
PDF
React
PDF
Service workers
PDF
Kotlin Coroutines Reloaded
PDF
Angular - Chapter 7 - HTTP Services
React Native Androidはなぜ動くのか
Spring boot
Intro to react native
Deep Dive async/await in Unity with UniTask(EN)
React
Service workers
Kotlin Coroutines Reloaded
Angular - Chapter 7 - HTTP Services

What's hot (20)

PDF
Data Persistence in Android with Room Library
PDF
JavaScript guide 2020 Learn JavaScript
PDF
Multiplayer Game Sync Techniques through CAP theorem
PDF
React Router: React Meetup XXL
PDF
Flutter
PPTX
PDF
Intro To React Native
PDF
Basics of Model/View Qt programming
 
PDF
Jetpack Compose a new way to implement UI on Android
PDF
Compose Camp - Jetpack Compose for Android Developers Introduction Session De...
PPTX
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
PDF
Fabric.js @ Falsy Values
PDF
React for Dummies
PDF
Kotlin Coroutines. Flow is coming
PPTX
React js for beginners
PDF
Introduction to ASP.NET Core
PDF
angular fundamentals.pdf
PDF
History & Practices for UniRx(EN)
PPTX
Ngrx: Redux in angular
Data Persistence in Android with Room Library
JavaScript guide 2020 Learn JavaScript
Multiplayer Game Sync Techniques through CAP theorem
React Router: React Meetup XXL
Flutter
Intro To React Native
Basics of Model/View Qt programming
 
Jetpack Compose a new way to implement UI on Android
Compose Camp - Jetpack Compose for Android Developers Introduction Session De...
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
Fabric.js @ Falsy Values
React for Dummies
Kotlin Coroutines. Flow is coming
React js for beginners
Introduction to ASP.NET Core
angular fundamentals.pdf
History & Practices for UniRx(EN)
Ngrx: Redux in angular
Ad

Similar to React Nativeの光と闇 (20)

PDF
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
PPTX
How to create components in react js
PDF
Introduction to React Native
PDF
Mastering JavaScript and DOM: A Gateway to Web Development
PPTX
React + Redux Introduction
PDF
Workshop 26: React Native - The Native Side
PPTX
Let's react - Meetup
PDF
React js
PDF
React && React Native workshop
PDF
React Native for multi-platform mobile applications
PPTX
React - Start learning today
PPTX
slides.pptx
PPTX
slides.pptx
PDF
How To Integrate Native Android App With React Native.
PPTX
Build web apps with react js
PDF
Lviv MD Day 2015 Іван Лаврів "Mobile development with React Native"
PDF
An introduction to React.js
PDF
React: JSX and Top Level API
PDF
Simple React Todo List
PDF
Introduction to ReactJS
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
How to create components in react js
Introduction to React Native
Mastering JavaScript and DOM: A Gateway to Web Development
React + Redux Introduction
Workshop 26: React Native - The Native Side
Let's react - Meetup
React js
React && React Native workshop
React Native for multi-platform mobile applications
React - Start learning today
slides.pptx
slides.pptx
How To Integrate Native Android App With React Native.
Build web apps with react js
Lviv MD Day 2015 Іван Лаврів "Mobile development with React Native"
An introduction to React.js
React: JSX and Top Level API
Simple React Todo List
Introduction to ReactJS
Ad

More from Yukiya Nakagawa (20)

PDF
Atomic Designは「マルチ」で真価を発揮する
PDF
Androidの入門書を書いたときに気にしたこと #NDS57
PDF
アグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJ
PDF
CSS in JSの話 #friday13json
PDF
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
PDF
AndroidLint #DroidKaigi
PDF
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
PDF
僕らのデータ同期プラクティス
PDF
Android再入門 〜Eclipseのことは忘れろ〜
PDF
もう一度Kotlinの話をしよう #ndsmeetup4
PPTX
アグリノートを支える技術
PDF
NDS36 Kotlin Cute
PDF
NDS36 Java7&Java8
PPTX
Coworking Business Forum in NIIGATA 2013
PPTX
Niigata.rb#03
PPTX
PechaKucha Niigata #3 2013.7.27
PPTX
ぼくのかんがえたふつうのあんどろいどかいはつ
PPTX
Androidで使えるJSON-Javaライブラリ
PPTX
NFCLAB会津
PPTX
ぼくらの錬金術〜キメラの作り方〜
Atomic Designは「マルチ」で真価を発揮する
Androidの入門書を書いたときに気にしたこと #NDS57
アグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJ
CSS in JSの話 #friday13json
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
AndroidLint #DroidKaigi
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
僕らのデータ同期プラクティス
Android再入門 〜Eclipseのことは忘れろ〜
もう一度Kotlinの話をしよう #ndsmeetup4
アグリノートを支える技術
NDS36 Kotlin Cute
NDS36 Java7&Java8
Coworking Business Forum in NIIGATA 2013
Niigata.rb#03
PechaKucha Niigata #3 2013.7.27
ぼくのかんがえたふつうのあんどろいどかいはつ
Androidで使えるJSON-Javaライブラリ
NFCLAB会津
ぼくらの錬金術〜キメラの作り方〜

Recently uploaded (20)

PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Machine Learning_overview_presentation.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
A Presentation on Artificial Intelligence
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
August Patch Tuesday
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Empathic Computing: Creating Shared Understanding
cloud_computing_Infrastucture_as_cloud_p
Accuracy of neural networks in brain wave diagnosis of schizophrenia
NewMind AI Weekly Chronicles - August'25-Week II
Machine Learning_overview_presentation.pptx
Getting Started with Data Integration: FME Form 101
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Assigned Numbers - 2025 - Bluetooth® Document
Heart disease approach using modified random forest and particle swarm optimi...
A Presentation on Artificial Intelligence
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
August Patch Tuesday
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Encapsulation theory and applications.pdf
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
Empathic Computing: Creating Shared Understanding

React Nativeの光と闇