Jellyfin Vue 开发历程中的重要里程碑
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
自 2022 年 11 月以来:280 次提交、新增 28,000 行代码、删除 43,000 行代码——这是我们迄今为止最大规模重构的成果,也是自 2020 年启动此客户端开发以来一直期待的生态系统升级。
- Fernando
*不了解 Jellyfin Vue?请跳转至**什么是 Jellyfin Vue?*章节。以下内容包含较多技术细节
当我们开始开发此客户端时,尽管 Vue 3 已近在眼前,我们仍选择了 Nuxt 和 Vue 2。 Nuxt 是搭建项目、进入 Vue 生态的绝佳工具,甚至让我们尝试了 SSR(服务器端渲染)。然而,它强加了过于僵化的结构,而且SSR 最终成为了负担。我们甚至不得不采用特殊技巧来避免页面切换时中断播放。
作为 Vue 3 迁移计划的一部分,我们切换到了标准 Vue 3 项目结构(Vue 3 + Vite + TypeScript,未来将引入 Vitest),这让我们移除了许多用于规避 Vue/Nuxt 2 限制的技巧和遗留代码。此外,Vue 3 仅支持 ES6 兼容的浏览器。我们还使用了某些语法要求 ES2022 支持。这意味着在此次升级中,我们正式弃用了所有过时浏览器的旧版支持,包括大多数智能电视系统。桌面端/移动端的 Chrome/Edge/Firefox/Safari 仍保持完全兼容。只要您设备的浏览器能获得更新,运行 Jellyfin Vue 应该没有问题。
尽管受影响的用户群体可能很小,但我们对可能因此决策受到影响的用户深表歉意。鉴于资源有限,若想打造 Jellyfin 的最佳替代网页客户端,向前发展是我们唯一的出路。您仍可运行 Vue 3 之前的版本(详见下载与更新日志),但该版本将不再获得我们的技术支持。
关于隐私的说明 🕵🏻
我撰写了简短声明解释 Jellyfin Vue(及 Jellyfin Web)的工作原理,因为我发现许多用户对托管实例的运作方式及 Jellyfin 应用连接服务器的机制存在误解。
请务必阅读!
👥 贡献者
Jellyfin 应用由杰出的贡献者开发,没有他们就没有今天的成果。所有贡献者均为无偿付出的志愿者,若您认可他们的工作,请考虑捐赠。特别鸣谢实现此版本的所有贡献者:
Jellyfin开发团队
其 他贡献者
💾 下载与更新日志
此次升级包含 3 个版本:
-
v0.2.0:这是最后一个基于 Vue 2 的版本
-
v0.3.0:这是首个基于 Vue 3 的版本。该版本在我们合并了这几个月的工作分支后立即发布。
-
v0.3.1:与 v0.3.0 相同,但包含所有待处理的依赖项更新。
什么是 Jellyfin Vue?
Jellyfin Vue 是我们于 2020 年开始开发的替代性网页客户端。由于 Jellyfin Web 存在诸多可维护性问题,我们决定采用现代 Web 开发技术栈打造全新客户端,将其作为试验田来探索那些可能无法在 Jellyfin Web 中实现(或难以实现)的创新功能。




前往我们的 GitHub 仓库了解更多详情并获取使用指南!
未来规划
我们已制定功能路线图,核心目标是实现媒体类型驱动的设计体验,让每种媒体内容都能获得原生场景的沉浸感。当前多数 Jellyfin 客户端为适配所有媒体类型而采用通用设计,导致用户在听音乐时无法获得 Spotify 般的播放器体验,观看影视时也缺少 Netflix 式的界面氛围。
我们还制定了优先级排序时间表来优化开发节奏。