【Flutter學習一】Android的App的三種開發方式

是時候學習新技術了:前端

轉自:https://blog.csdn.net/qq_41346910/article/details/86692124ios


移動開發發展到如今,已經出現了三種開發方式。本文我將爲你分析每一種開發的好處和缺點,幫選擇一門你喜歡的開發。c++

你可能會遇到過沒有不認識的名詞,請必定要了解一下,你只須要右鍵搜索。框架

  1. 原生開發 
  2. React Native (下文簡稱RN)
  3. Flutter 

技術在不斷前進,在原生開發尚未精通、RN還只是瞭解的時候,Flutter就橫空出世了。不知道你急不急,我感受面對移動開發的熱度和入門很低的如今。你是時候掌握一門新的跨平臺技術了,Android 和Ios一塊兒開發,不要爲本身沒有Ios的手機爲藉口,買不起新的,買個二手的也行啊。性能

 

1、原生開發學習

1.概述
原生開發最簡單理解了。若是你是從事的Android開發,你用Java和Kotlin開發的應用就是原生開發了,ios也同理。google

2.優勢
性能高 (不論是UI繪製和功能實現)
專注性高  (可針對物聯網、車輛網、等)
能夠完成高複雜App、用戶體驗好 
能夠直接調用Android系統的API,學習比較容易,開發資料很是多。
3.缺點
成本高(沒法跨平臺,分別須要Android開發人員和Ios開發人員)
維護度高(Android的各類兼容,最明顯的就是屏幕)
動態度比較複雜(通常更新只能發佈新版本,須要各App市場審覈。固然熱修復和熱更新能夠必定程度上解決)
四、總結
自我感受原生開發不是最差的路線,而是最好的。我對原生開發的建議,不要止步在對現有Android的App能完成開發。你應該選擇深刻學習。.net

對Android系統底層深刻理解,framework的理解,以及本身實現。blog

實現複雜的UI能夠話出各類別人沒法繪製出來的UI,從把本身項目中的第三方UI庫替換爲本身的UI開始。ip

你寫的App除了不能跨平臺,別的方面是別的技術沒法比擬的!!!

你的Android開發不至於App的簡單開發,你能夠把Tensorflow在Android上跑通。

你能夠學習好c、c++作NDK開發、研究OpenCv、OpenGL、Openssl

2、React Native

1.概述
使用JavaScript和React編寫原生移動應用。

React Native產出的並非「網頁應用」, 或者說「HTML5應用」,又或者「混合應用」。 最終產品是一個真正的移動應用,從使用感覺上和用Objective-C或Java編寫的應用相比幾乎是沒法區分的。 React Native所使用的基礎UI組件和原生應用徹底一致。 你要作的就是把這些基礎組件使用JavaScript和React的方式組合起來。

2.優勢
跨平臺(這是Android原生沒法比的)
高性價(只須要一個精通JavaScript一門語言的工程師)
高動態  
3.缺點
性能低  
操做複雜(沒法直接調用一些系統功能)
4.總結
最強點在與跨平臺和高性價。若是你對前端很喜歡,能夠經過這一方面向前端好好發展,或者成爲一名全棧開發。這門技術比較成熟,學習資料也比較很多。

3、Flutter

1.概述
Flutter是自繪UI+原生。

Flutter是谷歌的移動UI框架,能夠快速在iOS和Android上構建高質量的原生用戶界面。 Flutter能夠與現有的代碼一塊兒工做。在全世界,Flutter正在被愈來愈多的開發者和組織使用,而且Flutter是徹底免費、開源的。

2.優勢
跨平臺 (一樣能夠在Android和Ios運行)
性能比較高 (比RN高比原生低)
高靈活  (本身寫UI)
熱重載  
3.缺點
動態度低 (爲了保證UI繪製性能)
成本高(學習資料少,仍是新出來的技術不穩定)
4.總結
我的認爲,若是你很喜歡App開發,你仍是要學習Flutter,畢竟這是google出品,並且有一統移動App開發之勢。

喜歡前端就學習RN,去慢慢接受前端的美。

喜歡Android底層、物聯網等,你須要把你的Android學的更加深刻。

最重要的是  深刻學習

 

 

 

.

相關文章
相關標籤/搜索