大家好,最近在做一个阅读类产品(目前关注 epub 格式),在研究阅读器实现方案时有些疑惑,想请教下有经验的朋友。 目前我能想到的几种可能方案: [ol] WebView + 深度定制 比如基于类似 foliate.js / epub.js 这种排版引擎自己接管分页、段落拆分、行高、字体、主题、进度等优点是跨端快,缺点是需要大量 Hack WebView 行为 原生实现排版 iOS 用 CoreText / TextKitAndroid 用 StaticLayout / 自绘完全自己控制分页、缓存、手势、动画工程量巨大,但体验最好? 混合方案 数据层按“句 / 段”切好原生做分页与交互但排版规则可能还是参考 Web 的模型? [/ol] 我比较困惑的是: 像 番茄小说 / 起点读书 这种体量和体验都很成熟的阅读器 👉 更可能是完全原生自研,还是基于 WebView 深度魔改?现在主流商业阅读 App 是否还在使用 Web 技术栈?如果是原生实现,一般是 “按页缓存” 还是 “按段落流式计算”? 目前我自己倾向于认为: 早期可能 WebView ,成熟后大概率是原生排版引擎 但没有实锤证据。 如果有做过阅读器、电子书、小说 App 的朋友,或者踩过相关坑,欢迎分享一下你们的实践经验 🙏 也很欢迎推荐一些值得研究的开源项目或技术方向。 感谢!