>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Kotlin

一位开发者如何在Yokai Reader中打造出最佳的Tachiyomi和J2K混合体

2024年初,原始的Tachiyomi项目停止维护后,在Android平台的漫画和连环画爱好者中引发了巨大的混乱。这款流行的开源阅读器分裂成了数十个分支。用户面临着一个选择:Mihon继承了基础应用的血脉,TachiyomiJ2K凭借其精心设计的界面仍然是很多人的最爱,而TachiyomiSY则开发了特定的资源库过滤器。

开发者null2264采取了不同的方式。他们没有在各个分支之间做出选择,也没有忍受每个分支的不足,而是决定将不同作者的最佳功能整合到自己的项目中——这就是Yokai。

Yokai logo

Yokai是什么

Yokai是一款免费的、开源的Android阅读器,使用Kotlin编写。作者在仓库中开篇明义地表示,这个项目是为个人使用而创建的。在他们的个人资料中,这是所谓"超自然"系列分支的一部分——这些实验旨在探索新技术、尝试重构,以及添加那些通过Pull Request不太可能被主仓库接受的功能。

这款应用整合了三个主要的开发分支:

  1. Tachiyomi及其直接继承者Mihon的核心和稳定性。
  2. TachiyomiJ2K的界面解决方案和用户体验。
  3. TachiyomiSY的内容过滤器。

最终呈现的效果浑然一体:你获得了熟悉的阅读功能,配合便捷的手势控制和灵活的布局,而这些在以前需要用户在不同的版本中搜索才能找到。

Yokai screens

主要功能和便捷之处

作者并没有盲目地复制代码,而是在有针对性的功能集成方面做了大量工作。以下是实际使用中比较突出的特点。

来自J2K的高级界面

Yokai与标准Mihon的主要区别在于它处理屏幕和资源库网格的方式。该应用积极运用了Material Design You元素:

  • 漫画卡片界面会根据封面自动适配颜色方案。
  • 浮动搜索栏帮助在滚动时快速筛选标题。
  • 对于平板电脑和折叠屏手机,有一种类似印刷书籍的双页展开模式。
  • 底部工具栏经过扩展,在大屏幕上也能舒适地进行单手操作。
  • 资源库中的分类可以折叠成单个垂直列表,也可以拖动进行手动排序。

本地阅读和ComicInfo.xml文件

许多用户使用这些阅读器不仅是为了在线目录,也为了阅读本地的CBZ和ZIP压缩包。在基础版Tachiyomi中,文件夹中的文件通常会以自定义的或损坏的章节名称显示。

Yokai添加了对本地压缩包内部ComicInfo.xml文件的解析功能。应用会自动从元数据中提取精确的章节编号、原标题和翻译者信息。

资源库组织和备份

作者修复了不同分支之间备份不兼容的长期问题。现在,Yokai的备份可以干净利落地部署到其他当前客户端中。

在资源库结构方面,NSFW/SFW切换系统是从TachiyomiSY移植过来的。此外,动态分类功能会自动工作:应用会根据标签、追漫状态或来源对标题进行分组。

追踪器同步

与原始阅读器一样,与流行追踪服务的集成仍然保留:

  • Shikimori
  • AniList
  • MyAnimeList
  • Kitsu
  • MangaUpdates
  • Bangumi

当阅读完一个章节后,进度会自动发送到选定的平台。

技术层面和开发现状

从代码角度来看,Yokai是一个经典的Kotlin Android应用,需要Android 6.0或更高版本。仓库已通过GitHub Actions配置了CI/CD,每次提交都会构建稳定版本和每日构建版本。

在仓库描述中,作者指出重点已转向将项目迁移到更现代的基础架构。部分代码库正在为当前的Jetpack库和更新的Android 12+指南进行重写。

更新计划不规律:活跃期之后会有一段停顿期。这是一个人的诚实个人项目,不是有严格截止日期的企业产品。不过,Apache-2.0开源许可证允许任何人克隆仓库并提交自己的Pull Request。

这个项目适合谁

这款应用对以下几类用户和开发者都很有用:

  • 拥有平板电脑和大屏设备、怀念标准Mihon中双页模式的用户。
  • 喜欢在本地存储漫画并通过ComicInfo.xml进行整理的用户。
  • 对深入重构和合并主要开源Kotlin项目代码库感兴趣的Android开发者。

总结

Yokai展示了一个很好的例子:一个为个人需求而创建的个人分支,如何发展成为一个对社区有用的便捷工具。这个项目并没有试图重新发明轮子,而是从Tachiyomi生态系统的分散分支中取其精华,并将其打包成一个整洁的界面。

如果你一直在寻找一款具有灵活资源库自定义和平板支持功能的阅读器,不妨从GitHub的Releases部分下载APK试试看。

相关项目