Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
React Nativeにおける ExpoとFirebaseの活用 Webとの共通化 ~ R...
Search
tatsuaki watanabe
September 03, 2019
Technology
1.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
React Nativeにおける ExpoとFirebaseの活用 Webとの共通化 ~ React Native Tokyo 2019/09/03 ~
tatsuaki watanabe
September 03, 2019
More Decks by tatsuaki watanabe
See All by tatsuaki watanabe
4:3のスライド
nabettu
0
300
React Native for WebでもOGP対応がしたい! ~ TECH STAND #2 React Native 2020/12/18 ~
nabettu
1
7k
React Navigationを使って React Native WebでSPAを試してみた ~ React Native Meetup 2020/5/29 ~
nabettu
8
12k
OG画像のためだけのFunctionsで、 htmlベタ書き&リダイレクトをやめるんだ
nabettu
3
1.7k
A story till the netlify fun book is made
nabettu
0
780
Netlifyはいいぞ #技術同人誌再販Night
nabettu
1
520
Nuxt.js & Firebase & Netlifyでの 爆速プロトタイピングと 本格運用への足がかり
nabettu
3
900
声をかけられるフリーランスエンジニアになるには
nabettu
5
1.4k
2016-01-25いいとも発表Atomパッケージ
nabettu
0
190
Other Decks in Technology
See All in Technology
sue445's proposals 2026
sue445
0
130
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
130
データエンジニアの次の戦場は "プロセスエンジニアリング"
sansantech
PRO
1
150
macOS Golden Gate 時代のMac管理
tategami
0
120
AI時代のGraphQL
joere
1
310
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
150
フィンテック養成勉強会#68
finengine
0
190
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
200
DevelopersIO2026 -バックアップは“消されないこと”が9割-
yoshida0129
0
250
Optunaの最新リリースv5.0について
pfn
PRO
0
130
ガチで放置できるClaude Code実行環境の作り方.pdf
lamaglama39
0
1.9k
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Bash Introduction
62gerente
615
220k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
610
We Are The Robots
honzajavorek
0
400
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Designing for Performance
lara
612
70k
Transcript
React Nativeにおける ExpoとFirebaseの活用 Webとの共通化 ~ React Native Tokyo 2019/09/03 ~
株式会社クリモ CTO 渡邊達明
◉ 自己紹介と最近作っているもの ◉ Expoとは ◉ Firebaseはいいぞ ◉ Firebaseを使っての開発&Web共通化 ◉ Expo
のReact Native Webサポート ◉ 宣伝 目次
◉ 渡邊 達明(わたなべ たつあき) ◉ Twitter,GitHub: @nabettu ◉ 富士通株式会社→面白法人カヤック→独立 ◉
妻(代表)と二人で法人 ◉ ネイティブアプリ(React Native with Expo)& Webフロント (Nuxt.js,React.js)& Firebase周りが専門です 自己紹介
◉ 妻がママ向け・保育士向けのメディア運営 ◉ 私が受託開発と、メディアの技術周り担当 ◉ 空いた時間でWebサービス開発 株式会社クリモ
作ってます
最近作ってるもの
SpoLive NTTコミュニケーションズ 社内ベンチャー発 リアルタイムスポーツ実況解説アプリ もうすぐ始まるラグビー ワールドカップ データ配信します!!!!
tabmemo タブで仕分けできるメモアプリ
両方React Native with Expo製です!!! みなさんExpoご存じでしょうか??? 知らない方はcometsで「」ボタンをPUSH!
Expoとは
◉ React Nativeを完全にJSだけで作れるOSSの開発・ビル ド環境 ◉ Expo製アプリのビルドやPush通知サービス、OTAサー バーなどを運営しているスタートアップ とは 爆速でReact Nativeアプリが作れる!
◉ Expo対応のライブラリしか使えない ◉ →ネイティブコードと両立するようなことは無理(ネイティブSDKな ども使えない) ◉ その際はejectして、expo-kit入りのReact Nativeプロジェクトとし て開発を継続はできる 便利な分デメリットもある
◉ 足元が整った状態から開始できるので開発に専念できる ◦ ビルド、HotReload、実機確認、チーム共有などなど ◉ ライブラリが一通り揃っている&Expoに対応したものも増えてき ている ◉ OS毎の差分をかなり吸収してくれる(Push通知などもOSを気に せず使える)
◉ 完全にJSだけで書ける とはいえ余りあるメリットもたくさん ロジック丸々再利用できる
◉ React Native Expoのアプリと別でReact.jsで作っている 管理画面があり、ラグビーのプレイ結果等入力したもの を、アプリで表示する流れ ◉ 点数計算ロジックをまるごと再利用しています SpoLiveでの活用事例 共通化&スイッチングコストが低くて楽!
Firebaseはいいぞ
◉ SpoLiveでもtabmemoでも利用しているBaaS ◉ Firebaseは機能がたくさんあるので説明は省きます ◉ メリットは色々ありますが、特に認証の手軽さや リアルタイムデータの利用の実装が超楽です Firebaseはいいぞ WebSocketサーバーなどを用意する必要がなく、同時接続 100万ユーザーとかに自動でスケールできてすごいぞ!
◉ ラグビーのプレイデータを管理画面で入力 →アプリで自動的にリアルタイムに反映&表示 ◉ 自分でサーバーとか何も用意することなくできる ◉ クライアント側はコードでonSnapshotって書くだけ SpoLiveでの活用事例 JSのSDKを通して少し書くだけで動くので楽!
Firebaseを使っての開発 &Web共通化
◉ Expoで完全JavaScript書くだけでアプリ開発ができる ◉ WebでもJavaScriptで開発してる(React.js) ◉ 両方一緒のFirebaseのJavaScript SDKを使う 今までのおさらい これってかなりの部分を Webとアプリで共通化できるのでは
◉ React Native アプリExpoを使ってまず開発 ◉ 次にWebでのアプリをReact.jsで開発して・・・ tabmemoでの活用事例 Firebaseへのデータアクセス周りと Reduxでのデータ管理周りを共通化してみました
Fluxでいうとこの ここらへんがWebもアプリも一緒のコードで動いています
◉ Reduxでのデータ管理周り ◉ Firebaseでのアカウント作成・ログイン ◉ Firebaseへのデータ保存・同期周り アプリとWebで全く同じJSで動作 tabmemoでの共通化
tree src ├── actions 共通 ├── assets ├── constants ├── native アプリ用
├── reducers ├── store └── web Webサイト用
Expo の React Native Webサポート
◉ Expo公式がβサポート ◉ React Nativeで書いているコードをWeb用にBuild ◦ →大体そのままブラウザで動く!やばい! ◉ tabmemoでReduxとかのコードの共通化!とかなんとか言って たけど。。。
Expo v33からReact Native Webがはいった!
さっきのFluxでいうと・・・とか関係なしで 全部いけるじゃん(※ちゃんと動くなら)
◉ 簡単なネイティブ&WebアプリをExpo でワ ンソースで作ってみました ◉ 画像をアップロードして、テロップ画像と文字 を合成して新しい画像を作ります ◉ iOS&Androidアプリ、Chromeで動きます! (iOS
Safariはダメでした笑) さっそく触ってみた!作ったやつデモ! テロップメーカーWeb版
◉ まだβ版なのでコンシューマ向けのアプリ ケーションとして出すには心もとないけどリ ソースが足りない現場ならあり? ◉ 「Webで一部分だけ出してあとはアプリに導 線を」とかの場面でならちょうど良いかも! 触ってみた感想1 テロップメーカーWeb版
◉ WebpackがかなりExpoに隠蔽されてる ◉ webpack.config.jsをカスタマイズしていく感 じでビルドがかなりシビアなので、Webpack がわからないと速攻で詰む ◉ Webは対応しているモジュールだけ 触ってみた感想2 まだまだProduction
Readyではないけど、 対応環境が絞れるとかならなんとか?今後に期待! テロップメーカーWeb版
◉ 技術書典(9/22)でこのアプリを、サンプルとしてもうちょっといじっ てからExpoでのReact Native Web周りをまとめた技術同人誌を 書くので買いに来て! ◉ SpoLiveでFirebase×React Native書きたいマン(特にまだ TypeScriptとHooksを導入途中なのでその辺り特に)募集してい
ます!気になる人は私かチームメンバー♂に声かけて! 宣伝!
質問あればTwitterでも https://twitter.com/nabettu cometsでもどうぞ→ Thanks!
cometsについて こちらの発表は、専用サイトに コメントするとコメントが 発表者のスライドに表示されます。 https://comets.nabettu.com/?id=RNTokyo ちなみにFirebaseとNetlifyで動いています。