写点什么

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

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

    阅读完需:约 4 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

微软在向开发者和终端用户大力推广 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:171607

评论

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

Photoshop 2024 (ps) Mac版安装下载

影影绰绰一往直前

2023年度华为云优秀开发者榜单揭晓,来看看你榜上有名吗?

华为云开发者联盟

程序员 开发者 华为云 华为云开发者联盟

2024程序员必看前端行业分析

伤感汤姆布利柏

超详细Redis入门教程—Redis分布式系统详解

百度搜索:蓝易云

redis 云计算 Linux 运维 云服务器

网站托管革新:云服务器如何改变游戏规则?

一只扑棱蛾子

云服务器

为AI革命提供高级搜索能力!腾讯云大数据ES国内首发上线8.8.1版本

腾讯云大数据

ES

一呼百应API实时获取商品详情的实现

Noah

全面解析项目基线及其制作工具

易成管理学

项目管理 产品经理 项目基线

洞悉代币资金流,助力 GameFi 项目运营决策

Footprint Analytics

gamefi #区块链

你是否想知道如何应对高并发?Go语言为你提供了答案!

EquatorCoco

高并发 Go 语言 程序开发

护航千行百业高质量发展,天翼云加速构建稳定性保障能力体系!

天翼云开发者社区

云计算 安全 云服务

DevSecOps研讨会: 2023年DevOps有哪些值得关注的发展与挑战

龙智—DevSecOps解决方案

DevSecOps

随着教育行业内卷突围,保持激活平台用户体验是关键

Geek_2305a8

​如何在iPhone设备中查看崩溃日志

小程序如何帮助在线教育打通公私域

Geek_2305a8

云数据库的云端故障排除策略:关键技术与实施方案

天翼云开发者社区

云计算 故障 云数据库

YOLO+SlowFast+DeepSORT 简单实现视频行为识别

北桥苏

Python

什么是DePIN?DePIN有哪些优势?DePINDepin的风险与挑战?

TechubNews

MegEngine 版本最新发布!新增支持寒武纪思元系列 AI 芯片训练和推理

MegEngineBot

芯片 开源框架 寒武纪

什么是革命性技术eBPF?为什么可观测性领域都得用它

不在线第一只蜗牛

架构 服务器 ebpf

一篇了解springboot3请求参数种类及接口测试

快乐非自愿限量之名

springboot 开发语言

如何理解 RPC 与 Protobuf

Liam

gRPC 后端 网络协议 protobuf roc

使用Python的数据可视化库Matplotlib实现折线图教程。

百度搜索:蓝易云

Python Linux 运维 云服务器 matplotlib

Perforce:2024年改变数字化格局的五大技术趋势

龙智—DevSecOps解决方案

人工智能 AI

使用ETLCloud平台实现实时数据集成

RestCloud

ETL 实时数据集成

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