我们( SmartX 前端团队)在去年开源了我们实现的 web 录制与回放库 rrweb,可以将页面中的操作记录为可序列化的日志数据并回放,也在仓库中附上了我们的设计文档。
最近我们在知乎专栏中更新了一篇 博客 ,更详细地介绍了这个项目的演进过程与设计思路,希望能够让对此感兴趣的开发者可以参与其中。
在 rrweb 中我们正在实现的功能包括:
- 对 iframe 和 shadow DOM 的嵌套录制
- 对 CSS in JS 的实现
- 网络请求和异常捕获的插件
除此之外我们也在基于 rrweb 构建一些有意思的应用,例如:
- 一套用户行为收集与分析的 SaaS 化工具
- 面向非开发者的 Demo 录制与编辑工具
当然,rrweb 只是我们工作中实际解决的诸多工程问题的一个缩影,以今年为例,我们的工作内容包括:
- 将一个密集开发了三年的复杂项目渐进式迁移至 typescript,并应用 state chart, UI pattern 等我们认为对于高质量前端开发有极大帮助的理论,甩掉历史包袱,提高代码质量与可维护性。
- 沉淀出一套强类型的 Web 全栈开发技术栈,并且基于强类型定义自动生成大量基础代码,从而把人工开发时间降至最低,快速承接多个内部系统的全栈开发需求。
- 完成一个可以灵活运行在浏览器内或后端服务中的 data layer,让后端情况极为复杂的已有项目也能享受到 GraphQL 对前端开发带来的便利性,并且对于缓存、异步、异常等问题有更加严谨的处理。
如果你也是一个善于运用技术解决工程问题、对高质量的严肃企业应用开发有兴趣的工程师,那么非常欢迎私信和我聊聊~