日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前端技術框架選型,跨端框架盤點

 

一年前我們打算做一個跨端產品,希望一套代碼,同時發(fā)布五端(Android/IOS/windows/mac/Web),以減少開發(fā)成本及測試成本和維護成本,基于此,對市面上一些技術棧進行對比研究。

首先確定幾個選型的標準:

  • 最好具有跨平臺能力,能夠一套代碼支持多端發(fā)布
  • 性能較高,各端均有很好的流暢度
  • 兼容性較好,各端不會有較大差異,從而導致各端陷阱
  • 開發(fā)效率越高越好
  • 比較成熟,有完善工具鏈,社區(qū)

目前比較符合條件有以下5種方式:

原生開發(fā)

  • 使用語言:Kotlin/JAVA/Swift/OC
  • 優(yōu)勢: 官方原生支持,功能強大健全,性能和體驗是最好的 組件豐富,社區(qū)強大
  • 劣勢: Android和IOS需要分別開發(fā),開發(fā)人力、測試人力翻倍,bug數(shù)量翻倍 容易出現(xiàn)ios和Android表現(xiàn)不一致的情況
  • 社區(qū):官方社區(qū),比較活躍

總結:不能多端開發(fā),開發(fā),測試,維護成本都偏高,直接淘汰

React

  • 使用語言:js/原生擴展
  • 優(yōu)勢: 可以基于js開發(fā),方便復用前端開發(fā)人員及部分web代碼 web兼容性和性能都較好,開發(fā)人員比較好找 react作為響應式框架,代碼結構清晰,開發(fā)效率較高 可以使用ReactNative實現(xiàn)跨平臺
  • 劣勢: 使用js作為語言,性能不及原生,js和原生通信交互,進一步損失性能 由于UI表現(xiàn)使用原生模擬web/css,有一定的局限性和兼容性,從而在實現(xiàn)真正跨平臺時,會經(jīng)常碰到兼容性及功能局限性
  • 社區(qū):Facebook維護,社區(qū)較為活躍

總結:React是企業(yè)用的最多,各方面都比較成熟的方案,是可以備選的方案,但性能和兼容性上未能到達極致體驗,需要積累避坑經(jīng)驗

Weex

  • 使用語言:js/vue/原生擴展
  • 優(yōu)勢: 同react,可以結合vue框架書寫 對于熟悉vue的同學能較快入門
  • 劣勢: 同react,最初由阿里巴巴開發(fā),后來轉交給Apache基金會 測試bug較多,后續(xù)缺乏維護動力
  • 社區(qū):Apache基金會

總結:相比ReactNative,Weex穩(wěn)定度和社區(qū)較差,淘汰

UniApp

  • 使用語言:js+vue+微信小程序組件
  • 優(yōu)勢: 使用js+vue,能讓前端無需學習,就能快速開發(fā) 一套代碼,能同時支持APP/H5/小程序,是較為全面的跨平臺框架 兼任小程序,能同時發(fā)布到多個小程序平臺
  • 劣勢: 使用js+小程序多進程架構,在ui和邏輯通信過程中,性能大打折扣,對實現(xiàn)復雜界面及極致效果時會有點力不從心 App實現(xiàn)部分不開源(最新部分開源),遇到問題只能等官方解決 兼容性較差,大部分時間不是在開發(fā),而是在優(yōu)化性能及調試各端兼容性問題
  • 社區(qū):DCloud

總結:UniApp一開始是我比較看好的技術,結合小程序+vue技術棧,很有潛力,但測試一段時間發(fā)現(xiàn)幾個問題:1.部分開源(不開源部分就沒法優(yōu)化),2.性能有瓶頸,對于想做極致體驗的App,有一個明顯的天花板,3.多端兼容性較差,經(jīng)常在web端正常,在移動端就莫名其妙的不正確,會浪費很多時間在調試兼容性上,最終放棄

Flutter

  • 使用語言:dart/第三方擴展
  • 優(yōu)勢: google出品,目前可以同時跨Android/IOS/Web/Windows/Mac desktop版本在開發(fā)中(計劃2020年發(fā)布),同時也是google下一代操作系統(tǒng)Fuchsia的官方UI方案 flutter框架性能優(yōu)異,兼容性小,類似react的組件化響應式開發(fā)框架,開發(fā)效率較高 官方提供移動端大量第三方組件,能極快的提高UI組裝效率,關鍵還開源,哪里不好改哪里,開發(fā)不怕遇到天花板 工具鏈強大,熱更新秒看結果,極大的提高開發(fā)效率 dart強類型語言,相對js在代碼提示,代碼重構上有較大方便性,在開發(fā)過程中就能避免很多bug產生
  • 劣勢: UI組織方式比較另類(代碼嵌套方式,習慣了就好) 不支持小程序,web實現(xiàn)不是最優(yōu)方案,在內存和性能上會比傳統(tǒng)開發(fā)有較多消耗 插件還需完善,第三方插件很難做到跨所有平臺(大部分可以跨移動端)
  • 社區(qū):google pub.dev第三方社區(qū),比較活躍

總結:Flutter作為一個新興的技術棧,有著巨大的潛力,以google的技術背景支持下,工具鏈,社區(qū)都比較完善,F(xiàn)lutter打破了React依賴原生的缺點,直接自己接管渲染層,在各端有較好的兼容性,同時使用dart語言,相比js有較好的開發(fā)體驗,組織代碼更容易,再加上熱更新,開發(fā)效率直接翻倍

最終我們選擇Flutter作為技術棧,現(xiàn)在回顧一下,依然覺得Flutter是最好的跨平臺框架,使用的時候真是各種爽,無論開發(fā)效率,性能,跨平臺上,都有非常不錯表現(xiàn),隨著Flutter的日趨完善,我相信還會越來越好。

分享到:
標簽:框架
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定