React Native - 目前應該開始注意的開發架構

在 iOS 和 Android 大勢底定的現在,有更多人想要有一個「通用的開發架構」來撰寫 iOS 與 Android 平台的 App 。
當然摒除謠言性質的 Swift 通用至 Android ,目前在市場上開發效率最高,通用性也最好的當然是 Xamarin.iOS 及 Xamarin.Android 這項以 C# 為開發中心的技術。
而 Xamarin.iOS 及 Xamarin.Android 雖然已經能省下不少開發時間與資源。但是因應Apple及Google 不同的美學與設計理念,UI 層需要分別撰寫。對一些只需顧及 UX 而對 UI 細節並不需要十分講究的開發需求,就顯得有「重量」了。
有需求就有解決方案,Xamarin 推出了 Xamarin.Forms ,而 Facebook 則是推出了 React Native 來試圖解決這個問題。當然還有其他解決方案,不過要解決這些問題,需要「錢」需要「人」需要「時間」。而市場上看起來能解決這三項難題的,看起來就是 Microsoft 與 Facebook 。至於Apple和Google 在策略上很難對這件事有所投入。

而 Xamarin.Forms 與 React Native 在面對相同的技術挑戰時,當然以自己最擅長的技術為基底,設計出抽象的 UI 層。再以不同的 Binding 技術整合於各自的解決方案。
Xamarin 得益於成熟的 Xamarin.iOS 及 Xamarin.Android ,越來越穩定,開發工具的支援也越來越好。按過去的經驗,應該在兩年內就會成為穩定的產品。

而我們今天來看的就是 Facebook 推出的 React Native 這項技術架構。
當然與 Xamarin.Forms 不同,Xamarin.Forms 是建構在十分成熟的 Xamarin.iOS 與 Xamarin.Android ,所以本身的技術基礎十分扎實。主要的問題是開發環境。
但是 React Native 並沒有這樣強大的基礎。所以 Facebook 需要分別建設針對 iOS 及 Android 的基底。但是正如同之前所指出,這是只要花錢,花人,花時間就可以解決的問題。而Facebook 是有人有錢的公司,在一段時間過後,當然可以解決。所以如果有人現在要在專案中應用 React Native ,我會說這是一個風險極高的決定。而如果有人覺得這是一個曇花一現的技術架構,我想這會讓人錯失一個十分有用的技術架構。通常如果能參與技術的成長期,這對個人技術能力的成長會帶來十分有用的效果。
所以我們先從最簡單的安裝及建立開發環境開始學習這項技術。

如果有點擔心投入的資源
來看一下 React XP ,也可以使用 Type Script 的 React Native 版本。微軟建立的技術架構。

安裝環境:
React Native 由於使用抽象的 UI 層,所以在撰寫時不是一定要有 Mac 環境才能開發 iOS App。不過我想這並不是個好選擇。最好還是使用 Mac 作為開發環境,不然會面對一堆無止境的設定問題,npm 裝到已經不知道裝了什麼的狀態。

第一個要確定 Xcode 已經安裝完成
然後安裝 Homebrew ,這是一個 Mac 上很有用的套件管理工具。然後接下來下幾道指令:
brew update
brew upgrade
brew install node
brew install watchman
brew install flow

接下來就開始準備與 npm 為伍
npm install -g react-native-cli

如果以上的安裝都沒有問題,開發的基本環境就做好了。
然後我們就挑選一個好用的 IDE
我個人推薦 Visual Studio Code 再搭配一些 plugin 。不過也可以安裝 Facebook 官方推薦的 Nuclide

接下來在你通常存放專案的地方,建一個資料夾。
然後開啟終端機進入這個資料夾後
react-native init firstRN
其中 firstRN 是我建立的專案名稱
然後等到終端機跑完再輸入
react-native run-iOS
就可以發現 app 跑上iOS Simulator

如果做到這步沒有問題,那我們就可以確認環境是架設起來了。









留言

  1. We won't ever level you in the path of offshore casinos that are be} unregulated and dangerous. We have years of expertise in ranking and reviewing legal websites across the world. You now have the choice of repeating your earlier bets, or saving bet configurations to use afterward. To financial institution 카지노 사이트 any winnings, may have to|you'll have to} exit the sport display screen, go to the cashier then rejoin the desk. To play once more, click on the “Rebet” button to choose on} the identical bets as last time, or start inserting completely new bets. Even if there aren't any human guests on the desk, have the ability to|you presumably can} still place bets.

    回覆刪除

張貼留言

這個網誌中的熱門文章

民主國家的定義是什麼?

「文明的抉擇」第一次讀後感

中美國債殖利率倒掛