2016年5月22日 星期日

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/ ,或是期待我惰性未發的下一篇....

沒有留言:

張貼留言

若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...