app開發

1.原生開發git

   優點:github

1)可訪問平臺所有功能web

2)速度快、性能高、可實現複雜的動畫及繪製、總體用戶體驗度好小程序

 

缺點:                                                                                                                                                                微信小程序

1)平臺特定、開發成本高;不一樣平臺必須維護不一樣代碼瀏覽器

2)內容固定、動態化弱,有新功能更新時只能發版。微信

 

 

2.跨平臺開發框架

1)H5+原生混合開發(CordovaIonic、微信小程序)原理就是將APP的一部分須要動態變更的內容經過H5來實現,經過原生的網頁加載控件WebView (Android)或WKWebView(iOS)來加載 【運行在WebView中,而webView實質上就是一個瀏覽器】性能

優:動態內容是H5web技術棧、社區及資源豐富測試

缺:性能很差、對於複雜用戶界面或動畫、WebView不堪重負

 

2)JavaScript開發+原生渲染(React NativeWeek、快應用)

 

JavaScript開發+原生渲染的方式主要優勢以下:

  1. 採用Web開發技術棧,社區龐大、上手快、開發成本相對較低。
  2. 原生渲染,性能相比H5提升不少。
  3. 動態化較好,支持熱更新。

不足:

  1. 渲染時須要JavaScript和原生之間通訊,在有些場景如拖動可能會由於通訊頻繁致使卡頓。
  2. JavaScript爲腳本語言,執行時須要JIT(Just In Time),執行效率和AOT(Ahead Of Time)代碼仍有差距。
  3. 因爲渲染依賴原生控件,不一樣平臺的控件須要單獨維護,而且當系統更新時,社區控件可能會滯後;除此以外,其控件系統也會受到原生UI系統限制,例如,在Android中,手勢衝突消歧規則是固定的,這在使用不一樣人寫的控件嵌套時,手勢衝突問題將會變得很是棘手。

 

3)自繪UI+原生(QT for mobileFlutter)

 

Flutter發展:

2017 年 Google I/O 大會上,Google 首次推出了一款新的用於建立跨平臺、高性能的移動應用框架——Flutter。

2018年2月,Flutter發佈了第一個Beta版本,同年五月, 在2018年Google I/O 大會上,Flutter 更新到了 beta 3 版本。

2018年6月,Flutter發佈了首個預覽版本,這意味着 Flutter 進入了正式版(1.0)發佈前的最後階段。

 

觀其發展,在2018年5月份,Flutter 進入了 GitHub stars 排行榜前 100 名,已有 27k star。而今天(2019年5月29日),已經有65K的Star。經歷了短短2年多的時間,Flutter 生態系統得以快速增加,因而可知,Flutter在開發者中受到了熱烈的歡迎,其將來發展值得期待!

優勢:

生態:從Github上來看,目前Flutter活躍用戶正在高速增加。從Stackoverflow上提問來看,Flutter社區如今已經很龐大。Flutter的文檔、資源也愈來愈豐富,開發過程當中遇到的不少問題均可以在Stackoverflow或其github issue中找到答案。

技術支持:如今Google正在大力推廣Flutter,Flutter的做者中不少人都是來自Chromium團隊,而且github上活躍度很高。另外一個角度,從今年上半年Flutter頻繁的版本發佈也能夠看出Google對Flutter的投入的資源不小,因此在官方技術支持這方面,大可沒必要擔憂。

開發效率:Flutter的熱重載可幫助開發者快速地進行測試、構建UI、添加功能並更快地修復錯誤。在iOS和Android模擬器或真機上能夠實現毫秒級熱重載,而且不會丟失狀態。這真的很棒,相信我,若是你是一名原生開發者,體驗了Flutter開發流後,極可能就不想從新回去作原生了,畢竟不多有人不吐槽原生開發的編譯速度。

相關文章
相關標籤/搜索