一种将过程式计算渲染转换成响应式计算渲染的方法技术

技术编号:40780859 阅读:20 留言:0更新日期:2024-03-25 20:25
本申请的一种将过程式计算渲染转换成响应式计算渲染的方法,通过利用JavaScript运行时收集源码中需要使用的状态,结合词法分析器和词法替换器将状态转换成响应式状态,使用词法分析器获得状态在源码中的应用,生成状态和响应式状态的映射表,使用计算转化器将状态转化为响应式状态,使用计算转化器将对响应式状态的获取改成计算属性,多重计算时使用递归生成计算属性,同时将事件的监听和使用转化为侦听器和状态方法,使用响应裁剪器分析调用栈,当调用栈相同时,对侦听器进行去重复,或为调用栈生成唯一识别码,比较唯一识别码完成冗余计算,实现将传统过程式计算渲染转换成响应式计算,以交付最好的用户体验。

【技术实现步骤摘要】

本申请涉及it与软件开发中的前端开发,特别涉及一种将过程式计算渲染转换成响应式计算渲染的方法


技术介绍

1、传统的前端渲染计算均是基于过程式的计算然后进行渲染,这个过程式的渲染流程主要是包含以下几步:第一,建立初始状态。第二,使用一个算法进行计算,修改初始状态得到中间结果。第三,使用中间结果进行二次算法计算或多次算法计算,得到最终的状态结果。第四,使用最终结果进行渲染。这种过程式的计算渲染,优势在于业务逻辑比较清晰,计算的流程符合算法的设计也能保留计算复杂度的优势。但是劣势是在于前端交互和渲染的过程中,每次状态更新都需要全量重新计算渲染。

2、传统的过程式计算在每次状态更新时都需要进行全量重新计算和渲染,这可能导致性能开销较大。由于全量重新计算的需要,传统方法可能导致交互响应速度较慢。在现代的用户体验中,用户期望能够获得更快的反馈,而全量计算可能无法满足这一需求。随着应用逻辑的复杂性增加,过程式计算的代码可能变得难以维护和理解。特别是当涉及多次状态变更和复杂的数据流时,代码可能变得冗长且难以调试。传统方法对于异步更新的支持可能较差,难以处理异本文档来自技高网...

【技术保护点】

1.基于时间轮与消息驱动的分布式任务方法,其特征在于,包括:

2.如权利要求1所述的基于时间轮与消息驱动的分布式任务方法,其特征在于,所述状态包括但不限于:每个节点的坐标和节点的大小,以及每个连线的坐标和连线的大小。

3.如权利要求2所述的基于时间轮与消息驱动的分布式任务方法,其特征在于,所述状态的收集是利用JavaScript运行时劫持JavaScript代码的property读取来收集所需的状态。

4.如权利要求3所述的基于时间轮与消息驱动的分布式任务方法,其特征在于,所述JS词法替换器将状态转换成响应式状态时,底层使用原生的proxy或者defi...

【技术特征摘要】

1.基于时间轮与消息驱动的分布式任务方法,其特征在于,包括:

2.如权利要求1所述的基于时间轮与消息驱动的分布式任务方法,其特征在于,所述状态包括但不限于:每个节点的坐标和节点的大小,以及每个连线的坐标和连线的大小。

3.如权利要求2所述的基于时间轮与消息驱动的分布式任务方法,其特征在于,所述状态的收集是利用javascript运行时劫持javascript代码的property读取来收集所需的状态。

4.如权利要求3所述的基于时间轮与消息驱动的分布式任务方法,其特征在于,所述js词法替换器将状态转换成响应式状态时,底层使用原生的proxy或者defineproperty进行劫持。

5.如权利要求4所述的基于时间轮与消息驱动的分布式任务方法,其特征在于,所述使用js词法分析器获得状态在d3源码中的所有应用,生成一个状态和响应式状态的映射表,使用计算转化器将d3源码中的状态转化为响应式状态是指:利用js词法分析器对d3源码进行分析,识别出其中使用的状态,包括但不限于变量、属性、函数地词法分析,针对d3源码中js词法分析器获得的状态,生成一个映射表用于将每个状态与对应的响应式状态建立...

【专利技术属性】
技术研发人员:徐忠勇代有为
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1