2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

  • 2015-03-08
  • 本文字数:1240 字

    阅读完需:约 4 分钟

微软披露了在 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-03-08 08:402480
用户头像

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

关注

评论

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

gRPC学习之三:初试GO版gRPC开发,Java面试题中高级

Java 程序员 后端

Java BSON使用,springboot运行原理理解

Java 程序员 后端

Java 世界里的垃圾回收规则你搞懂了吗?,java编程思想百度云

Java 程序员 后端

hive学习笔记之三:内部表和外部表(1),贼好用的Java学习路线集合

Java 程序员 后端

hive学习笔记之八:Sqoop,大厂Offer拿到手软啊

Java 程序员 后端

IDEA这样配置,好用到爆炸!(1),java基础入门第二版课后答案

Java 程序员 后端

jackson学习之九:springboot整合(配置文件),jpa和mybatis的区别面试

Java 程序员 后端

Java lambda表达式用法介绍,linux教程第四版思考题答案

Java 程序员 后端

HashMap源码解析,操作系统原理与实践教程第三版答案

Java 程序员 后端

Hello Git快速入门,redis常见数据结构以及使用场景分析

Java 程序员 后端

IDEA 一键部署 SpringBoot 项目到远程服务器 Docker 内(1)

Java 程序员 后端

Intellij IDEA神器那些让人爱不释手的小技巧,java高级程序员面试笔试

Java 程序员 后端

jackson学习之八:常用方法注解,为什么阿里的程序员成长如此之快

Java 程序员 后端

hive学习笔记之七:内置函数,mybatis防止sql注入原理

Java 程序员 后端

IDEA这样配置,好用到爆炸!,金九银十怎么从中小企业挤进一线大厂

Java 程序员 后端

Jaeger知识点补充,mysqlsql优化视频教程百度网盘

Java 程序员 后端

Java IO,Java真实项目案例分享

Java 程序员 后端

HTTP-2做错了什么?刚刚辉煌2年就要被弃用了!,mybatis底层工作原理

Java 程序员 后端

IDEA 一键部署 SpringBoot 项目到远程服务器 Docker 内

Java 程序员 后端

Java SSM (springboot+mybatis)美食菜谱分享平台系统设计和实现以及论文报告

Java 程序员 后端

Java this关键字详解(3种用法),springaop实现原理面试题

Java 程序员 后端

Java 必须掌握的 12 种 Spring 常用注解!你掌握了几种?

Java 程序员 后端

HashMap详解,hadoop源码分析完整版

Java 程序员 后端

hive学习笔记之九:基础UDF,java入门书籍下载

Java 程序员 后端

Java 多线程 —— 同步代码块,给大家安排上

Java 程序员 后端

HashMap(jdk1,Java程序员进大厂面试必备基础技能

Java 程序员 后端

Helm部署的服务如何修改配置,nginx面试题负载均衡

Java 程序员 后端

hive学习笔记之三:内部表和外部表,java面试手写算法

Java 程序员 后端

HTML笔记 —— 列表,和快手大佬的技术面谈

Java 程序员 后端

IDEA-2021首个大版本发布,Java开发者感动哭了(附新亮点演示

Java 程序员 后端

1个月连载30个设计模式真实案例(附源码),挑战年薪60W不是梦

Tom弹架构

Java 架构 设计模式

微软披露了Spartan中所使用的渲染引擎的细节_JavaScript_David Iffland_InfoQ精选文章