为何需要设计一个专属的UI界面,并自己实现界面渲染引擎?
原因有两点:
-
传统的html标记语言过于复杂,并且技术无法自我控制并迭代
-
html的渲染需要用浏览器,浏览器过于复杂庞大,依赖后会有很多问题
-
网络攻击,太多的病毒正对浏览器做网络攻击,导致打印有时会出现问题
-
浏览器安装包过于庞大对于打印来说,太重
-
浏览器本身过于复杂,过于庞大,有太多和打印无关的功能,整体不可控
-
浏览器技术本省并不能跨平台,每个平台的版本不一致,导致平台差异
-
浏览器渲染基本无法在后端底层渲染,后端渲染的方案是headless,这个方案的服务器成本太高
目前市面上的SaaS打印解决方案,大都采用浏览器渲染内容,并最终转为PDF或者其他可打印文件,其中对浏览器的依赖,导致安装包过大,或者因为依赖环境问题,导致在实际使用过程中,各种问题不断,都是各种环境问题,公司层面需要付出大量的人力,解决客户的打印问题
综合考量,考察了打印行业的解决方案后,没有发现一个可以商用的全流程解决方案,决定做一个自己的打印网关语言,并制作独立的渲染引擎,可以解决上面所有的问题
解决方案:
- 独立设计UI界面语言,方便以后根据打印网关的需求逐步迭代,可以做更深入的探索
- 通过对UI渲染引擎的开发,解决通过浏览器渲染的性能问题和依赖的问题,同时解决从设计到实现的不同技术栈导致的各种无法解决的细节问题
- 通过对xml语言的设计,可以通盘考虑,包括组件,数据绑定等技术问题,一次性解决核心问题