F-Droid 2.0

F-Droid 2.0 是十年来最大的一次更新:客户端用 Kotlin 与 Jetpack Compose 重写,索引格式与分发流程也跟着改,目标是让这个不依赖 Google 的应用商店更容易维护。

中文
复制
F-Droid 2.0 的界面截图,新版应用列表与导航

经过一年多的努力,我们很高兴地宣布 F-Droid 2.0 正式发布。这是 F-Droid 官方应用的全面重新设计,也是 10 年来规模最大的一次更新。

十多年来,F-Droid 一直帮助人们发现并安装自由及开源的 Android 应用。F-Droid 2.0 在此基础上更进一步:现代化的界面、更好的应用发现方式、改进的搜索,以及更简洁的使用体验——无论你是刚接触 F-Droid,还是已经用了多年,都能用得顺手。

这不只是视觉上的翻新。我们重新设计了用户体验,使其与当下的 Android 设计规范(如 Material Design)顺畅衔接,同时保留了 F-Droid 用户熟悉的交互方式。关键组件用 Kotlin Compose 重写——这是如今的标准工具链——从而打下了一个基础,让我们在未来几年能更快地交付改进。

在经历了 14 个测试版本之后,我们很高兴能在接下来几周内开始向用户推送 F-Droid 2.0。

有哪些变化?

F-Droid 2.0 的主要目标之一,是让你更轻松地发现、安装和维护自己依赖的应用。我们把主导航简化为三个核心区域:发现、搜索和我的应用。分类现已并入发现页,浏览和探索更加方便;我的应用则集中管理已安装的应用、更新和潜在问题。设置和附近交换仍然只需在顶栏轻点一下,但不再占用主导航的空间。

可发现性改进

帮助人们发现相关的自由及开源软件(FOSS)是 F-Droid 2.0 的首要目标之一。随着 F-Droid 生态增长到数千个应用,找到合适的应用变得越来越困难。新版本在浏览、分类到搜索等各个环节都做了改进,让你更容易找到符合需求的软件。当然,F-Droid 做这些事不会追踪你,也不会试图“留住”你,让你在应用里越待越久。

重新设计的 Discover 体验

全新的 Discover 界面帮你发现那些原本可能错过的应用。除了突出新上架和最近更新的应用,它现在还会展示仓库中下载量最高的应用。无论你是刚接触 F-Droid,还是想找点不一样的东西,Discover 都提供了多种方式,让你探索这个不断壮大的自由及开源 Android 应用生态。

更实用的分类

分类在帮助用户浏览仓库方面发挥着重要作用,因此我们对其进行了大幅扩展和细化,新增了更多专门的分类,让你更容易找到特定类型的应用,比如 VPN、防火墙、密码管理器、启动器和导航工具。具体包括:

  • 首先,我们大幅扩展了分类体系。F-Droid 不再依赖少数几个宽泛的分类,而是加入了更多专门的分类,让你只需轻点几下就能更接近想要的应用类型,甚至无需开始搜索。
  • 其次,为了让这个扩展后的分类体系更易于浏览,我们在 Discover 界面引入了更高层级的“元”分类。它们把相关的分类归到一起,为浏览不断壮大的 F-Droid 生态提供了一个更易上手的入口。
  • 最后,分类现在在整个应用中扮演着更重要的角色。它们的名称和描述被用来改进应用发现,帮助引导用户找到相关的自由及开源应用。

作为这项工作的一例,我们彻底重做了 Games 分类。F-Droid 2.0 不再把所有游戏归为一类,而是区分出 17 种不同的游戏类型,让你更容易找到真正喜欢玩的游戏。

懂你所需的应用搜索

搜索也得到了显著改进。除了应用名称,它现在还能搜索应用描述、分类和翻译内容。这样一来,你可以根据应用的功能而非名称来查找应用,更加方便。

我们还在中文、日文和韩文搜索上做了大幅改进。新的搜索系统对 CJK 书写系统的支持好得多,用户用母语也能更可靠地找到相关应用。

搜索还会记住你最近的查询,让你能快速回到之前的搜索,不用重新输入。

强大的筛选,也能轻松上手

浏览和搜索只是一部分。F-Droid 2.0 还引入了强大的筛选选项,帮你把长长的应用列表收窄到真正想要的那几个。

筛选条件可以叠加,比如按应用分类、设备兼容性、反特性等组合使用。举个例子,你可以只看与你的设备兼容的动作游戏,同时排除依赖非自由网络服务的应用。

为了让用户发现这些以及其他进阶功能,F-Droid 2.0 在应用各处加入了引导页。与其把功能藏在复杂的设置里,不如在需要的地方给出提示,新用户和老用户都能把 F-Droid 用得更充分。

无论在哪运行,安装体验都更顺畅

很长一段时间里,点击安装或更新之后的体验都被 Android 限制得差了一截。如今,很大程度上得益于欧盟《数字市场法》(DMA)带来的压力以及世界各地的反垄断行动,Android 开始向所有应用商店提供一种更顺畅、更自动化的安装与更新方式。F-Droid 2.0 在利用这些新能力上做了开创性的工作。这让 F-Droid 对所有安装方式都使用统一的安装器,无论是系统内置的还是你自己装到设备上的。统一安装器用上了新的预批准 API,因此在支持的设备上,用户决定安装应用后马上就能确认,而不用等应用下载完。这样一来,在官方 Android 设备上,F-Droid 的安装体验已经非常接近系统自带应用商店了。

哪些功能被调整,哪些被移除

一次如此规模的重构,意味着必须审慎决定哪些东西该留在新应用里,哪些可以换一种方式处理,哪些已经不再值得继续保留。为了让 F-Droid 2.0 更精简、更易维护,一些熟悉的功能发生了变化、被挪了位置,或者被直接移除——但核心功能以及用户依赖的特性并未因此牺牲。

image

更新检查现在自动进行

F-Droid 2.0 默认会获取并安装应用更新。如果你希望自己掌控,也不必担心,你原有的偏好设置依然会被沿用。

有些用户习惯用下拉刷新手势来检查所有仓库的更新。在 F-Droid 2.0 中,下拉手势只用于滚动。之所以能这样做,是因为应用现在可以在后台自动检查更新。我们没有去保留一个熟悉的操作,而是把重点放在让它变得不再必要。最好的刷新按钮,就是你永远不用按的那个。

想要更多掌控权的用户,仍然可以使用细粒度和手动的更新选项。如果你以前用下拉刷新来手动触发更新,现在可以在「我的应用」界面右上角的操作溢出菜单(也就是那个「三个点」)里找到它。

流量使用设置

F-Droid 让你决定什么时候下载什么内容。这有助于照顾我们在全球各地需求各异的用户。许多用户的移动流量很便宜,而对另一些人来说,移动流量贵得难以承受。有些用户对隐私有更高的要求,因此需要控制自己的网络流量。还有一些用户使用的设备性能有限,F-Droid 在后台更新时就会变得卡顿。控制这一切的设置经过了重新设计,让 F-Droid 更容易按你的需要来调整。

隐私与安全功能

一些 F-Droid 用户所处的环境中,仅仅安装了某些应用、甚至只是使用 F-Droid,就可能招来不必要的关注。为了帮助这些用户,F-Droid 长期以来一直提供一套隐私与安全功能,用来同时保护用户本人及其数据。

Tor 是关键隐私工具之一,F-Droid 长期以来一直支持将所有网络连接经由 Tor 传输,也支持通过 Tor Onion Services 访问仓库和镜像。自 Tor 支持首次集成以来,Android 上 Tor 的集成方式已经发生了不小的变化。如今有 TorVPN、Orbot、TorServices 等等。我们借此机会简化了设置,并移除了已不再可靠的自动检测。如果你之前启用了“Use Tor”,该设置会被迁移到通用的 Proxy Settings。今后,想要轻松使用 Tor,推荐采用 Tor VPN;需要手动控制的用户仍然可以使用 Proxy Settings。

另一个关键部分是那组“panic”功能,让用户能在紧急情况下迅速从设备上清除某些特定类型的敏感信息。这些功能在 F-Droid 2.0 中依然保留,仍是满足高安全需求用户的重要支撑。

值得一提的是,F-Droid 的应用隐藏功能做了简化,让用户能准确了解自己可以期待怎样的保护。F-Droid 是最早提供应用隐藏功能以保护用户隐私的应用之一,其中包括我们的“panic”功能——把 F-Droid 应用伪装成一个简单的计算器应用。这个简单的功能来自许多用户的请求,此后 Orbot、TorVPN、Signal 等也陆续加入了类似的伪装功能。随着时间推移,广泛使用的应用之间形成了一种标准设计,新版本也采用了这一设计。该功能的设计目的是让用户更好地理解伪装的局限。现在,伪装不再让应用看起来、用起来像一个简单的计算器应用,而只影响应用图标和名称,仅此而已。这等于告诉用户:F-Droid 应用仍会出现在“Apps”设置中,在取证检查时也会被发现。希望这一改动能让用户更容易理解该功能的局限,同时在需要时仍然可以使用它。

尚未恢复的一项功能,是在 Ripple 这类恐慌触发应用被触发时,能够移除并抹除应用。我们知道有些用户出于隐私和人身安全的考虑依赖这一功能,也明白它不只是一项易用性功能。但维护它需要高度专门化的工作,而考虑到用户规模很小,我们认为它不该再阻碍这么多其他重要改进。

抹除应用仍然是一项重要功能。我们尤其欢迎使用它的用户提供反馈,帮助我们了解它在什么情况下、以何种方式被使用,以便在继续改进 F-Droid 2.0 的过程中评估最佳的前进路径。依赖当前抹除应用实现的用户,可以在我们评估是否恢复该功能期间,选择暂不更新到 F-Droid 2.0。

对于集成 F-Droid 的 Android 版本

F-Droid 的设计目标是被集成进任何版本的 Android 或 AOSP,CalyxOS、emteriaOS、iodéOS、Lineage-for-microG 和 ShiftOS 都是如此。每个 OS 都可以通过“additional repos”机制默认包含自己的仓库。如果你使用上述某个 OS,这些仓库会显示在你的 Repositories 概览中。想进一步了解有哪些变化,请看这篇博客文章。

另外,F-Droid Privileged Extension(FPE)目前不受 2.0 支持。也就是说,即使安装了 FPE,F-Droid 2.0 也不会使用它。这次重构的重点是完整支持 Android 的“session”安装器。有了它,F-Droid 就能在较新的 Android 版本上运行后台更新,无需 FPE。和这里的任何改动一样,我们欢迎反馈。

降低贡献者的门槛

F-Droid 2.0 的许多改进是表面可见的,但其中一些最重要的变化发生在幕后。

这项工作中的所有新代码都采用现代 Android 代码标准和设计。这让我们得到一个更易于维护、测试,也更易于在未来扩展新功能的代码库。

这次重写的目标之一,是降低新贡献者参与的门槛。过去十年间,Android 开发已经发生了很大变化,F-Droid 2.0 如今用 Kotlin 构建——这门语言已经成为现代 Android 开发的标准。这让熟悉当下 Android 生态的开发者更容易为这个项目做出贡献。

新的用户界面用 Jetpack Compose 构建,这是 Android 应用的标准工具包。除了简化开发,它还帮助我们让 F-Droid 更贴近 Material Design——贯穿整个 Android 的设计体系。结果是,F-Droid 对 Android 用户来说更熟悉,同时又保留了自己的身份与价值观。

最重要的是,这些改动为 F-Droid 未来十年的开发打下了基础。维护负担减轻、贡献更容易之后,我们就能把更多时间花在改善用户体验上,少花些时间跟技术债纠缠。有些新工具还依赖 Android 本身的修复,其中一个修复是在 Android 7 中加入的,这迫使我们放弃对 Android 6 的支持。和以往一样,旧版 F-Droid 仍可在旧版 Android 上继续使用。

社区共同努力的成果

F-Droid 2.0 是我们历史上规模最大、也最有雄心的项目之一。把它做出来,远不只是写代码。其中包含用户研究、设计、测试、文档、社区反馈、质量保证、大量新代码、一次安全审计,以及无数次关于 F-Droid 未来十年该如何演进的讨论。

这项工作得以完成,离不开许多组织和个人的支持。Torsten Grote 在新应用上的开发工作由 NLnet 通过 Mobifree 基金资助。Open Technology Fund 的 User Experience & Discovery Lab 支持了用户研究与设计工作,并请来 Ura Design 协助开展用户测试、编写用户故事,以及完善我们的人机界面指南。

额外的支持来自 Open Technology Fund 的 Free and Open Source Software (FOSS) Sustainability Fund、NGI、Mobifree 以及 Calyx Institute,他们的赞助帮助支持 F-Droid 生态系统的持续维护与长期可持续发展。

作为这项工作的一部分,Open Technology Fund 的 Security Lab 与 Convocation 合作,对 F-Droid 2.0 进行了独立的安全审查。我们分析并处理了所有与新应用相关的发现,帮助确保此次发布符合用户所期待的高安全标准。待完整审计报告获准发布后,我们期待将其分享出来。

同样重要的是,F-Droid 2.0 凝聚了许多志愿者的贡献。在整个重新设计过程中,社区成员贡献了代码、测试、bug 报告、设计反馈、翻译、文档、UX 讨论以及无数想法。长期贡献者和首次贡献者共同塑造了最终成果。

最后,这项工作离不开你的支持。捐赠为许多不那么显眼但至关重要的活动提供资金,而这些活动并不总能被资助覆盖,包括社区管理、处理积压 issue、质量保证、发布管理和项目协调。这些贡献帮助 F-Droid 在某个特定资助项目结束很久之后依然保持健康。

旅程仍在继续

F-Droid 2.0 是一个重要的里程碑,但并不是故事的终点。重建这个应用让我们拥有了更坚实的基础,但前方仍有大量工作要做。

随着新版本推送给更多用户,我们期待从真实使用中学到很多。从最早的设计讨论到许多 alpha 和 RC 版本,社区反馈一直塑造着 F-Droid 2.0,它也将继续指导未来的改进。有些想法没能进入初始版本,而另一些功能仍在随着我们收集反馈、打磨设计而不断演进。

未来几个月,我们会继续改进性能、无障碍体验、应用发现和整体易用性。用户正在适应新的使用方式,也会帮我们找出还能继续改进的地方,我们会一直倾听。

和此前每一次 F-Droid 大版本发布一样,2.0 不是终点,而是下一章的开头。

Nearby 的未来

Nearby 是仍在不断演进的一块,它让用户无需依赖中心服务器,就能在设备之间直接分享应用。

F-Droid 2.0 的整体改版给了我们一个从头重新思考 Nearby 的机会。我们一直在做一套新的实现,基于改进后的连接方式,让分享应用更可靠、更好用。

这项工作还没准备好进入 F-Droid 2.0 的首个版本,但开发正在积极推进,基础也已经搭好。如果你在意 Nearby 分享,现在正是参与的好时机。在它面向更广泛的用户之前,社区的反馈和测试能帮助塑造这个功能的下一代形态。

你可以怎么帮忙

F-Droid 2.0 来自全球开发者、设计师、测试者、翻译者、捐赠者和社区成员数千小时的工作。现在它正在到达用户手中,我们希望你能帮忙让它变得更好。

如果你收到了这次更新,花点时间体验一下新的界面,然后告诉我们你的想法。无论是发现了 bug、有改进的想法,还是只想说说哪些地方好用,你的反馈都会帮助指引后续的开发。

如果你想更深入地参与,有很多种贡献方式。

帮我们测试、翻译和审查

你可以帮忙测试即将推出的功能、改进翻译和文档、审查 issue、贡献代码,或者加入关于项目未来的讨论。随时欢迎新的贡献者。

考虑向 F-Droid 捐款

如果条件允许,也请考虑为 F-Droid 提供资金支持。通过 Liberapay 或 OpenCollective 捐款,可以帮助项目在两次大版本发布之间维持健康运转——从基础设施、质量保障到社区支持与项目协调,都离不开这些资金。

F-Droid 2.0 是一个重要的里程碑,但工作仍在继续。感谢你与我们一同为 Android 打造一个自由、开放且可持续的应用生态。

来源: F-Droid← 返回首页