WebNR 1.0:你的新宠网文阅读神器(没有老大哥监视的那种)
想象一下:晚上11点,你终于舒舒服服地准备阅读那本你一整天都心痒痒的小说。但是,与其沉浸在故事中,你却在与弹窗作斗争,与失效的书签对抗,还要疑惑为什么这个应用需要访问你的通讯录。听起来很熟悉吧?这正是我们创建WebNR的原因。
阅读革命从这里开始
说实话,大多数阅读应用把我们当作产品对待。它们跟踪我们的每一次点击,出售我们的阅读习惯,并将我们的书籍锁在数字围墙之后。WebNR与众不同。我们是为读者打造阅读器的读者。没有企业霸主。没有隐藏议程。只有纯粹的阅读体验。
我还记得促使这个项目诞生的那一刻。两年前,我正沉浸在一部翻译的修真小说中,突然我最喜欢的聚合网站关闭了。就这样,我在几十本小说中的阅读位置消失了,连同我精心策划的阅读列表一起。当我寻找替代品时,每个选择都像是一种新的惩罚。
商业平台要求账户仅仅是为了记住我离开的位置,同时悄悄地构建我的阅读习惯档案。当我给一个流行服务发邮件询问他们收集了哪些数据时,他们的隐私政策堪称企业模糊性的典范——基本上就是"你做的一切,永远"。桌面应用程序提供了更好的隐私保护,但感觉像是穿越回2005年,笨重的界面在我尝试导入较大的小说时经常崩溃。一个流行的基于Java的阅读器消耗了如此多的内存,以至于我的笔记本风扇听起来像是准备起飞。
浏览器扩展最初看起来很有希望,直到Chrome的安全性更改使许多扩展被遗弃。幸存下来的扩展通常需要令人担忧的权限——仅仅为了记住我的章节就要完全访问浏览历史?不,谢谢。而离线阅读则是一场噩梦。我每天穿越地铁隧道的通勤意味着不断丢失阅读位置,或者发现章节没有正确下载。
你的阅读体验属于你,而不是那些追踪你在香艳场景上停留多久或哪些类型让你熬夜的算法。当网站关闭或公司更改策略时,你的小说不应该消失。这就是为什么WebNR在你的设备上本地处理所有内容,可以离线工作,并且从不需要登录或账户。
幕后揭秘:打造更好的体验
1.0版本的旅程就像写一部小说——充满转折和角色发展。那次我们不小心删除了三周的工作?让我们只说有眼泪和太多咖啡。但每个深夜都让我们更接近一些特别的东西。
我们的"啊哈"时刻出现在我们意识到现代浏览器可以做的远不止显示猫咪视频。IndexedDB给了我们持久存储,就像一个在需要更多空间时神奇扩展的书架。Service Workers提供了离线超能力,在连接恢复时在后台静默同步。而现代浏览器的沙盒安全模型为你的数据创建了一个隐私力场。
技术实现并不简单。我们的第一个原型使用了传统的服务器架构,直到我们意识到这从根本上与我们的隐私目标相矛盾。转向完全客户端的方法带来了跨域资源共享(CORS)限制的新挑战。当你尝试从另一个域获取内容时,浏览器出于安全原因经常会阻止这些请求。
我们尝试了各种解决方案——代理服务器、扩展,甚至桌面配套应用——最终选择了使用Service Workers作为拦截层的解决方案。这种方法对大多数源效果很好,但仍然与采用复杂反爬虫技术的网站作斗争。你可能偶尔会遇到无法从某些源加载的小说——我们正在积极为这些边缘情况开发更强大的解决方案。
处理文本编码成为一个意外的头痛问题。虽然大多数现代网站使用UTF-8,但较老或特定地区的网站经常使用GB18030或Big5等编码。我们的检测系统大部分时间都有效,但有时会产生看起来像数字字母汤的乱码文本。当这种情况发生时,你可以手动指定编码,虽然这是我们希望在未来版本中消除的额外步骤。
我们的源系统经历了几次完整的重写。我们最初尝试构建可适应任何网站结构的自动爬虫,但这在技术上具有挑战性且在道德上值得商榷。我们最终选择了一种基于配置的方法,其中源以结构化JSON格式定义。这对一致的网站效果出奇地好,但当网站更新设计时可能会出现问题。我们仍在探索如何使其更有弹性,而不需要不断更新。
以下是WebNR与其他阅读方案的对比:
功能 | 传统平台 | 桌面应用 | 浏览器扩展 | WebNR 1.0 |
---|---|---|---|---|
隐私 | 大量跟踪 | 仅本地 | 因扩展而异 | 完全本地处理 |
离线支持 | 有限或付费 | 优秀 | 不稳定 | 支持离线但有同步问题 |
跨平台 | 仅网页 | 特定操作系统 | 特定浏览器 | 任何现代浏览器 |
多源支持 | 通常单一源 | 有限导入 | 通常不错 | 基础多源支持但偶有问题 |
存储效率 | 云端 | 本地文件 | 有限 | 使用分块系统的IndexedDB |
更新 | 定期但强制 | 不频繁 | 不可靠 | 社区驱动 |
阅读自定义 | 基本选项 | 通常广泛 | 各异 | 实现了基本功能 |
需要安装 | 创建账户 | 软件安装 | 扩展安装 | 即开即用 |
实话实说:它还不完美...但在进步
看,我们不是说这是最终章节。我们的文本转语音有时听起来像感冒的机器人。深色模式不是纯黑色——更像是"午夜灰"。如果你尝试加载《战争与和平》这样的大部头...也许暂时还是坚持短一点的小说吧。存储效率仍在发展中——有数千章节的小说可能会消耗大量浏览器存储空间,偶尔触发使用提示或导致特别大的作品性能下降。
进度跟踪在单个浏览会话中工作得很好,但在切换设备时有时会混乱。我们使用localStorage和IndexedDB备份,这在大多数情况下有效,但仍有一些边缘情况需要解决。如果你遇到进度丢失,章节选择器会让你大致回到离开的位置,尽管你可能需要滚动才能找到确切的位置。
这第一个版本的搜索实现坦率地说是基础的。它可以在章节内查找文字,但还不支持全库搜索。基于源的搜索在很大程度上取决于单个源的能力,在较大的存储库中可能会很慢。有时结果立即出现;其他时候你可能会怀疑你的查询是否消失在数字虚空中。
尽管有这些成长的烦恼,WebNR仍然实现了其核心承诺:让你掌控阅读体验。分页和滚动模式在大多数设备上可靠运行(尽管我们在较旧的Android浏览器上看到了一些渲染问题)。阅读界面不会妨碍你,让故事成为主角。最重要的是,你的阅读数据只属于你自己。
加入我们的阅读革命
这不仅仅是另一款应用的发布——这是一场运动的开始。我们正在构建我们一直想要的阅读体验,我们希望你与我们一起塑造它。
如果你遇到错误(你可能会遇到),请在我们的GitHub问题跟踪器上报告它们。具体说明发生了什么以及复现问题的步骤——"在切换到深色模式时第437章变成了象形文字"比"它坏了"对我们帮助更大。如果你有技术能力,我们欢迎拉取请求,即使是小的文档改进或拼写修正。
要立即体验WebNR,只需在任何现代浏览器中访问app.webnovel.win。无需创建账户,无需安装过程,无需权限对话框——只需打开页面并开始阅读。从文件或URL导入小说,或连接到预配置的源之一浏览可用书籍。体验可能还不够完美,但我们希望你能看到我们正在构建的潜力。
对于技术好奇者,我们的GitHub仓库包含完整的源代码和文档。我们特别希望得到浏览器兼容性测试和其他小说网站的源配置方面的帮助。即使你不是开发者,对阅读体验的反馈也能帮助我们确定改进的优先级。
故事继续...
1.0版本只是WebNR故事的第一章。我们已经根据早期反馈开始改进:
源系统需要重大改进。当前创建新源需要手动编辑JSON,这对非技术用户不友好。我们正在开发一个可视化源创建器,使这个过程对非技术用户更容易。我们的目标是建立一个社区驱动的源库,涵盖从主流出版商到小众翻译组的一切。
对于核心阅读体验,我们专注于搜索能力和阅读统计。许多测试者要求更好的方式来跟踪阅读速度和习惯,我们已经开始在注重隐私的前提下实施这些功能。我们希望为你提供见解而不收集你的数据。
从长远来看,我们正在探索使用WebAssembly实现更好性能的EPUB支持。早期实验很有希望,但我们仍在解决移动端性能问题。由于格式的复杂性,PDF支持带来了更大的挑战,但仍在我们的路线图上。
在所有这些过程中,我们的北极星保持不变:构建一种尊重你的隐私、适用于所有设备的阅读体验,让你专注于真正重要的事物——故事本身。
所以,拿起你最喜欢的小说(如果是同人小说我们也不会评判),泡一杯茶,让我们一起重新发现阅读的乐趣。你的下一个精彩故事等待着——这一次,你掌控一切。
附言: 帮助修复我们代码的开发者将获得永恒的感谢……也许还有一个定制的"我修复了WebNR"贴纸。GitHub仓库在此 ⚡