写点什么

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

评论

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

跨境电商卖家都在用的海外云手机

Ogcloud

云手机 海外云手机 跨境电商云手机

5分钟搞定vue3函数式弹窗

不在线第一只蜗牛

Java Vue 函数式

聚道云软件连接器助力某品牌管理有限公司实现有赞对接三联

聚道云软件连接器

案例分享

中国电信天翼云位列云数据库领导者象限!

天翼云开发者社区

数据库 云计算 大数据

腾讯云 Elasticsearch 新篇章 - 存算分离+读写分离+查询/IO并行化, 助力日志/搜索领域降本增效

腾讯云大数据

ES

阿里云实时计算企业级状态存储引擎 Gemini 技术解读

Apache Flink

一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库

不在线第一只蜗牛

数据库 nosql .net

ARM版CentOS Linux系统镜像文件(苹果M1专用)

Rose

软件测试/测试开发/全日制/测试管理丨前端框架Vue

测试人

软件测试

软件测试/测试开发/全日制/测试管理丨后端接口文档管理Swagger

测试人

软件测试

揭秘关键指标稳定币供应比率(SSR):它如何影响你的投资?

Footprint Analytics

区块链 加密货币 稳定币

国内有哪些比较好用的低代码开发平台?

互联网工科生

软件开发 低代码开发平台 JNPF

软件测试/测试开发/全日制/测试管理丨ORM中间件 SQLAlchemy

测试人

软件测试

数据交付变革:研发到产运自助化的转型之路

百度Geek说

大数据 数据分析 BI 分析工具 企业号 1 月 PK 榜 数据仓模

左耳听风 - 做正确的事,等着被“开除”「读书打卡 day 04」

Java 工程师蔡姬

读书笔记 程序员 读书 职业发展 左耳朵耗子

聚道云软件连接器助力企业实现有赞商城与金蝶云星空系统无缝对接

聚道云软件连接器

案例分享

荣登榜首,天翼云位列专属云容器服务市场第一!

天翼云开发者社区

云计算 容器服务

基于“小数据”的机器学习

快乐非自愿限量之名

人工智能 机器学习 AI 人工智能技术

创建service后,kubernetes会发生什么

华为云开发者联盟

Kubernetes 云原生 后端 华为云 华为云开发者联盟

怎么看待存在争议的低代码?

高端章鱼哥

软件开发 低代码 JNPF

TikTok云手机:突破传统社媒营销方式的黑科技

Ogcloud

TikTok 云手机 海外云手机

玩转TypeScript--openInula中的TypeScript实践(第一篇)

openInula

typescript 前端 Web 开发 前端框架

面试官:单例Bean一定不安全吗?实际工作中如何处理此问题?

王磊

Java 面试

飞管飞控系统仿真应用探究与浅析

DevOps和数字孪生

飞管飞控

适用于 macOS 的参考资料管理软件:Bookends

Rose

Bookends Mac破解版

尊嘟假嘟?三行代码提升接口性能600倍

EquatorCoco

MySQL 接口

企业成功部署SD-WAN的七个关键要点

Ogcloud

网络 SD-WAN 企业网络

谷歌SEO秘籍:On-Page seo开启网站突破之门

九凌网络

EVE-NG初次启动及WEB客户端访问

小魏写代码

年度回顾 | 2023年,云起无垠的开拓与创新

云起无垠

软件测试/测试开发/全日制/测试管理丨RESTX框架

测试人

软件测试

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