React Native / Expo 介紹

更新 發佈閱讀 5 分鐘

本篇主題是 React Native 小介紹。

因為先前在測試 Ionic + PWA 開發,對相機功能實在太失望,結果現在我開始用 React Native / Expo 了。

如果還不清楚 Ionic 和 Reac Native 能做不同種類的 App,可以先閱讀 App 種類概述 。


▍ React Native & Expo 概述

  • React Native 是一個由 Facebook 開發的 開源框架,讓開發者可以使用 JavaScript(通常是搭配 React)來開發 原生 iOS 和 Android App。它會將 JS/React 程式碼轉換為原生的 UI 元件。
  • Expo 是一個基於 React Native 的應用程式開發平台,提供即時預覽(Expo Go)和線上建置(EAS build)、原生模組功能(推播、相機、GPS)等好用功能。



▍ 建立專案

開啟 VS code 終端機輸入安裝指令

npx create-expo-app@latest

接著會有一連串問題,回答完畢後專案建置完成

- Ok to proceed? (y)  y
- Creating an Expo project using the default template. // 預設使用default模板

// 提示如果要使用模板指令 -- 在 template 打上名稱
To choose from all available templates pass in the --template arg:
$ npx create-expo-app --template

To choose from all available examples pass in the --example arg:
$ npx create-expo-app --example

建立專案後可至 app.json 修改資料

slug 命名建議

可以把 slug 想成是 GitHub Repo 名稱或代號

  • 英文小寫
  • 不含空格或特殊符號(可用 -_
  • 保持簡潔易識別
vocus|新世代的創作平台


▍啟動專案

1. 確保手機和電腦在相同網路環境。

2. VS code 終端機輸入

npx expo start

終端機將出現 QRcode 和 Web localhost 網址,localhost 網址可直接點擊預覽,但有些功能只支持在手機上看。

vocus|新世代的創作平台

3. 手機安裝 Expo Go App(Android / iOS

4. Android 使用 Expo Go App,iOS 使用相機掃描終端機上的 QRcode,就能開啟預覽。只要程式碼改變,App 上的畫面也會跟著變化。

vocus|新世代的創作平台

或者你也可以安裝 Expo Orbit,在電腦預覽 Android 和 iOS 運行。


▍Build 專案

開發者可以使用 EAS 做線上 build 和發布到 App 平台,是個很方便的工具。

使用 EAS 並不是必要的,這關乎到你開發項目中是否有 EAS 無法編譯的功能,例如推播功能若串接 Firebase,就無法用 EAS 編譯。

  1. 先進入 EAS 註冊帳號
  2. 回到 VS code 終端機
eas login // 登入
eas build:configure // 編譯至expo eas 雲端
  1. 檢查 EAS 網站上的編譯進度
  2. EAS 編譯完成後會提供一個預覽網址,使用 Expo Go 開啟


▍React Native / Expo Workflow

因為在 Build 專案的段落有提到無法用 EAS 編譯的情境,所以也來介紹 Expo 的 Workflow 吧。

原本的 Expo 是沒有 android 或 ios 資料夾的,但 Firebase 需要經過額外設定流程,所以必須透過 npx expo prebuild 將 workflow 切換至 Bare Workflow,此時便會依照你目前開發電腦的系統在專案中產生 android 或 ios 資料夾。而未來要測試這個推播功能,也無法使用 Expo 原生提供的辦法測試,之後再寫一篇新文介紹推播。

如果你有其中一項功能是必須透過非 EAS build 的方式執行,其他功能也還是可以用 EAS build 做測試!只是 EAS 無法 build 出那些要使用 android 或 ios 資料夾的功能而已。而 Android Studio、Xcode 等非 EAS 方法是可以 build 出完整功能的。

vocus|新世代的創作平台

在 Windows 電腦輸入 npx expo prebuild 後,app.json 檔案的 android 會出現 package,推薦修改格式可以參考 com.<公司或開發者名稱>.<產品或應用名稱>

命名規則

  • 全小寫
  • 僅限英文字母、數字、底線(不可開頭)
  • 至少兩層(建議三層以上)
  • 不能與其他已上架 App 相同(否則 Google Play 不讓你上架)
vocus|新世代的創作平台
留言
avatar-img
Ann Chou的沙龍
19會員
32內容數
從藝術領域轉職到前端工程師,喜歡書寫學習歷程和技術文件,掌握經驗與隨時提取的感覺很好。
Ann Chou的沙龍的其他內容
2025/04/27
這篇文章說明如何在 Windows 電腦上設定 Android 推播通知,包含使用 Expo 串接 Firebase 和 Azure 的步驟。文章涵蓋 Firebase 和 Azure 的設定,以及 Android Studio 和 JDK 的配置。
2025/04/27
這篇文章說明如何在 Windows 電腦上設定 Android 推播通知,包含使用 Expo 串接 Firebase 和 Azure 的步驟。文章涵蓋 Firebase 和 Azure 的設定,以及 Android Studio 和 JDK 的配置。
2025/04/20
介紹在 React Native / Expo 中實作推播通知的方式,並比較使用 Expo Notifications 與整合 Firebase Cloud Messaging(FCM)或 Azure Notification Hubs 的差異。
2025/04/20
介紹在 React Native / Expo 中實作推播通知的方式,並比較使用 Expo Notifications 與整合 Firebase Cloud Messaging(FCM)或 Azure Notification Hubs 的差異。
2025/04/19
開發 App 的軟體有很多種,例如 Ionic、React Native、Flutter…。 不過我們在決定要使用哪一套工具前,可以先了解 App 要使用多少手機原生功能、人力技術、效能等資訊。
2025/04/19
開發 App 的軟體有很多種,例如 Ionic、React Native、Flutter…。 不過我們在決定要使用哪一套工具前,可以先了解 App 要使用多少手機原生功能、人力技術、效能等資訊。
看更多
你可能也想看
Thumbnail
在程式任何地方都能修改各種react組件狀態的做法分享
Thumbnail
在程式任何地方都能修改各種react組件狀態的做法分享
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
先從react開始: 其實市面上有許多前端框架像是react,angular,vue... 至於為什麼我會選擇react…
Thumbnail
先從react開始: 其實市面上有許多前端框架像是react,angular,vue... 至於為什麼我會選擇react…
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
本篇文章將分享手機App設計教學,並往後介紹使用Flutter開發App的相關知識和技巧。透過這系列的分享,讀者將能夠學習如何利用設計和程式開發技能來製作一個App。文章中也提供了一些靈感來源和教學資源,幫助讀者進行設計和開發的思考和學習。
Thumbnail
本篇文章將分享手機App設計教學,並往後介紹使用Flutter開發App的相關知識和技巧。透過這系列的分享,讀者將能夠學習如何利用設計和程式開發技能來製作一個App。文章中也提供了一些靈感來源和教學資源,幫助讀者進行設計和開發的思考和學習。
Thumbnail
Vue.js是一種基於MVVM的前端JavaScript框架,類似的框架有React、Angular等。 架設環境 安裝Visual Studio Code(https://code.visualstudio.com/) 安裝Node.js(https://nodejs.org/en/
Thumbnail
Vue.js是一種基於MVVM的前端JavaScript框架,類似的框架有React、Angular等。 架設環境 安裝Visual Studio Code(https://code.visualstudio.com/) 安裝Node.js(https://nodejs.org/en/
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News