0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全功能跨平臺的音樂制作平臺設(shè)計(jì)方案

谷歌開發(fā)者 ? 來源:谷歌開發(fā)者 ? 作者:谷歌開發(fā)者 ? 2022-03-11 09:41 ? 次閱讀

本文由小聲團(tuán)隊(duì)出品,小聲團(tuán)隊(duì)是一個(gè)專注于音頻&音樂技術(shù)的初創(chuàng)團(tuán)隊(duì),深度使用 Flutter 構(gòu)建跨平臺應(yīng)用,希望與大家一起共同探索 Flutter 在桌面端&移動(dòng)端的可能性。

背景

我們計(jì)劃研發(fā)一款全功能跨平臺的音樂制作平臺 (DAW),從立項(xiàng)之初我們就已經(jīng)明確了全平臺的支持計(jì)劃 (即Windows / MacOS / Linux / iOS / Android),也因此我們也是以這個(gè)為目標(biāo)來尋找技術(shù)解決方案,經(jīng)過一段時(shí)間的研究與學(xué)習(xí),大致確定了幾個(gè)可選項(xiàng),內(nèi)部的調(diào)研結(jié)果如下(本結(jié)果僅代表團(tuán)隊(duì)內(nèi)部認(rèn)知,如有差異還請包涵):

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

為什么不使用基于 HTML5 打造的技術(shù)棧?

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

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

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

Flutter 的什么特性吸引了我們

Flutter 使用基于 Skia 繪圖引擎直接構(gòu)建組件,操作系統(tǒng)只需要提供像素級的繪圖能力即可,因此也就保證了跨平臺的 UI 一致性 (像素級一致),而對 React Native 的兼容性吐槽一直充斥著社區(qū)。

Dart 對于 UI 開發(fā)也是非常舒服的。

對象默認(rèn)引用傳遞。

支持 HOT Reload。這為開發(fā)效率帶來本質(zhì)的提升,使得 Flutter 研發(fā)效率不弱于 HTML5

AOT 支持,生產(chǎn)級代碼運(yùn)行效率飛升,不遜色于原生應(yīng)用的表現(xiàn)。

FFI 支持??梢灾苯优c原生 C & Cpp 代碼進(jìn)行交互而幾乎沒有任何性能損失。

Web 支持。Flutter 即可直接編譯到 Web 運(yùn)行,這也為我們提供 Web 服務(wù)打下了可能性。

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

結(jié)論

如果您也在尋找一個(gè)技術(shù)方案兼顧研發(fā)效率與運(yùn)行時(shí)效率,那么 Flutter 應(yīng)該是一個(gè)很不錯(cuò)的選擇。

"開發(fā)者說·DTalk" 面向

中國開發(fā)者們征集 Google 移動(dòng)應(yīng)用 (apps & games) 相關(guān)的產(chǎn)品/技術(shù)內(nèi)容。歡迎大家前來分享您對移動(dòng)應(yīng)用的行業(yè)洞察或見解、移動(dòng)開發(fā)過程中的心得或新發(fā)現(xiàn)、以及應(yīng)用出海的實(shí)戰(zhàn)經(jīng)驗(yàn)總結(jié)和相關(guān)產(chǎn)品的使用反饋等。我們由衷地希望可以給這些出眾的中國開發(fā)者們提供更好展現(xiàn)自己、充分發(fā)揮自己特長的平臺。我們將通過大家的技術(shù)內(nèi)容著重選出優(yōu)秀案例進(jìn)行谷歌開發(fā)技術(shù)專家 (GDE) 的推薦。

原文標(biāo)題:我們?yōu)槭裁催x擇了Flutter Desktop | 開發(fā)者說·DTalk

文章出處:【微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 移動(dòng)
    +關(guān)注

    關(guān)注

    1

    文章

    430

    瀏覽量

    38848
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6606

    瀏覽量

    123021
  • 功能
    +關(guān)注

    關(guān)注

    3

    文章

    588

    瀏覽量

    29171

原文標(biāo)題:我們?yōu)槭裁催x擇了Flutter Desktop | 開發(fā)者說·DTalk

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    松下MPS媒體制作平臺的優(yōu)勢和功能

    松下MPS媒體制作平臺是一個(gè)多元化的服務(wù)平臺,它將一體化攝像機(jī)的多種配套軟件整合到一個(gè)統(tǒng)一的環(huán)境中,提供了豐富的功能和直觀的操作界面,讓用戶的使用體驗(yàn)更便捷、更高效。
    的頭像 發(fā)表于 09-19 10:04 ?255次閱讀
    松下MPS媒體<b class='flag-5'>制作</b><b class='flag-5'>平臺</b>的優(yōu)勢和<b class='flag-5'>功能</b>

    昆侖萬維發(fā)布全球首個(gè)AI流媒體音樂平臺Melodio

    昆侖萬維在科技創(chuàng)新領(lǐng)域再次邁出重要一步,正式推出了全球首個(gè)AI流媒體音樂平臺——Melodio,以及配套的AI音樂商用創(chuàng)作平臺Mureka。這兩款創(chuàng)新產(chǎn)品的問世,標(biāo)志著音樂產(chǎn)業(yè)正式邁入
    的頭像 發(fā)表于 08-14 17:44 ?734次閱讀

    松下MPS媒體制作平臺的設(shè)備查看功能

    松下MPS媒體制作平臺是一個(gè)多元化的服務(wù)平臺,用戶可以在統(tǒng)一的界面上進(jìn)行不同需求的功能操作,無需再單獨(dú)一個(gè)個(gè)打開軟件,讓用戶的使用體驗(yàn)更便捷、更高效。
    的頭像 發(fā)表于 08-08 14:11 ?252次閱讀
    松下MPS媒體<b class='flag-5'>制作</b><b class='flag-5'>平臺</b>的設(shè)備查看<b class='flag-5'>功能</b>

    智慧CAN云應(yīng)用(1)-平臺功能

    CANDTU云平臺是一個(gè)專業(yè)CAN報(bào)文存儲(chǔ)與分析平臺,CANDTU云平臺解決方案使汽車路測行業(yè)、工業(yè)自動(dòng)化行業(yè)能夠更有效地采集、管理和分析CAN報(bào)文,下面將詳細(xì)介紹CANDTU云
    的頭像 發(fā)表于 05-25 08:25 ?394次閱讀
    智慧CAN云應(yīng)用(1)-<b class='flag-5'>平臺</b><b class='flag-5'>功能</b>

    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識:【ArkUI平臺設(shè)計(jì)總體說明】

    本文檔描述ArkUI開發(fā)框架平臺運(yùn)行能力相關(guān)的總體技術(shù)方案
    的頭像 發(fā)表于 05-24 15:41 ?1374次閱讀
    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識:【ArkUI<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>設(shè)計(jì)總體說明】

    鴻蒙ArkUI-X平臺技術(shù):【開發(fā)準(zhǔn)備】

    本文檔適用于ArkUI平臺應(yīng)用開發(fā)的初學(xué)者。通過開發(fā)環(huán)境搭建、應(yīng)用工程創(chuàng)建、編譯和運(yùn)行,熟悉ArkUI平臺應(yīng)用開發(fā)基本流程。
    的頭像 發(fā)表于 05-24 10:40 ?364次閱讀
    鴻蒙ArkUI-X<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>技術(shù):【開發(fā)準(zhǔn)備】

    鴻蒙ArkUI-X語言調(diào)用說明:平臺差異化【Android、ios動(dòng)態(tài)化】

    ArkUI-X支持動(dòng)態(tài)化,使用者可以根據(jù)自己需要?jiǎng)討B(tài)發(fā)布平臺內(nèi)容,從而使平臺部分和宿主應(yīng)用進(jìn)行解耦。
    的頭像 發(fā)表于 05-23 14:38 ?631次閱讀
    鴻蒙ArkUI-X<b class='flag-5'>跨</b>語言調(diào)用說明:<b class='flag-5'>平臺</b>差異化【Android、ios動(dòng)態(tài)化】

    鴻蒙ArkUI-X平臺開發(fā):【命令行工具(ACE Tools)】

    ACE Tools是一套為ArkUI-X項(xiàng)目平臺應(yīng)用開發(fā)者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺運(yùn)行,用于構(gòu)建OpenHarmony/HarmonyOS、Android和iOS
    的頭像 發(fā)表于 05-21 17:39 ?1423次閱讀
    鴻蒙ArkUI-X<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發(fā):【命令行工具(ACE Tools)】

    鴻蒙ArkUI-X平臺開發(fā):【bility開發(fā)說明(Android平臺)】

    本文介紹將ArkUI框架擴(kuò)展到Android平臺所需要的必要的類及其使用說明,開發(fā)者基于OpenHarmony,可復(fù)用大部分的應(yīng)用代碼(生命周期等)并可以部署到Android平臺,降低平臺
    的頭像 發(fā)表于 05-21 10:54 ?824次閱讀
    鴻蒙ArkUI-X<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發(fā):【bility開發(fā)說明(Android<b class='flag-5'>平臺</b>)】

    鴻蒙ArkUI-X平臺技術(shù):【開發(fā)初體驗(yàn)】

    在DevEco Studio中導(dǎo)入ArkUI-X Sample,快速創(chuàng)建平臺工程。
    的頭像 發(fā)表于 05-17 15:54 ?484次閱讀
    鴻蒙ArkUI-X<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>技術(shù):【開發(fā)初體驗(yàn)】

    分布式運(yùn)維管理平臺地域企業(yè)中的部署與運(yùn)維案例

    問題,某地域企業(yè)決定引入分布式運(yùn)維管理平臺,以提升其運(yùn)維效率和管理水平。 二、平臺部署與優(yōu)勢 統(tǒng)一化管理與監(jiān)控 分布式運(yùn)維管理平臺通過統(tǒng)一的界面和接口,實(shí)現(xiàn)對
    的頭像 發(fā)表于 03-26 16:11 ?382次閱讀

    如何選擇監(jiān)測平臺有哪些優(yōu)勢 在線監(jiān)測平臺

    監(jiān)測平臺
    穩(wěn)控自動(dòng)化
    發(fā)布于 :2023年12月01日 09:57:08

    基于X86平臺的ARM指令集模擬器的設(shè)計(jì)方案

    電子發(fā)燒友網(wǎng)站提供《基于X86平臺的ARM指令集模擬器的設(shè)計(jì)方案.pdf》資料免費(fèi)下載
    發(fā)表于 11-06 11:54 ?0次下載
    基于X86<b class='flag-5'>平臺</b>的ARM指令集模擬器的<b class='flag-5'>設(shè)計(jì)方案</b>

    Kivy :開源平臺的Python 框架

    好久沒有寫游戲系列教程了,今天恰好瀏覽到了 Kivy 這個(gè)開源平臺的Python 框架,它能用于開發(fā)多點(diǎn)觸控的用戶界面程序,允許快速簡單的交互設(shè)計(jì),非常方便,于是有了制作本教程的想法。 本教程將
    的頭像 發(fā)表于 10-31 15:27 ?955次閱讀
    Kivy :開源<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>的Python 框架

    中頻接收機(jī)硬件平臺設(shè)計(jì)方案

    電子發(fā)燒友網(wǎng)站提供《中頻接收機(jī)硬件平臺設(shè)計(jì)方案.pdf》資料免費(fèi)下載
    發(fā)表于 10-27 10:43 ?0次下載
    中頻接收機(jī)硬件<b class='flag-5'>平臺</b>的<b class='flag-5'>設(shè)計(jì)方案</b>