HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

第三方开发者可将 JIT 和编译器引入 WinRT 吗?

  • 2012-09-08
  • 本文字数:1114 字

    阅读完需:约 4 分钟

微软在向开发者和终端用户大力推广 WinRT 平台的特性,以鼓励更多人采用它。但是,随着人们对 WinRT “围墙花园”所强加的限制的关注,这些特性的代价逐渐被大家所全面认识。

Mozilla 的 Brian R. Bondy 在三月份曾宣布过为Windows8 开发Firefox 的计划,以及该项目如何展示三类应用:“……经典桌面应用,Metro 应用以及支持Metro 风格的桌面浏览器”。微软的白皮书《开发支持Metro 风格的桌面浏览器》详细讲述了开发者怎样将他们的浏览器移植到Windows8 中。

LuaJIT 的开发者 Mike Pall 在 5 月份表示,ARM 版 Windows8(WOA 或 Windows 8 on ARM)的组成架构不支持第三方 JIT(Just-in-time)编译器:

“Windows8/ARM 只支持在沙箱(Sandbox)内运行独立开发者的应用。这些应用只能访问 WinRT API,无法访问所有 WIN32 API。是的,WIN32 API 在 W8ARM 上的确存在,但只有 IE 和系统进程可以访问”

该限制的影响广泛。Pall 关注的是 JuaJIT 的开发,但几乎所有用户都受到影响:“……对于 [WOA],将没有 LuaJIT(JIT 模式下),没有 PyPy,没有 java,没有 v8 等等,以及依赖或内嵌它们的任何软件(Scala、Clojure、Jruby)”。然而,“……[WOA] 版 IE 具有特殊权限,是唯一被允许运行 JIT 编译器以加速 JavaScript 的软件”。对于任何其他浏览器,IE 将有天然的速度优势。

Embarcadero 的 Allen Bauer 带来了最新的发展,他在工作中发现,在 WinRT 平台上将本地代码生成能力添加到其公司的编译器中是行不通的:

“我们非常希望在 WinRT 上支持本地 Delphi&C++ 代码。问题是,任何人实现其语言的运行库(RTL)时都需要使用一些操作系统提供的 API,而事实上 WinRT 却限制这些 API 的使用,除非 VC++ 运行库”。

最新的微软官方响应依旧延续了 Steven Sinofsky 以前发表的文章的论调:

“……WOA 将不会支持任何虚拟化或模拟化手段,不支持现有 x86/64 应用的移植或运行。支持各种形式的模拟器有碍于提供系统可靠性及可预测性的产品发布,设计即是如此。现有代码没有像 WOA 那样针对该平台进行优化。虚拟化或模拟化软件耗费太多的系统资源,包括电池寿命和 CPU。”

让事情更复杂的是微软材料中存在明显的自相矛盾。上述的浏览器开发指南声称“支持 Metro 风格的桌面浏览器”允许使用 JIT 编译,系统中同时只有这类浏览器的一个活动版本。这种情况下,当面对基于 JIT 的浏览器不再是默认配置时,WinRT 平台会如何应对尚不明确。

对整个业界的观察中,可以注意到,开发者历来会接受苹果 iOS 平台对他们开发的限制。而不同的是,微软试图得到他们现存桌面开发者社区的支持,而这些开发者历来不喜欢类似 WinRT 这种形式的限制。


查看英文原文: Can 3rd Party Developers Bring JIT and Compilers to WinRT?

2012-09-08 09:171663

评论

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

电商微服务

intelamd

【愚公系列】2022年07月 Java教学课程 02-Java语言JRE和JDK

愚公搬代码

7月月更

浅尝了一下TypeScript,上头了!

为自己带盐

typescript 7月月更

《MySQL入门很轻松》第4章:数据表的创建修改删除

乌龟哥哥

7月月更

模块六作业 - 拆分电商系统为微服务

Elvis FAN

Qt | 定时器的使用 QTimer

YOLO.

定时器 qt 7月月更

如果设计业务微服务架构 - 作业

阿拉阿拉幽幽

IoT物联网安全架构设计方案

明亮安全观

网络安全 IoT IoT安全

OKALEIDO:我们为何如此看好多媒体NFT板块?

西柚子

【问道】计算机er要掌握的计算机思维

小明Java问道之路

计算机体系结构 编译原理 计算机组成原理 汇编语言 7月月更

Spring IOC

武师叔

7月月更

应用上容器云的准入条件和最佳实践

穿过生命散发芬芳

7月月更 应用上云

Python 入门指南之输入和输出

海拥(haiyong.site)

7月月更

计算机操作系统之进程与线程

未见花闻

7月月更

怎样的工作要辞职呢?

KEY.L

7月月更

康威定律如何解释微服务的合理性

源字节1号

程序员 软件开发

Ark UI中的问题汇总【系列1】

坚果

Open HarmonyOS OpenHarmony Open Harmony 7月月更

小程序页面介绍

小恺

7月月更

拆分电商系统为微服务

joak

leetcode 932. Beautiful Array 漂亮数组(中等)

okokabcd

LeetCode 分治 算法与数据结构

【Python技能树共建】python selectolax 模块 & Python爬虫模拟登录

梦想橡皮擦

Python 爬虫 7月月更

spring篇之属性注入

邱学喆

spring 属性注入 @Autowired注入原理 @Resource注入原理 @Qualifier

想要治好水,龙王也要拜拜这朵云

脑极体

【C#】System.Linq,万能的查询语句

萧然🐳

C# 7月月更 Linq

Binder驱动

北洋

Andriod 7月月更

图解网络:什么是DHCP动态主机配置协议?

wljslmz

网络协议 DHCP 网络技术 7月月更

Python Asyncio 初探:基本概念和模式

宇宙之一粟

Python asyncio 7月月更

【C语言深度剖析】详解strlen与sizeof的区别及用法

Albert Edison

7月月更

初始Envoy项目

阿泽🧸

envoy 7月月更

5G NR RRC协议总体介绍

柒号华仔

5G 7月月更

闭包

Jason199

js 闭包要点 闭包函数 7月月更

第三方开发者可将JIT和编译器引入WinRT吗?_语言 & 开发_Jeff Martin_InfoQ精选文章