写点什么

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

评论

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

求解智能韧性,华为用三道方程写下答案

脑极体

通信

Pencils Protocol 全面推动市场,低流通的 DAPP 将持续通缩

石头财经

哈银消费金融合规经营,持续稳健发展

极客天地

700+开发者齐聚5城共探鸿蒙原生应用Codelabs

最新动态

Pencils Protocol生态经济全面运转,持续通缩的DAPP潜力颇大

BlockChain先知

Pencils Protocol 全面推动市场,低流通的 DAPP 将持续通缩

加密眼界

Cisco Catalyst 9000 交换产品系列 IOS XE 17.15.1 发布下载,新增功能概览

sysin

Cisco 交换机

Java 性能分析

FunTester

Cisco SD-WAN (Viptela) 20.15.1 发布,新增功能概览

sysin

Cisco SD-WAN

微软远程连接工具:Microsoft Remote Desktop for Mac 中文直装版

你的猪会飞吗

microsoft remote desktop Mac破解软件 mac破解软件下载

专访 Bitlayer 联合创始人 Charlie:探索比特币 Layer2 技术的未来

TechubNews

阿里巴巴商品详情API:1688电商发展新趋势下的数据驱动力

代码忍者

API 测试 pinduoduo API

纯CSS实现有趣emoji切换开关

南城FE

CSS 前端

Pencils Protocol生态经济全面运转,持续通缩的DAPP潜力颇大

股市老人

AI西游记:企业如何闯过大模型的「火焰山」?

脑极体

AI

VMware Aria Suite 8.18 发布 - 云管理解决方案

sysin

vmware aria

中小企业为什么要上MES系统?

万界星空科技

mes 中小企业 万界星空科技mes 生产管理MES系统

加入极限科技(INFINI Labs),成为搜索运维工程师!

极限实验室

招聘 搜索引擎运维

神奇的css选择器

六哥是全栈

CSS 前端‘’

Web应用是指什么?堡垒机对Web应用进行管理有什么好处?

行云管家

Web应用 Web 应用防火墙

AI+,释放算力新价值论坛 | 超聚变联合伙伴发布FusionOne AI大模型解决方案

业界

Chrome Extension 开发中的 Tab 操作与实践

FunTester

免费赠书、多样字体、丰富音色,华为阅读带用户多读书、读好书

最新动态

“你好BOE”重磅亮相首届上海国际光影节 打造“艺术x科技”顶级影像盛宴

爱极客侠

《Programming from the Ground Up》阅读笔记:p117-p146

codists

汇编 assembly 编程人

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