[梦泽]TurboFeLy:一个比Pjax更强的现代化界面无刷新加载
-
一个现代化的界面无刷新加载库兼原生 SPA 加速库,旨在提供比 Pjax 更现代化的解决方案
https://github.com/YShenZe/TurboFeLy
使用文档和从Pjax迁移文档前往仓库查看开发目的
页面无刷新加载是PHP时期的东西了 ,那时候还是Pjax统一天下。
现在的现代化前端框架对SPA(单页应用)支持很强 Turbo等SPA加速库相继发布。
Pjax由于其低扩展、低配置、低适配而被时代淘汰。
对于非渐进式框架的原生/超集/预处理开发来说,急需一个比Pjax更现代化解决方案,TurboLinks出现了。
梦泽实在用不习惯TurboLinks,于是自己开发了TurboFeLy,是一个工程化的页面无刷新加载库,基于Fetch+DOM差异算法开发,比器TurboLinks,TurboFeLy多了DOM差异更新、智能多级缓存、预加载、内置动画系统,其技术力达到TurboLinks3.0水平。做为竞品,TurboFeLy相TurboLinks来说,社区生态还是太差了。
据测试,TurboFeLy的DOM差异算法相对TurboLinks的直接替换,DOM操作次数减少40%-60%。
在 10k 节点页面中:- TurnoFely 差异更新耗时:12-18ms
- TurboLinks 整页替换耗时:45-65ms
差异算法使渲染线程占用时间减少 63%
开源地址:https://github.com/YShenZe/TurboFeLy