2015-04-02

React Native: Web 前端設計師開發原生 OS App 的最佳選擇

幾年前 PhoneGap 剛出爐時,我評估過這個號稱可以跨平台的開發工具,它可以用 HTML+Javascript 編寫 App。

不過,實際使用上並不是很能接受它的效能。



這幾天 Facebook 發佈(註1)的 React Native 很有意思,會讓喜好 Native iOS App 的 Objective-C 或是 Swift 的設計師出現挑戰,這會是另一個 Native iOS App 的選擇!


它讓熟悉 HTML+Javascript 的前端設計師也可以寫出有效能的原生 App。



一般人理解的跨平台開發,通常是寫一套程式,可以在所有平台編譯執行,可是實際上還是有很多小細節需要調整;React Native 切入點有意思的不是號稱跨平台,而是只要學會一種程式語言 (如 Javescript) 就可以在各個平台編譯執行。


更有趣的是,它還可以與現有的 Project 結合,透過 Protocol interface 連結。



只要你會一些 Javascript/jQuery,有興趣的話,可以花個 30 分鐘就能完成一個非同步傳輸的 App!


1.照著這裡 http://facebook.github.io/react-native/ 了解一下。(5 分鐘)

2.進入 [Get started with React Native] 安裝。(5 分鐘)
3.進入右下角的 [Next->] 按著步驟實作。(20 分鐘)
目前 React Native 只有 iOS,為了一定也會有 Android 或是 Windows Phone,您可以先來試看看。


**註1: 這個 React Native 是 Facebook 公司發行。


**註2: 我再進一步介紹:
我一直說「全民程式語言」泛指的是網頁 html+Javascript+css 的語言設計。

只要你學會了 html+Javascript+css 就有機會寫 APP。

那為什麼要「Native 原生」呢?
原生程式的意思是設計後,軟體開發工具提供我們編譯製造後,直接與作業系統溝通的機械碼,大家所認知的「執行檔」。

於是,寫 iOS APP 就要會 Objective-C 或 Swift,寫 Android APP 就要會 Java,才會製作出符合各 OS 的原生執行檔。

雖然這幾年有一些跨平台的開發工具可以使用 html+Javascript+css 來設計 APP,但是是透過「翻譯處理」。
這些跨平台的開發工具因為加上一層「翻譯處理」,所以在效能上與操作上會有些不順手。

很多幾年前使用跨平台開發工具的軟體公司,最後還是選擇 Xcode 或是 Eclipse ADT 開發 iOS 與 Android 的 APP。

而這個由 Facebook 發行的 React Native 試圖要突破這個學習門檻,你只要會 html+Javascript+css 一樣可以寫原生 APP。



**延伸閱讀
http://www.raywenderlich.com/99473/introducing-react-native-building-apps-javascript

.