文章目录Spotube一个不用 Electron 的跨平台音乐播放器插件驱动想听什么自己加基础功能该有的都有安装方式覆盖全平台技术栈的选择开源协议和社区适合什么人用Spotube一个不用 Electron 的跨平台音乐播放器最近在 GitHub 上看到一个项目叫 SpotubeStar 数已经到了 4.7 万。这东西是个跨平台的开源音乐流媒体客户端用 Flutter 写的不是 Electron。插件驱动想听什么自己加Spotube 最大的特点是插件系统。传统播放器绑死一个音源Spotube 通过插件接入各种平台的音乐数据。社区可以开发插件支持主流平台你自己也能写插件对接小众服务。这个设计思路挺有意思的。市面上大多数音乐客户端都是固定对接某一个 APISpotube 把这个抽象出来了变成了可扩展的架构。对用户来说选择权更多了对开发者来说接入新平台的成本也低了。安装之后系统会引导你选择或安装插件整个流程比较清晰。不用折腾配置文件点几下就能用。基础功能该有的都有Spotube 支持的功能清单插件化音源支持任意平台歌曲可自由下载自带元数据标签跨平台支持Windows、macOS、Android、iOS、Linux 都有时间轴同步歌词不依赖插件是否支持播放控制在本地完成不在服务器端无遥测、无诊断、不收集用户数据原生性能不是套壳浏览器歌词同步这个功能做得比较用心。很多客户端的歌词功能需要平台本身支持Spotube 自己处理了这一步不管插件来源是哪里歌词都能同步显示。下载功能也实用。下载下来的歌曲自带元数据标签不用再手动整理。对于喜欢本地收藏的人来说这个细节很加分。安装方式覆盖全平台Spotube 的安装渠道很全Windows 用户可以用 Chocolatey、Scoop 或者 WinGet 安装也可以直接下载安装包。macOS 有 Homebrew 支持。Linux 支持 Flatpak、Debian/Ubuntu 的 deb 包、Fedora/OpenSuse 的 rpm 包Arch 用户可以用 AUR。Android 有 APK 直装和 F-Droid 两个渠道。iOS 需要通过 AltStore 侧载 IPA 文件这个稍微麻烦一点但也是 iOS 生态限制导致的。版本更新周期大概 3 到 4 个月节奏比较稳定。也有 Nightly 构建版本想尝鲜的可以试试。技术栈的选择Spotube 用 Flutter 开发这一点在 README 里专门提了一句不是又一个 Electron 应用。Flutter 编译出来的是原生代码启动速度和内存占用都比 Electron 好不少。音乐播放底层用的是 MPV这是一个成熟的开源播放器引擎。数据存储用 DriftDart 的 SQLite 封装网络请求用 Dio。整个技术栈选型比较务实都是经过验证的方案。插件系统用的是 Hetu 脚本语言这是个轻量级的嵌入式脚本方案。选择嵌入脚本语言而不是直接写 Dart 插件降低了社区贡献的门槛。开源协议和社区Spotube 用的是 BSD-4-Clause 协议代码完全开源。项目由 Kingkor Roy Tirtho 发起并维护团队还有几个人负责 macOS 开发和 Discord 社区管理。从 Star 数和更新频率来看项目活跃度不错。4.7 万 Star 在开源音乐播放器这个品类里算高的了。适合什么人用如果你想要一个轻量的跨平台音乐客户端不想被绑在某个平台上Spotube 值得试试。特别是它的插件机制给了用户很大的自由度。对开发者来说这也是一个学习 Flutter 实战项目的不错案例。代码结构清晰技术栈现代文档也比较完整。不过有一点要注意Spotube 本身不提供音乐内容它只是个客户端框架。你需要自己配置音源插件才能正常使用。如果你期望装完就能听歌可能会有点失望。但如果你愿意花几分钟配置一下体验还是不错的。架。你需要自己配置音源插件才能正常使用。如果你期望装完就能听歌可能会有点失望。但如果你愿意花几分钟配置一下体验还是不错的。