【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

微软披露了 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:402131
用户头像

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

关注

评论

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

苹果Mac最佳卸载程序和清理助手:App Cleaner & Uninstaller

Rose

mac系统清理优化软件 苹果系统清理 App Cleaner

SVN管理工具Cornerstone意外退出怎么办?

魔仙苹果mac堡

SVN管理工具 cornerstone 4破解 Cornerstone mac版 Cornerstone意外退出

Golang中如何使用Singleflight库进行并发请求合并

Jack

Redis桌面管理用什么工具好?

真大的脸盆

Mac Mac 软件 桌面管理工具

站点可靠性工程SRE最佳实践 -- 黄金监控信号

俞凡

SRE

一套前后台全部开源的H5商城送给大家

越长大越悲伤

开源 java‘

Java IO流详解

timerring

Java

Mac 触控增强神器:BetterTouchTool如何使用?

Rose

苹果软件下载 BetterTouchTool破解 BetterTouchTool教程 Mac 触控增强神器

Java实现坦克大战2.0

timerring

Java

深入理解 TypeScript 的 type 以及 type 与 interface 和 class 的区别

Lee Chen

typescript

【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的Redis延时队列的功能组件

洛神灬殇

redis 分布式 延时队列 redisson 三周年连更

面对“失业焦虑”我们可以做些什么?让 AI 帮助自己变得更强大! | 社区征文

Jerry Wang

人工智能 机器学习 程序员 ChatGPT 三周年征文

Smart Disk Image Utilities for Mac(智能磁盘镜像工具)

魔仙苹果mac堡

Smart Disk Mac磁盘管理

Go常用设计模式(中)

海风极客

三周年连更

云原生应用使用的云服务组件介绍

穿过生命散发芬芳

三周年连更 云服务组件

架构训练营模块一作业

Geek_3d7c4d

架构训练营

什么是人工智能领域模型的 Presence Penalty 参数?

Jerry Wang

人工智能 机器学习 深度学习 强化学习 三周年连更

玛雅Maya 2024 发布 maya2024破解

魔仙苹果mac堡

maya2024下载 maya2024新功能 maya2024安装教程

2023-05-06:X轴上有一些机器人和工厂。给你一个整数数组robot,其中robot[i]是第i个机器人的位置 再给你一个二维整数数组factory,其中 factory[j] = [posit

福大大架构师每日一题

golang rust 福大大

Pratt Parsing - 自顶向下的算符优先级

乌龟哥哥

三周年连更

Office Mac升级提醒如何去掉?关闭Microsoft AutoUpdate弹框提示

Rose

许可证 Office 2019中文版 Office Mac office更新 office2021下载

软件测试 | MTV开发模式

测吧(北京)科技有限公司

测试

Django笔记二十二之多数据库操作

Hunter熊

Python django database

macOS硬盘如何格式转换?用Tuxera NTFS就够了!

Rose

ntfs FAT32

Macos媒体播放器 Movist Pro 针对 macOS 13 Ventura 进行了优化

Rose

Movist Pro 中文版 Movist Pro下载 Macos媒体播放器 视频播放器下载

waves插件更新,Waves V14系统及支持的主机一览

魔仙苹果mac堡

waves下载 waves14

Go常用设计模式(下)

海风极客

三周年连更

Focus Matrix for Mac(智能任务管理器)

Rose

mac软件下载 Focus Matrix 任务管理器

macbook触摸板怎么按右键

魔仙苹果mac堡

MacBook 触控板

必知必会的JavaScript前端面试题篇(一),不看后悔!

控心つcrazy

C++虚函数详解:多态性实现原理及其在面向对象编程中的应用

小万哥

c++ 程序员 面试 后端 开发

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