10 月,开发者不可错过的开源大数据大会-2021 WeDataSphere 社区大会深圳站 了解详情
写点什么

微软披露了 Spartan 中所使用的渲染引擎的细节

2015 年 3 月 08 日

微软披露了在 Spartan web 浏览器中所使用的新渲染引擎的更多信息,Windows 10 的桌面版本和移动设备版本将预装该浏览器。

Charles Morris 是 Spartan 项目的项目经理主管,他在一篇博客帖子中详细地解释了该项目背后的成因、IE 浏览器的历史以及未来的计划。该项目的成因之一是为了打造一个能够与 Chrome 和 Firefox 竞争的现代化渲染引擎,除此之外,Morris 还提到:“我们需要计划这样一种浏览器,在我们快速地引入现代化的 HTML5 特性的同时,它也能够高度地向后兼容企业客户的需求”。

新的渲染引擎最初是基于现有的 Trident 引擎进行开发的,该引擎中包含了向后兼容达 20 年的遗留代码。在新的代码分支创建之后,微软耗费了几个月的精力,以删除各种不必要的代码,例如文档模式和VBScript 等等,这些特性在精益的、更现代化的引擎中已无用武之地了。但是,为了继续支持那些针对特性的老版本IE 所创建的企业web 应用,新的Spartan 浏览器中依然保留了陈旧的引擎。Spartan 能够“无缝地”在两种渲染引擎之间进行自动切换。

Hacker News 网站上的一篇讨论中,微软的高级 web 平台工程师 Jacob Rossi 表示:“由于 Spartan 中移除了老版本 IE 中遗留的那些冗余部分,因此它的磁盘与内存占用都比 IE 要小”。

自从 Windows Phone 8.1 更新版本推出之后,微软就改变了浏览器的用户代理字符串(user agent),改变后的字符串会让目标网站认为该请求是来自于某些更流行的设备的,例如 iPhone。为了确保 Spartan 中能够获得最好的内容展示效果,新的浏览器也将继续使用这一做法,它的用户代理字符串将被改为:

复制代码
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

请注意:在新的字符串中没有了“Trident”的身影,取而代之的是“Edge/12.0”。

在这篇帖子中,微软表示,他们曾经讨论过是否要使用开源的 WebKit 渲染引擎,但最终还是决定开发一套自己的引擎。Morris 说道:“虽然使用 WebKit 具有某些优势,但经过进一步的调查后,我们还是认为这不是正确的方向,原因主要有两点”。

首先,Web 的原则之一就是让多种独立的、并且能够互操作的 Web 标准的实现共存,我们也认为 Web 不应该朝向单一的方向发展。其次,从整个工程所需的精力方面来看,与使用开源引擎开发全新的浏览器相比,如果我们能够基于自有的引擎进行开发,就能够更快地为客户推出一个专注于互操作性的引擎。

在推特上的一场对话中,用户 @sircmpwn 询问了微软将 Spartan 浏览器的代码开源的可能性。微软对此回应到:“近期没有将代码全部开源的计划,但我们会以别的方式拥抱开放性(例如通过 http://status.modern.ie 网站)”。

IE 从版本 11 开始就设定为自动升级,在 Windows 10 中也会继续沿用这一持续更新的设定。多年以来,由于 IE 的兼容性和“怪癖”所造成的问题一直饱受 web 开发者们的抨击,至于 Spartan 能够平息这些批评的声音,还有待时间的检验。

查看英文原文: Microsoft Shares Details on Spartan Rendering Engine

2015 年 3 月 08 日 08:401789
用户头像

发布了 428 篇内容, 共 155.0 次阅读, 收获喜欢 27 次。

关注

评论

发布
暂无评论
发现更多内容

『设计模式』80年代的人们竟然领悟了设计模式-- 发布者/订阅者模式 (包括发布者/订阅者模式和观察者模式的区别)

风骨散人

Java 设计模式 发布订阅模式

『Python爬虫』Python实现刷B站、爱奇艺等视频网站播放量(Python教学文章)

风骨散人

Python 爬虫

互联网HR黑话指南

这就是编程

数据分析(第八章作业)

Deborah

JavaEE知识体系梳理

空城机

Java Java介绍 Java EE 大学作业

区块链数字版权-重新定义版权保护

13530558032

已拿到蚂蚁金服Offer!阿里内部二十三万字Java面试题总结

Java架构之路

Java 程序员 架构 面试 编程语言

进阶面试皆宜!阿里强推Java程序员进阶笔记,差距不止一点点

Java架构之路

Java 程序员 架构 面试 编程语言

ARTS-Week-0

绝影

ARTS 打卡计划 ARTS活动

完美解决Win10“无法登陆到你的账户”问题,无法登录账户的全方面解决方案!

风骨散人

win10 系统

adb工具的基本使用

行者AI

软件测试

Python救救我!如何连接串口实现一个报警灯报警器

ucsheep

Python websocket 串口 报警器 报警灯

『计算机组成原理』 计算机系统概述(考研、面试必备)

风骨散人

作业 - 第九周

eva

【Mysql实战】问题分析利器之binlog

程序员架构进阶

MySQL 数据库 Binlog 28天写作 3月日更

OKR之一

张老蔫

28天写作

凭借这份《Java面试手册》,成功让我“吊打”了大厂面试官

互联网架构师小马

Java 面试 求职 找工作

第九周学习总结于心得

产品经理训练营

Service Mesh是什么,为我们解决了什么问题?

xcbeyond

Service Mesh 服务网格 3月日更

操作系统--死锁避免(银行家算法)

风骨散人

银行家算法

iOS面试进阶&程序员养成文件(附下载地址)

ios 程序员 面试 iOS逆向

『设计模式』以为是个王者,后来班主任来了!设计模式--二五仔的观察者模式

风骨散人

设计模式 观察者模式

vivo 应用商店中的断点续传技术剖析

vivo互联网技术

华为与开发者的“情谊”,在HDC.Cloud 2021上书写智能时代新篇

脑极体

源中瑞智慧平安社区-为社区居民保驾护航

13530558032

牛哇!看完阿里独家面试手册金三银四稳了,GitHub一天标星66K(Java岗)

Java架构之路

Java 程序员 架构 面试 编程语言

云端身份认证和访问管理

龙归科技

身份云 云安全

再推荐一款小众且好用的 Python 爬虫库 - MechanicalSoup

星安果

Python 自动化 爬虫 MechanicalSoup 小众

区块链电子合同--助推智慧政务

13530558032

计算机组成原理--主存储器

风骨散人

『C++』我想学C++,C++太难了,那我想入门,给我10分钟我带你入门

风骨散人

开源中间件技术学习路线

开源中间件技术学习路线

微软披露了Spartan中所使用的渲染引擎的细节-InfoQ