~/VibeHandbook
免費 PDF

應用 / 行動端

reactnative.dev

React Native

是什麼

React Native 是 Meta 開發的開源框架,用於使用 React 和 JavaScript(或 TypeScript)構建原生移動應用。你像為 Web 編寫元件那樣編寫元件,但它們渲染為真正的原生 iOS 和 Android UI(使用者介面,螢幕上看得見、可互動的部分)控制元件,而非 web view。大部分程式碼可在兩個平臺間共享,同時在需要時你仍可下沉到平臺特定的原生程式碼。

優勢

  • 一套程式碼庫,兩個平臺——在 iOS 和 Android 之間共享大部分邏輯和 UI。
  • 使用 React,因此 Web 開發者能很快上手,且生態系統龐大。
  • 渲染真正的原生元件,而非 web view,帶來真正原生的體驗。
  • Fast Refresh 在編輯時提供近乎即時的反饋。
  • 逃生通道:遇到瓶頸時,可用 Swift/Kotlin 編寫原生模組。

取捨

  • 可以把"橋接"想成一名在兩個說不同語言的人之間來回傳話的翻譯——每次轉手都會有一點點延遲。JavaScript 與原生之間的橋接,可能會使效能關鍵或動畫密集的工作變得複雜。
  • 原生依賴和構建工具鏈可能較為脆弱,且對版本敏感。
  • 在棘手的部分,你仍然需要平臺知識(構建 iOS 還需要一臺 Mac)。
  • 一些較新的 OS(作業系統,裝置的核心軟體,如 iOS 或 Android)特性會有滯後,要等社群或你自己去封裝。

何時使用

當你希望用一個團隊、一套程式碼庫在 iOS 和 Android 上交付原生應用時,尤其是當團隊已經熟悉 React 時,可以選擇 React Native。它非常適合內容類、電商類和 CRUD 類應用。

與 vibe coding 的契合度

React Native 對 AI 輔助編碼很友好,因為它本質就是 React——助手對元件、hooks 和 props 極為精通。讓模型使用 TypeScript,儘可能保持元件小巧且無狀態,並將其與 Expo 搭配,以獲得輕鬆的構建和原生模組。在一開始就說明目標平臺和所需的任何原生能力,讓生成的程式碼選用正確的庫。

import { Text, Button, View } from "react-native";
import { useState } from "react";

export default function Counter() {
  const [count, setCount] = useState(0);
  return (
    <View>
      <Text>Count: {count}</Text>
      <Button title="Add" onPress={() => setCount(count + 1)} />
    </View>
  );
}