我想開發一個APP,現在有React Native 和 API Cloud 兩個框架,我該如何選擇?

我現在是一個PHP程序員,現在的公司開發的主要是APP,PHP 只提供介面,so 面臨的一個問題就是 現在來說,開發web網站的需求越來越少了,但是開發APP的越來越多,所以 我想找個框架自己開發個APP練練手,目前知道了這兩個框架,我不知道該怎麼選擇, 能不能講一下 他們的不同點,及使用場景 或者是 優缺點?


在技術實現上,這兩個完全不是一個東西。

但目標蠻相似的,跨平台、快速開發。

做React Native,特別是初次使用,要做好踩坑的準備。雖然APICloud坑也不少,但是作為一個本土產品,APICloud官方社區不管是官方和其他開發者都還比較活躍,每天都有固定時間答疑。

React Native相比APICloud的優點在於,RN組件都是原生組件,底層運行著v8,所以運行時效率比APICloud高很多。使用APICloud在遇到頁面DOM元素複雜或者有大量交互動畫,就要考慮犧牲中低端安卓用戶了。然而iOS在WebView上做得很好的樣子,各方面效率完敗安卓端。

不過它是React,所以學習成本要相對較高,CSS-Layout、JSX這些和普通的前端還是有一些差別。並且由於它是使用原生組件的原因,所以不可避免得暴露了一些原生的平台依賴方法,比如一些iOS Only;而對於APICloud,基本上你會做WebApp,那麼看下API文檔就能上手開發了。一些原生的功能,只是調用一下js介面那麼簡單。

APICloud大部分技術集中在WebView中js對原生api的調用 以及 組件切換啊什麼鬼的。然後簡單的就真的只是給前端人員用的,各種模塊的調用封裝得就只剩一兩行代碼了。開發人員的著重點在產品的設計、前端。開發起來很快,效果也還接近原生。提供的雲服務也還不錯,雖然我自己不用。

但由於高度封裝,你能Customize的地方也就少了。學習APICloud需要了解的原生開發知識幾乎為零,因此過度依賴它對個人發展來說沒有任何好處。然後我還要再說一遍,低端安卓上運行效率很低,動畫基本上就不要考慮了,動畫、低端安卓用戶——「二選一」。

如果說,尼們是急於開發出產品,那麼APICloud可以考慮。

而React Native這玩意兒是給有原生開發經驗的人設計的,目的是簡化原生開發、跨平台。所以哪,在使用RN前有原生開發經驗是最好的。

學習的話,我建議還是從原生開發學起。我個人現在開發使用APICloud,但是之前我是一名原生開發者,iOS/Android都做(iOS我用Objective-C,Swift我不知道怎麼回事感覺語法一直在變,學了一點),而使用APICloud的原因就是簡單、快。但遇到功能不足,或者現有模塊有坑的時候,這種情況使用自己的原生開發技能,自己開發模塊彌補框架的不足的體驗還蠻不錯的。因為開發出的模塊可以上架到APICloud模塊商店進行售賣。

所以哪,我建議有時間的話,從原生開發學起。如果只是想掌握快速跨平台開發,那麼可以考慮APICloud。React Native從零學起也不是不可以,我使用React Native時間不長,但是個人感覺還是有點原生開發經驗再入坑比較合適。


急著完成任務,而且APP的業務邏輯要求簡單、復用性低、體驗要求低點,用API CLOUD,API CLOUD最新SDK版本對安卓機已做了比較大的優化,否則就學用React Native,因為您終將會換成React Native


推薦閱讀:

不越獄,直接跳過 App Store 安裝軟體是什麼原理?
某熊周刊系列:一周推薦外文技術資料(1.4)
一個普通而技能全面的互聯網工作者,選擇 Mac 還是 Windows PC?
前端工程師想入手ios開發,從react native入手合適么?
App Store 上面顯示的應用名字為什麼跟下載之後的名字不一樣?

TAG:移動開發 | apicloud | ReactNative |