React Native 學習手冊 讀書筆記之第一章

書本資訊: 歐萊禮 React Native  學習手冊 - 使用 JavaScript 打造原生 App.
Bonnie Eisenman 著 / 楊尊一 譯

以下文章常會見到 RN 字樣,我用來代表 React Native。

React Native 是什麼?
  • 基於 JavaScript 撰寫真正的行動應用程式。
  • 而 React Native 為 Facebook 開發出來的一套 JavaScript 函式庫,用來同時開發 Android 以及 IOS。它以 JavaScript 以及 JXS 混合撰寫,然後 RN 在底層以 Objective-C 或 Java 幫你橋接原生 API 的呼叫。
  • 目前已經使用 RN 用來打造行動應用的有:
    •  Facebook
    •  Palantir
    •  TaskRabbit

RN 的優點

過去 Web 應用程式使用 HTML/CSS/JavaScript 來作出手機應用,模擬很多在手機上的 UI,但還是無法做到存取原生平台的 UI 元素。雖然模擬這些原生的 UI 沒有什麼不對,但動畫等細節非常耗時 (工程師的開發時間),而且容易過時。


而 RN 可以:
  • RN 利用標籤幫你轉換成真正的原生 UI 元件。 (這裡指的標籤不是 HTML 標籤,而是一些 (盡量) 符合原生 UI 的標籤名稱)。
  • RN 的工作與主要的 UI 元素執行緒分離。
  • RN 的更新週期與 React 的運作方式相同 (props, state 改變的話,RN 也會重新更新畫面)。
  • 除錯可以直接使用瀏覽器的除錯工具。 (如: `Chrome Debugger`)。
  • RN 的開發環境對一般 Web 開發者還蠻友善的。並不需要 (強迫) 你使用 xcode 或 Android Studio.
  • (有點重要) RN 對產品發佈有方便之處。 Apple 允許透過無線載入 JavaScript 基礎的應用程式行為修改 (<- sorry, 我也不知道這是什麼意思),方便的意思就是有了這個優點你不需要經過額外的審查。
          或許可參考看看:




RN 的缺點

  • 不是所有的程式都可以共用 for IOS/Android. 特定平台需要的功能需要額外撰寫 Java/objective-C。 (但大部分的程式是可共用的。以 Faceboook Ads Manager app 來說,android/ios 共用的程式可達 87%)
  • 還太年幼,RN 目前最大的風險是成熟度,文件, 功能的支援還在改善中。



這本書我期待已久,因為之前看了一本雷書...
關於其他的 React Native 筆記,你可以參考看看我的 React Native 學習之旅。 http://winwu.github.io/react-native-note/ ,或是期待我惰性未發的下一篇....

留言

這個網誌中的熱門文章

[Android] 筆記 手機上測試自己的 APP

解決fatal: Not a git repository (or any of the parent directories): .git錯誤

[Android 筆記] 設定 ImageView 的圖檔來源