它被使用,构建跨平台的桌面应用程序的框架可以构建应用程序兼容和三个平台。
呈横端框架设计需要考虑三个问题,这些问题正在渲染,本地和客户构建方法。如何解决上述问题?
交叉末端原理并不难理解:它集成了浏览器核心并使用前端技术在不同平台下实现渲染,并将使用系统的本地功能调用系统的三个主要部分结合在一起。
总而言之,负责页面渲染并负责业务逻辑,它提供了本地能力和跨平台。
上面粗略解释的十字架原理,让我们深入下面。
它是单个线程的语言,但是浏览器是多线程的。它的实验版本自然基于多线程工作机制。(图片来源:官方网站)
多过程模式主要由三个部分组成:浏览器端(浏览器),渲染侧(渲染),浏览器和渲染器通信方法(IPC)
1.浏览器过程
只有一个浏览器过程。打开时,该过程开始。浏览器负责每个渲染过程的浏览器与渲染器之间的交互。
2.渲染过程管理
每个渲染过程都有一个全局对象,可以管理其与父浏览器过程并保持其全局状态的通信。
3.查看管理
每个渲染器都可以维护多个对象。打开新的标签页面或pop -up窗口时,将创建渲染过程。对象和嵌入式层通信在浏览器过程中对应于它,BEWE将主要关注日常注意力)。
带有架构引用的多过程体系结构模式是隔离主过程和渲染过程,并根据多进程架构进行一定的扩展。
简化上面的复杂体系结构:
它由一个,一个或多个组成。呈现页面网络,负责管理每个功能(菜单栏,收集剪辑等)
让我们看一下架构有哪些更改?
架构中仍使用的渲染接口可能具有多个,可以独立并且不会彼此干扰。因为它已集成为其,因此可以称为。使用实现页面交互效果。
与体系结构相比,该线程的许多更改已更改为重命名。每个应用程序只能具有一个主线程,并且主线程正在向下运行,因此它可以调用系统的基础功能。它的主要责任:创建渲染过程;系统的基础函数的呼吁和本机资源的呼吁;生命周期的控制(包裹发布,发射和一些事件监视)
在上述分析之后,可以将多进程系统体系结构总结如下图:
可以发现,主线程和渲染线程已集成,并且渲染线程还集成了内核以成功实现交叉端的开发。
事件周期与浏览器的事件周期明显不同。由于它是一个实验版本,因此自然与浏览器相同。
事件周期基于实现,并且基于实现。主线程只能同时运行事件周期,因此需要两个完全不同的事件。
有两种解决方案:
最初的计划是第一个实现的计划,但是不同系统事件的循环却大不相同。例如,由于原因,实现该过程的过程特别复杂。
我第二次尝试使用小的间隔计时器打开事件周期,但是该解决方案占据了高,响应速度很慢。
后来,将该概念引入了事件周期的文件描述符,因此通过旋转查询获得的新事件实现了事件周期的融合(第二个解决方案)。
以下对上述过程的完美描述(来源:电子:事件循环绳索-Shelley Vohr | Jsheroes 2019)
参与方法:喜欢或评论(友好的提醒,如果您回复跨终端评论,运气可能会更好)
我是一个小的战场包,是快速增长的小前端,我希望能与所有人取得进步。
如果您喜欢小袋子,可以在掘金中关注我,也可以注意我的小公共帐户 - 小袋子的前端。
一路走来,急于未来!!!
原始:https://juejin.cn/post/7103377772424888356