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