改进计划 - scutxieyun/nrenderjs GitHub Wiki
- 后端转换的优化,这部分代码属于即兴创作,代码缺乏条理,结构很差,需要将框架和具体的JSON-JSX解释逻辑分开。比较典型的例子是对html_href的解释,由于对其格式了解不多,新的数据结构不能覆盖老的数据模型。后面,一方面,将item_href的格式确定下来,不要再扩展。另一方面,review下新的数据结构,确保能满足将来的需求。
- 另一方面,这部分代码很关键,后续应该重新组织对DOM和Style处理的过程,明确先处理什么,后处理什么,比如size的处理,影响size的属性有font-size, height, width,x-scale, y-scale。这些属性怎么反映到DOM的生成上。同时,转换程序也是一个优化显示的机会,比如现在image的size是根据x_scale来定,这样可以减少不必要的tranform.
- 后端没有日志管理,没有错误记录,这点,得麻烦建平跟进。
- Renderjs与容器(即加载renderjs的模块)接口没定义清楚,我尝试在renderjs_entry.js中定义一些,但还不够,这点,麻烦刘标整理现在引擎与容器的交互,将需求确定下来。如renderjs中作品要访问存储,作品要打电话,作品要求访问外部链接,作品要启动收费/缴费确认等,这些都不属于renderjs的东西,容器需要提供接口定义。
- 产品部正在讨论作品打印,我建议在新的引擎下实现。正好利用服务器渲染功能。当然,我们的代码应该要做些调整,这是一个机会让我们完善现有组件功能定义,又或每个组件有不同版本,支持不同的渲染。
- 整个代码框架是react提供的,最复杂的部分莫过于MeVPads,里面的buffer管理,延迟换页,延迟deactive,交互管理做得比较复杂。余金同学后面要多吐槽了。
- 作品发布,作品js和renderjs都放在CDN上,提高效率。