带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(1)

简介: 带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(1)

跨桌面端Web容器演进

image.pngimage.png作者:鲍晓鹏(汉闻) 出品:大淘宝技术

 

 

浏览器是大家所熟悉的。本文会从容器的架构演进,容器的功能增强和稳定性保障及未来的演进,这3个方面介绍一下我们的应用程序是如何对接浏览器的能力的。有问题的地方欢迎大家指正,也欢迎对浏览器内核感兴趣的同学一起探索。

此文为本系列文章第二篇,

第一篇:跨全端SDK技术演进 本文:跨桌面端之Web容器演进第三篇:跨桌面端之组件化实践

 

背景

 

随着客户端技术的逐渐发展,Web容器已经深入客户端,为客户端构建了丰富多彩的页面和交互体验,成为客户端 的一个不可或缺的重要组成部分。在千牛客户端上,Web容器不仅承载了千牛的开放容器(经历了H5插件到千牛 小程序的变革),而且一些核心功能,比如聊天窗口,消息中心,也都是由Web容器承载的。

 

一开始,Web容器在不同的操作系统有各自的选择,比如在Widnows上的IE内核,而在Macos用WKWebview。  但是随着Chrome的发展,渐渐的Chromium开始一统江湖。大家也开始基于开源的Chromium定制自己的内核。自己定制的内核不仅有着跨端的特性,而且能很好的支持前端的业务诉求。千牛也在此时定制了自己的web容器AEF,全称Application Embedded Framework。

 

容器的架构演进

Application Embedded Framework(AEF)

 

AEF是千牛自己是基于chromium源码定制的内核。

 

 

 

image.png

 

AEF的框架结构

 

概括来看AEF框架主要封装了如下功能

 

 

  1. 控件接口,暴露接口给PC客户端,比如支持浏览网页,前进,后退,刷新,强制刷新,中止等功能
  2. 事件响应,AEF上面开放了很多事件出来,供应用来决定是否处理相应的事件,比如文档加载完成,页面加载失败,资源加载失败,页面发生崩溃,标题发生刷新,url发生重定向等。
  3. JS和本地C++的交互,这个是通过render delegate直接向WebKit注册native sdk的dll,再通过事件发送到PC 客户端完成的。
  4. 丰富的扩展功能,比如定制自定义协议alires,完成本地包的加载和支持打印等功能。

 

 

带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(2)https://developer.aliyun.com/article/1340344?groupCode=taobaotech


相关文章
|
17天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
22天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
49 4
|
22天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
50 3
|
25天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
32 6
|
24天前
|
运维 Kubernetes Docker
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
43 1
|
24天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
50 1
|
25天前
|
安全 持续交付 Docker
深入理解并实践容器化技术——Docker 深度解析
深入理解并实践容器化技术——Docker 深度解析
45 2
|
26天前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
26天前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
28天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
35 1