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

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

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

iframe增加appid自定义属性

 

PC小程序中的LocalWebview是利用iframe实现的,为了能够让不同的localWebView能证确的路由到小程序包,我们在iframe的标签中增加了自定义属性appid的解析。千牛端在识别appid后可以把资源获取路由到对应的小程序包中。小程序利用这一点支持了插件webview功能,从而实现了丰富的二次开放。

 

UserAgent增强

 

原生的UserAgent是跟随固定名称如Chrome/98.0.4758.102,一个应用程序中,UA是固定的,不允许随意更改。但我们提供WebView容器级别的UA定制。即同在千牛中,不同的WebView的UserAgent  可以增加自定义字段,从而实现在H5插件的WebView和小程序的WebView可以展现不同的UA。利用者一点,ISV可以实现一套代 码同时应用在插件和小程序上,完成自己特定的功能。

 

清理浏览器缓存

 

浏览器的缓存大大提升了浏览器加载速度,但是偶儿因为自身或服务端的异常,会导致浏览器缓存异常。我们通过在CEF中增加接口,沿袭Chromium内部清理缓存流程,实现了可以在不退出应用程序的情况完成缓存的清理。使  缓存出现异常的情况下能够恢复。

 

未来的演进

更好的内存回收策略

 

CEF的框架下,我们沿用了AEF时期的内存回收策略,更多的是在业务测进行。比如在判断用户空闲时对于不活动  的WebControl进行回收。在判断单Render进程内存超过一定阈值时重新启动相应Render进程。但这些都会损失  一定的用户体验。所以我们打算借鉴钉钉之前研究过的Tab休眠策略,让不活动的页面仅保留缩略图,从而在不损失用户体验的情况下,实现内存的优化。

 

 

白屏检测

 

之前我们做过相应的白屏检测的研究。有区于依赖前端技术的白屏检测,客户端做的检测会更贴近用户真实体验。因为前端只能通过检测DOM树的变化来感知,但是否在真的渲染以及真实呈现在用户视觉上的东西是无法感知的。 我们通过检测Render最后生成的渲染帧的绘制指令,以及观察最后窗口的贴图动作能最接近用户测的感知到是否白屏。但在之前预研中,我用统计出来的白屏却高于正常值,需要进一步调研,也欢迎有兴趣的同学一起探索。

 

团队介绍

 

我们是大淘宝技术部行业与商家技术跨终端技术团队,业务上负责为千万级商家打造最高效的一站式工作台千牛, 为淘宝上亿商家和消费者提供稳定高效的端到端消息IM服务;技术上深耕C++跨终端及PC桌面端技术(Win- dows&Mac),为商家,消费者提供稳定,可靠,高效的客户端产品。

相关文章
|
2月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
364 1
|
5月前
|
存储 容器
46.[HarmonyOS NEXT RelativeContainer案例三] 打造自适应容器:内容驱动的智能尺寸调整技术
在HarmonyOS NEXT的UI开发中,创建能够根据内容自动调整尺寸的容器是实现灵活布局的关键。RelativeContainer结合自适应尺寸设置,可以实现内容驱动的智能尺寸调整,使UI更加灵活且易于维护。本教程将详细讲解如何创建自适应尺寸的RelativeContainer,帮助你掌握这一实用技术。
198 5
|
3月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
350 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
3月前
|
Kubernetes Cloud Native 持续交付
Docker:轻量级容器化技术解析
Docker:轻量级容器化技术解析
|
3月前
|
运维 测试技术 Docker
Docker:轻量级容器化技术革命
Docker:轻量级容器化技术革命
|
11月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
5月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。该方案设计目标是实现通用性,适用于各种网络架构和业务场景。
174 1
|
6月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。
226 7
|
7月前
|
弹性计算 Java Maven
从代码到容器:Cloud Native Buildpacks技术解析
Cloud Native Buildpacks(CNB)是一种标准化、云原生的容器镜像构建系统,旨在消除手动编写Dockerfile,提供可重复、安全且高效的构建流程。它通过分层策略生成符合OCI标准的镜像,实现应用与基础镜像解耦,并自动化依赖管理和更新。阿里云应用管理支持通过CNB技术一键部署应用至ECS,简化构建和运行流程。
|
8月前
|
存储 虚拟化 Docker

热门文章

最新文章