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で始めるWebフロント開発
Search
asmz
January 17, 2025
820
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
React Native+Expoで始めるWebフロント開発
Talked at Sendai Frontend Meetup #15
asmz
January 17, 2025
More Decks by asmz
See All by asmz
Firebase App Testing Agentで始めるAIベースの柔軟なE2Eテスト
asmz
0
1.5k
モバイルアプリ開発へE2Eテストを導入しよう
asmz
0
320
UIデザインを考える全ての人たちに捧げる Apple Human Interface Guidelinesのススメ
asmz
1
2.9k
Overview of Swift and iOS App development
asmz
0
1.4k
How to get mobile app logs using Firebase Crashlytics
asmz
0
950
OK Google, Deploy the iOS app
asmz
1
1k
Cooperate with Adobe XD, Zeplin and Xcode
asmz
1
3.2k
phpconsen LT
asmz
0
860
SWWDC 39
asmz
1
300
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
6.3k
Designing for humans not robots
tammielis
254
26k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Amusing Abliteration
ianozsvald
1
300
Accessibility Awareness
sabderemane
1
210
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
The SEO Collaboration Effect
kristinabergwall1
1
560
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Why Our Code Smells
bkeepers
PRO
340
58k
Transcript
asmz.beer React Native + Expoで始める Webフロント開発 2025/1/17 Sendai Frontend Meetup
#15 Akira Shimizu / asmz
asmz.beer 誰なのか? • Akira Shimizu / asmz (@_asmz) • https://asmz.beer/
• モバイルアプリエンジニア ◦ iOS / Android / React Native / Flutter • お仕事募集中です!
asmz.beer お仕事募集中です!
asmz.beer アジェンダ 1. React Native, Expoとは 2. ExpoでのWebフロント開発手順 3. Expo
Web開発のメリット・デメリット
asmz.beer React Native, Expoとは
asmz.beer React Nativeとは React技術を用いてiOS/Androidネイティブアプリケーションを開発できる Javascriptライブラリ https://reactnative.dev/
asmz.beer Expoとは React Nativeをベースとし、ネイティブ処理の隠蔽やファイルベースルー ター、クラウドビルドサービスなどアプリ開発に便利な様々な機能やツー ルを集めた開発フレームワーク https://expo.dev/
asmz.beer Expo つまりこういう感じ React iOS SDK iOS App Android SDK
Android App React Native React Native iOS React Native Android 今日の話題 React DOM Web App React Native for Web
asmz.beer ExpoでのWebフロント開発手順
asmz.beer Expoプロジェクト作成 $ npx create-expo-app@latest --template blank-typescript Creating an Expo
project using the blank-typescript template. ✔ What is your app named? … my-expo-web-sample : $ cd my-expo-web-sample $ #web開発に必要な依存パッケージを導入 $ yarn expo install react-dom react-native-web @expo/metro-runtime
asmz.beer Expoプロジェクト作成
asmz.beer コード概要 React Nativeでは抽象化された GUIコンポーネントを使って画面 を生成する UITextView Class <Text> ~~~
</Text> TextView Class <p> ~~~ </p> iOS Android Web https://reactnative.dev/docs/intro-react-native-components#core-components
asmz.beer Expo開発サーバ起動 $ yarn expo start ソースコードの変更を検知し、自 動でアプリに転送、ビルドなどし てくれるローカルサーバ
asmz.beer Expoアプリ起動 ターミナル上で 「w」キー押下
asmz.beer Expoアプリ起動 ターミナル上で「i」や「a」を 押すと
asmz.beer Expo Router導入 • React Native上でファイルベースルーティングを実現す るライブラリ • 詳細な導入方法は以下参照 ◦
https://docs.expo.dev/router/installation/
asmz.beer Expo Router導入 「/」に該当 「/second」に該当 「/settings」に該当
asmz.beer Expo Router導入
asmz.beer Expo Routerでタブナビゲーション
asmz.beer Expo Routerでタブナビゲーション
asmz.beer Expo Web Appのデプロイ $ yarn expo export -p web
distディレクトリ配下に公開用のファイル 群がビルドされるので、任意のWebサー バへアップして公開可能
asmz.beer EAS Hosting • https://expo.dev/blog/expo-announces-eas-hostin g-service • 2025/1/15にプレビュー版公開 • 元々EASではアプリのビルド、ストア公開などが可能
だったが、そこにWebアプリのホスティング機能が追加
asmz.beer Expo Web開発の メリット・デメリット
asmz.beer Expo Web開発のメリット • iOS/Androidアプリと足並みを揃えた開発が可能 • モバイルアプリエンジニアがWeb開発に参画しやすい
asmz.beer Expo Web開発のデメリット • WebフロントエンジニアからするとReact Nativeコンポーネ ントの扱いに戸惑うかも • もっとゴリゴリとHTMLやCSSを書きたい場合は難しいかも しれない
asmz.beer Enjoy, Engineering! 2025/1/17 Sendai Frontend Meetup #15 Akira Shimizu
/ asmz