QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

第三方开发者可将 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:171797

评论

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

Mac多协议远程管理软件:Termius for Mac 激活版

你的猪会飞吗

Termius for Mac下载 Termius for Mac破解 mac破解软件下载

VMware Workstation 17.6 Pro macOS Unlocker & OEM BIOS 2.7 for Linux - 在 Linux 上运行 macOS Sequoia

sysin

macos vmware OEM unlocker Workstation

零基础学习地平线 征程6 QAT 量化感知训练

地平线开发者

自动驾驶 算法 QAT

AI2022下载:Illustrator 2022 (Win&Mac) 直装版

你的猪会飞吗

mac软件下载 Illustrator 2022破解版 Illustrator 2022下载 mac破解软件下载

分库分表核心理念

Java随想录

Java MySQL 分库分表

Nexpose 6.6.267 发布下载,新增功能概览

sysin

漏洞扫描 Nexpose

征程 6E/M 快速上手实战 Sample-PYM

地平线开发者

自动驾驶 算法

写在 Pencils Protocol TGE 前:为什么看好 $DAPP?共识就是王道

股市老人

Cisco Catalyst 9000 Series Switches, IOS XE Release 17.15.1 ED

sysin

Cisco 交换机 IOS XE Cataly 9000

写在 Pencils Protocol TGE 前:加密市场共识才是王道,拥抱社区

BlockChain先知

VMware Workstation 17.6 Pro macOS Unlocker & OEM BIOS 2.7 for Windows

sysin

macos vmware OEM unlocker Workstation

点赞收藏功能该如何设计?

江南一点雨

aspose.words与文件格式转换实现

程序员架构进阶

word java-API 9月日更 9月月更 aspose.words

Cisco ISR 4000 IOS XE 17.15.1a 发布下载,新增功能概览

sysin

Cisco 路由器 ISR IOS XE

写在 Pencils Protocol TGE 前:看好 $DAPP,加密社区共识是王道

石头财经

Magnet AXIOM 8.0 Windows x64 Multilingual - 数字取证与分析

sysin

数字取证 magenet AXIOM

6个 Spring messaging注解:整体架构分析与注解应用案例(必须收藏)

肖哥弹架构

Java spring spring messaging

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