0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全功能跨平台的音乐制作平台设计方案

谷歌开发者 来源:谷歌开发者 作者:谷歌开发者 2022-03-11 09:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文由小声团队出品,小声团队是一个专注于音频&音乐技术的初创团队,深度使用 Flutter 构建跨平台应用,希望与大家一起共同探索 Flutter 在桌面端&移动端的可能性。

背景

我们计划研发一款全功能跨平台的音乐制作平台 (DAW),从立项之初我们就已经明确了全平台的支持计划 (即Windows / MacOS / Linux / iOS / Android),也因此我们也是以这个为目标来寻找技术解决方案,经过一段时间的研究与学习,大致确定了几个可选项,内部的调研结果如下(本结果仅代表团队内部认知,如有差异还请包涵):

技术方案 性能 研发效率 跨平台兼容性 扩展能力 原声代码交互能力
HTML5
QT 极低
React Native
Flutter

为什么不使用基于 HTML5 打造的技术栈?

HTML5 是众所周知的最易上手的跨平台 UI 解决方案,并且产业成熟,有众多可选的框架与开源组件可直接使用。但是 DAW 作为一款专业生产力工具并不适合完全在浏览器环境中运行,比如第三方插件系统浏览器则无法支撑,另外在内存资源上的使用也不是很便捷,通常一个音乐工程可能需要占据数 G 内存,运行时需要维护数万个对象,这对于 Javascript 来说还是浏览器来说都是很严重的负担。 从另一个方面来看,就算我们需要以一种阉割的形式支持 Web,那么 WASM 技术则是我们更佳的选择。 因此,我们不考虑基于 HTML5 的技术方案。

为什么不选择 QT & GTK 等老牌原生高性能框架?

在传统技术上来看,QT 是最符合我们需求的技术方案,很多老牌工具厂商背后也都是基于 QT 技术栈完成。QT 在运行效率上而言无疑是最佳的选择,我们的主要顾虑在对于 CPP 的掌控能力与研发效率,UI 开发与引擎开发有一个很大的根本区别在于引擎开发通常使用单元测试来完成逻辑验证,而 UI 则很难使用单元测试来验证UI效果,也很少看到有团队真的依赖单元测试的方式来进行 UI 开发,而 QT 没有像 Webpack 类似的 hot reload 技术,UI 的验证效率会非常的低下,甚至于不是我们一个小团队可以承受得起的。 而 CPP 也是入门门槛极高的编程语言,我们对于 QT 方案也存疑,但是没有完全放弃。

Flutter 的什么特性吸引了我们

Flutter 使用基于 Skia 绘图引擎直接构建组件,操作系统只需要提供像素级的绘图能力即可,因此也就保证了跨平台的 UI 一致性 (像素级一致),而对 React Native 的兼容性吐槽一直充斥着社区。

Dart 对于 UI 开发也是非常舒服的。

对象默认引用传递。

支持 HOT Reload。这为开发效率带来本质的提升,使得 Flutter 研发效率不弱于 HTML5

AOT 支持,生产级代码运行效率飞升,不逊色于原生应用的表现。

FFI 支持。可以直接与原生 C & Cpp 代码进行交互而几乎没有任何性能损失。

Web 支持。Flutter 即可直接编译到 Web 运行,这也为我们提供 Web 服务打下了可能性。

Flutter 的这些特性都是直击我们需求的,所以我们决定尝试使用 Flutter 来构建我们的平台。

结论

如果您也在寻找一个技术方案兼顾研发效率与运行时效率,那么 Flutter 应该是一个很不错的选择。

"开发者说·DTalk" 面向

中国开发者们征集 Google 移动应用 (apps & games) 相关的产品/技术内容。欢迎大家前来分享您对移动应用的行业洞察或见解、移动开发过程中的心得或新发现、以及应用出海的实战经验总结和相关产品的使用反馈等。我们由衷地希望可以给这些出众的中国开发者们提供更好展现自己、充分发挥自己特长的平台。我们将通过大家的技术内容着重选出优秀案例进行谷歌开发技术专家 (GDE) 的推荐。

原文标题:我们为什么选择了Flutter Desktop | 开发者说·DTalk

文章出处:【微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 移动
    +关注

    关注

    1

    文章

    430

    浏览量

    39830
  • 操作系统
    +关注

    关注

    37

    文章

    7436

    浏览量

    129609
  • 功能
    +关注

    关注

    3

    文章

    590

    浏览量

    30351

原文标题:我们为什么选择了Flutter Desktop | 开发者说·DTalk

文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用PYTHON进行的平台仿真

    内部的解决方案,而且还允许平台模拟,以从其他程序或编程语言获益,并结合熟悉物理光学特性的VirtualLab Fusion,从而扩展模拟、优化、设计和后处理的选项。 因此,我们正在深入研究
    发表于 04-02 08:21

    HarmonyOS首登微信公开课,分享平台适配与体验提升实践经验

    近日,2026微信公开课PRO在广州举行。值得关注的是,HarmonyOS开发专家首次以官方分享嘉宾身份亮相开发者专场,并围绕“平台适配与体验提升”这一主题,深入剖析了微信小程序在平台
    的头像 发表于 02-02 09:22 505次阅读
    HarmonyOS首登微信公开课,分享<b class='flag-5'>跨</b><b class='flag-5'>平台</b>适配与体验提升实践经验

    小艺开放平台平台功能

    平台的高效编排方式。开发者可通过该模式基于鸿蒙Agent通信协议快速、便捷地将成熟的第三方智能体对接至小艺开放平台,实现分发与调用,提升平台的场景覆盖能力。该模式适用于同时具备鸿蒙端应用与云侧智能体能力的企业开发者。 本文参考
    发表于 01-30 15:24

    航盛电子搭载QNX技术的墨子域融合平台正式量产

    近日,航盛创新引领行业的单芯片级舱驾融合解决方案--墨子域融合平台实现全球量产首发,并将配套国内某头部合资车企。该平台搭载QNX Hypervisor for Safety技术,具备
    的头像 发表于 12-04 15:19 606次阅读

    电磁频谱监测平台系统设计方案

    电磁频谱监测平台系统设计方案
    的头像 发表于 10-23 16:03 790次阅读
    电磁频谱监测<b class='flag-5'>平台</b>系统<b class='flag-5'>设计方案</b>

    电磁频谱监测系统软件设计方案

    电磁频谱监测系统平台设计方案
    的头像 发表于 09-28 16:03 502次阅读
    电磁频谱监测系统软件<b class='flag-5'>设计方案</b>

    电磁频谱监测系统设计方案

    电磁频谱监测系统平台设计方案
    的头像 发表于 09-28 15:58 1013次阅读
    电磁频谱监测系统<b class='flag-5'>设计方案</b>

    全新升级MokuOS 4.0,简化设备平台协同交互

    、iPadOS和visionOS平台兼容。此次升级不仅包括全新仪器功能提升仪器性能,还对APIs以及Moku云编译优化,为用户带来更强大高效的测量实验平台。新系
    的头像 发表于 09-23 10:01 898次阅读
    全新升级MokuOS 4.0,简化<b class='flag-5'>跨</b>设备<b class='flag-5'>平台</b>协同交互

    什么是零代码平台

    )也能轻松构建系统、设备的自动化流程,而我们的平台,正是这样一款深耕工业自动化领域的零代码解决方案—— 不仅具备上述核心能力,更针对工业场景强化了设备兼容性与流程可靠性:支持 PL
    发表于 07-12 20:28

    ArkUI-X平台技术落地-华为运动健康(二)

    健康使用了编译前动态修改import的技术方案:根据接口的形式抽象数据平台功能,利用编译前动态import的方式来根据宿主形态来确定调用的具体方法。具体方案如下: 1.在鸿蒙Next
    发表于 06-18 23:04

    ArkUI-X平台技术落地-华为运动健康(一)

    开”的加载速度,所以目前H5平台技术只在运动健康应用某些低频和容易变化的页面上使用,在一二级页面仍使用原生native开发。 平台方案
    发表于 06-18 22:53

    ArkUI-X平台应用改造指南

    ArkUI-X平台应用改造指南 现状与诉求 随着 HarmonyOS Next 5.0 版本正式发布,众多开发者基于 ArkTS 语言为 HarmonyOS Next 系统开发了大量应用,这极大
    发表于 06-16 23:05

    ArkUI-X平台差异化

    平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOS Next)。当不同平台业务
    发表于 06-10 23:08

    ArkUI-x平台Bridge最佳实践

    ⾯时才能进⾏,不能在⾮ArkUI界⾯触发。平台桥接机制有两种应⽤场景: 1.ArkUI界⾯需要和原⽣应⽤底座进⾏业务层⾯通信,⽐如应用中,需要借助宿主通道获取设备状态信息、下发控制命令等; 2.平台
    发表于 06-10 23:06

    ArkUI-X平台框架接入指南

    ArkUI平台框架(ArkUI-X)进一步将ArkUI开发框架扩展到了多个OS平台:目前支持OpenHarmony、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一
    发表于 05-18 18:21