【小聲團隊】 - 我們?yōu)槭裁催x擇了Flutter Desktop

本文由小聲團隊出品岂贩,小聲團隊是一個專注于音頻&音樂技術的初創(chuàng)團隊,深度使用Flutter構建跨平臺應用巷波,希望與大家一起共同探索Flutter在桌面端&移動端的可能性萎津。

背景

小聲團隊使用Flutter Desktop研發(fā)的DAW截屏

我們計劃研發(fā)一款全功能跨平臺的音樂制作平臺(DAW),從立項之初我們就已經明確了全平臺的支持計劃(即Windows / MacOS / Linux / iOS / Android ) ,也因此我們也是以這個為目標來尋找技術解決方案抹镊,經過一段時間的研究與學習锉屈,大致確定了幾個可選項,內部的調研結果如下(本結果僅代表團隊內部認知垮耳,如有差異還請包涵):

技術方案 性能 研發(fā)效率 跨平臺兼容性 擴展能力 原生代碼交互能力
HTML5
QT 極低
React Native
Flutter

為什么不使用基于HTML5打造的技術棧颈渊?

HTML5是眾所周知的最易上手的跨平臺UI解決方案,并且產業(yè)成熟氨菇,有眾多可選的框架與開源組件可直接使用儡炼。但是DAW作為一款專業(yè)生產力工具并不適合完全在瀏覽器環(huán)境中運行,比如第三方插件系統(tǒng)瀏覽器則無法支撐查蓉,另外在內存資源上的使用也不是很便捷乌询,通常一個音樂工程可能需要占據數G內存,運行時需要維護數萬個對象豌研,這對于Javascript來說還是瀏覽器來說都是很嚴重的負擔妹田。
從另一個方面來看唬党,就算我們需要以一種閹割的形式支持Web,那么WASM技術則是我們更佳的選擇。
因此鬼佣,我們不考慮基于HTML5的技術方案驶拱。

為什么不選擇QT & GTK 等老牌原生高性能框架?

在傳統(tǒng)技術上來看晶衷,QT是最符合我們需求的技術方案蓝纲,很多老牌工具廠商背后也都是基于QT技術棧完成。QT在運行效率上而言無疑是最佳的選擇晌纫,我們的主要顧慮在對于CPP的掌控能力與研發(fā)效率税迷,UI開發(fā)與引擎開發(fā)有一個很大的根本區(qū)別在于引擎開發(fā)通常使用單元測試來完成邏輯驗證,而UI則很難使用單元測試來驗證UI效果锹漱,也很少看到有團隊真的依賴單元測試的方式來進行UI開發(fā)箭养,而QT沒有像Webpack類似的hot reload技術,UI的驗證效率會非常的低下哥牍,甚至于不是我們一個小團隊可以承受得起的毕泌。
而CPP也是入門門檻極高的編程語言,我們對于QT方案也存疑嗅辣,但是沒有完全放棄撼泛。

Flutter 的什么特性吸引了我們

  • Flutter使用基于Skia繪圖引擎直接構建組件,操作系統(tǒng)只需要提供像素級的繪圖能力即可辩诞,因此也就保證了跨平臺的UI一致性(像素級一致)坎弯,而對React Native的兼容性吐槽一直充斥著社區(qū)。
  • Dart對于UI開發(fā)也是非常舒服的译暂。
    • 對象默認引用傳遞。
    • 支持HOT Reload撩炊。這為開發(fā)效率帶來本質的提升外永,使得Flutter研發(fā)效率不弱于HTML5
    • AOT支持,生產級代碼運行效率飛升拧咳,不遜色于原生應用的表現伯顶。
    • FFI 支持 。 可以直接與原生C & Cpp代碼進行交互而幾乎沒有任何性能損失骆膝。
    • Web 支持祭衩。 Flutter 即可直接編譯到Web運行,這也為我們提供Web服務打下了可能性阅签。

Flutter的這些特性都是直擊我們需求的掐暮,所以我們決定嘗試使用Flutter來構建我們的平臺。

結論

如果你也在尋找一個技術技術方案兼顧研發(fā)效率與運行時效率政钟,那么Flutter應該是一個很不錯的選擇路克。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末樟结,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子精算,更是在濱河造成了極大的恐慌瓢宦,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灰羽,死亡現場離奇詭異驮履,居然都是意外死亡,警方通過查閱死者的電腦和手機廉嚼,發(fā)現死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門疲吸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人前鹅,你說我怎么就攤上這事摘悴。” “怎么了舰绘?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵蹂喻,是天一觀的道長。 經常有香客問我捂寿,道長口四,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任秦陋,我火速辦了婚禮蔓彩,結果婚禮上,老公的妹妹穿的比我還像新娘驳概。我一直安慰自己赤嚼,他們只是感情好,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布顺又。 她就那樣靜靜地躺著更卒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稚照。 梳的紋絲不亂的頭發(fā)上蹂空,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機與錄音果录,去河邊找鬼上枕。 笑死,一個胖子當著我的面吹牛弱恒,可吹牛的內容都是我干的辨萍。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼斤彼,長吁一口氣:“原來是場噩夢啊……” “哼分瘦!你這毒婦竟也來了蘸泻?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤嘲玫,失蹤者是張志新(化名)和其女友劉穎悦施,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體去团,經...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡抡诞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了土陪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昼汗。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鬼雀,靈堂內的尸體忽然破棺而出顷窒,到底是詐尸還是另有隱情,我是刑警寧澤源哩,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布鞋吉,位于F島的核電站,受9級特大地震影響励烦,放射性物質發(fā)生泄漏谓着。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一坛掠、第九天 我趴在偏房一處隱蔽的房頂上張望赊锚。 院中可真熱鬧,春花似錦屉栓、人聲如沸舷蒲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阿纤。三九已至,卻和暖如春夷陋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背胰锌。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工骗绕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人资昧。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓酬土,卻偏偏與公主長得像,于是被迫代替她去往敵國和親格带。 傳聞我的和親對象是個殘疾皇子撤缴,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內容