本周项目:Voltra
本周我们与 Aprile Elcich 和 Paolo Fragomeni 会面,讨论 Voltra,一款由 Electron 支持的音乐播放器。
什么是 Voltra?
Voltra 是一款适用于希望拥有自己音乐的人的音乐播放器。它也是一家商店,您可以在其中根据已拥有内容发现和购买新音乐。它无广告,适用于桌面和移动设备的跨平台。它也不会监视您。
谁适合使用 Voltra?
所有听音乐的人。
是什么促使您创建 Voltra?
广播一直拥有大量听众。它正在从广播电台转向互联网。现在您可以按需租用音乐 - 这是广播的复兴!由于此,许多新产品和服务出现了,但流媒体广播仍然让其他人控制您的音乐以及您体验它的方式。
我们想要一款完全专注于您拥有的音乐的产品。让直接从艺术家或唱片公司发现和购买新音乐变得容易的东西。
有免费版本吗?
桌面播放器完全免费。 销售您的音乐也是免费的! 我们不是广告支持的。
由于该应用程序是免费的,我们以后可能会将其开源。现在我们没有带宽来管理它。我们也对功能和我们想要的方向有非常具体的想法。我们有一个活跃的测试版社区,我们非常重视他们的反馈。
您如何赚钱?
我们有高级功能!
我们的 Voltra 音频档案 是一种专门为音乐设计的云备份服务。我们不会压缩或共享数据块。您的音乐收藏会为您物理备份。
对于艺术家和唱片公司,我们的 Pro 会员资格 提供工具帮助他们接触到更多相关的受众,例如分析和专业的艺术家网页。
是什么让 Voltra 与众不同?
设计和可用性对我们来说极其重要。我们希望给听众带来无干扰的聆听体验!市场上有一些有趣的音乐播放器和商店。但他们中的许多人比他们的创造者意识到的更先进,也更难使用。我们希望让 Voltra 尽可能多的人都能使用。
我们也不会从艺术家或唱片公司那里抽取佣金。这对我们来说是一个关键的差异化因素。它非常重要,因为它降低了艺术家将音乐推向市场的门槛。
您做出了哪些设计和技术决策?
在设计 Voltra 时,我们考虑了原生应用程序和网络的 UI 约定,我们也对可以删除的内容进行了很多思考。我们有一个活跃的私人测试版小组,他们在过去几个月里给了我们关键的反馈。
我们发现专辑封面和摄影对人们来说真的很重要。许多播放器只是文件列表。拥有实体专辑的一件很酷的事情是专辑封面,我们想在 Voltra 桌面应用程序中强调这一点。
我们还确保不要弄乱人们的文件。我们使用文件监控,这样您就可以将文件放在任何您想要的地方,我们不会为您重命名或移动它们。我们有一个嵌入式数据库来跟踪已监控目录的状态,以便我们能够跟踪新增内容,即使进程未运行也是如此。
在构建 Voltra 过程中您遇到了哪些挑战?
我们花费大量时间专注于性能。我们从框架开始,但后来转向了原生 Javascript。根据我们的经验,他们提供的通用抽象超过了他们带来的性能损失和仪式感。
我们现在可以很好地处理非常大的收藏。大型收藏可能意味着数万张图片!直接从渲染进程使用 Node.js 的文件系统模块,可以非常轻松地根据 DOM 事件快速延迟加载和卸载大量图片。
一般来说,setImmediate 和 requestIdleCallback 对于在保持 UI 响应性的同时执行大量处理来说非常重要的工具。更具体地说,将 CPU 密集型任务分配到单独的进程中,确实有助于保持用户界面响应。例如,我们将实际的音频上下文移到单独的进程中,通过 IPC 与其通信,以避免潜在的繁忙 UI 中断。
为什么选择用 Electron 构建 Voltra?
浏览器的沙盒环境对我们的应用来说过于受限。但我们也正在开发一个 Web 播放器。因此,能够在两种实现之间共享几乎 100% 的代码是一个巨大的胜利。
我们实际上是先用 Swift 构建了一个原生应用。我们发现的主要问题是我们重新发明了很多东西。Web 拥有世界上最大的开源生态系统。因此,我们很快就切换到了 Electron。
此外,也是最重要的是,使用 Electron,你只需开发一次,它应该就能在所有主要平台上“正常运行”。虽然不能保证,但为每个平台进行原生编码的成本远远超过了 Electron 带来的任何其他成本。
你最喜欢 Electron 的哪些方面?
GTD!:将 Node.js 的网络栈和 Chromium 的展现层打包在一起是完成事情的秘诀。
能力:它只是 Web 栈,因此我们整个团队实际上都参与了产品的构建。
社区:这是一个高度组织化的社区,他们知道如何很好地沟通!我们对拥有这样的支持感到非常高兴。
Electron 在哪些方面可以改进?
我们希望看到 Electron 认可一个打包器。打包器对于 Electron 的重要性就像包管理器对于 Node 一样重要。用户层有多个打包器,每个都有有趣的特性,但也都有 bug。社区的共识将有助于引导贡献者所花费的精力。
接下来会发生什么?
我们目前正在开发一款移动应用,并与艺术家和唱片公司合作,将他们的音乐添加到 Voltra 商店。嘿!如果你是一位艺术家或唱片公司,立即注册!我们计划在达到 1000 万首歌曲的目标时开放商店。