NGI Mobifree 资助客户端应用的全面重构
发布于 2025-04-29,发布者为F-Droid 应用诞生于 2009 年 Android 发展的早期,其代码库中至今仍保留着大量陈旧的代码。尽管 Android 生态已经历了翻天覆地的变化,但 F-Droid 社区依然凭借各种缝缝补补的临时手段,奇迹般地维持着这款应用的运转。
然而,这项任务正变得愈发艰巨。在项目的生命周期中,总会遇到这样一个阶段:累积的技术债已到了无法收拾的地步,唯一的出路就是从头开始重写。这项工作已经开展一段时间了。我们一直在重构应用的基础组件,并将其转化为可复用的类库。不过,大部分上层代码也同样需要重写。
遗憾的是,由于剩下的部分存在长期积累的错综复杂关系,我们现在已经无法通过零星的改动来完成这项任务了。剩余的工作需要大刀阔斧地一次性完成,但这对于个人志愿者的贡献来说工作量太大,而且这类性质的工作通常也很难吸引外部资助者的青睐。
因此,我们非常荣幸地宣布,下一代互联网倡议旗下的 Mobifree 项目已同意资助这一重大的现代化工程。在他们的支持下,我们计划对 F-Droid 客户端进行全面升级,重点优化用户界面,提升易用性,从而吸引更多新用户。与此同时,此次升级将降低开发者参与贡献的门槛;此外,通过提升测试覆盖率并减少代码耦合,维护人员在审查和合并外部代码时也将更加高效、轻松。
重写后的代码将完全采用 Kotlin 编写,并利用 Compose 构建用户界面。通过采用现代架构模式,应用将变得更易于维护,也能让开发者更愉快地参与代码贡献。此外,它还能实现响应式界面,自动适配从手机、折叠屏、平板到桌面端的各类屏幕尺寸。
