大家好,我是TRNovel的开发者。距离上一次更新博客已经过去了好几个月,很多朋友可能以为这个项目已经停止维护了。今天,我很高兴地告诉大家------TRNovel不仅没有停止开发,反而经历了一次彻底的蜕变!
消失的这段时间,我在做什么?
几个月前,当我发布了第一版TRNovel并写下那篇博客------TRNovel:一个专为小说爱好者打造的终端阅读器时,收获了不少鼓励和支持。但同时,我也清楚地意识到项目存在一个严重的问题------代码维护性差。
当时采用的是命令式UI开发方式,对于习惯了React或Vue这类声明式框架的我来说,每次更新界面都需要大量手动操作,既繁琐又容易出错。特别是在处理异步操作和状态管理时,代码变得异常复杂,几乎到了"牵一发而动全身"的地步。
面对这样的技术债务,我面临两个选择:要么放弃项目,要么彻底重构。作为一个对技术有追求的开发者,我毫不犹豫地选择了后者。
痛并快乐的重构之路
为了彻底解决UI开发的痛点,我做出了一个大胆的决定------开发一个基于ratatui的声明式框架:ratatui-kit。
这意味着我需要暂停TRNovel的开发,先去深入学习和研究底层框架的实现原理。我花了一个月的时间深入研究iocraft的源码,理解声明式UI框架的设计理念和实现方式。这个过程虽然充满挑战,但也让我对终端UI开发有了更深刻的理解。
在完成ratatui-kit框架的开发后,我立即开始了TRNovel的重构工作。这是一项艰巨的任务------需要将原有的命令式代码全部改写成声明式,并修复之前遗留的各种问题。
全新TRNovel,焕然一新
经过几个月的努力,TRNovel终于迎来了全新的版本。这次更新不仅仅是功能上的增强,更是整个架构的重塑。
🚀 核心改进
声明式UI架构 - 最大的变化是采用了声明式UI,这让代码变得更加清晰、易于维护和扩展。
完善的文档支持 - 为了让大家更好地使用TRNovel,我专门用Astro和Starlight为其编写了详细的使用文档:TRNovel使用文档
听书功能上线 - 基于kokoro-tts引擎的全新听书功能,让你可以"听"小说而不是"读"小说:

感谢与展望
感谢大家这段时间的耐心等待,也感谢那些一直关注和支持TRNovel的朋友们。虽然这次更新花费了比预期更长的时间,但我相信这样的投入是完全值得的。
未来,我会继续完善TRNovel,为大家带来更好的阅读体验。如果你有任何建议或想法,欢迎随时通过GitHub与我交流。
如果你觉得TRNovel对你有帮助,请不要吝啬你的Star!你的支持是我持续改进的动力!
👉 GitHub地址:github.com/yexiyue/TRN...