fbpx
维基百科

Windows Runtime

Windows Runtime,或WinRT,是Windows 8中的一种跨平台应用程序架构。WinRT支持的开发语言包括C++(一般包括C++/CX)和托管语言C#VB.NET,还有JavaScript。WinRT应用程序同时原生支持x86架构和ARM架构,同时为了更好的安全性和稳定性,也支持运行在沙盒环境中。[1][2]
由于依赖于一些增强COM组件,WinRT本质上是一基于COM的API。正因为其COM风格的基础,WinRT可以像COM那样轻松地实现多种语言代码之间的交互联系,不过本质上是非托管的本地API。API的定义存储在以”.winmd"为后缀的元数据文件中,格式编码遵循ECMA 335的定义,和.Net使用的文件格式一样,不过稍有改进。[3]使用统一的元数据格式相比于P/Invoke,可以大幅减少WinRT调用.NET程序时的开销,同时拥有更简单的语法。[4]全新的C++/CX(组件扩展)语言,借用了一些C++/CLI语法,允许授权和使用WinRT组件,但相比传统的C++下COM编程,对于程序员来说,有更少的粘合可见性,同时对于混合类型的限制相比C++/CLI也更少。在新的称为Windows Runtime C++ Template Library(WRL)的模板类库的帮助下(就好似ATL之于COM一样)[5],规范的C++代码(遵循COM化规范)也同样可以用在使用了WinRT组件的程序里[6]。不过MSDN建议使用C++/CX而不是WRL。[7]

技术

WinRT组件设计时即着眼于多种语言和API直接的互通性,包括本地代码、托管代码还有脚本。比如C++/CX的组件扩展就被建议仅用于存在API壁垒的状况,而不要用于其他目的。[8]
WinRT应用程序可以快速部署并运行在沙盒环境中。对运行库的测试表明其是构筑在Win32 API之上的[9].Net使用了类似的实现。

服务

元数据

元数据描述了用于WinRT平台的代码。定义了一套编程范式来实现编写可跨编程语言共享的面向对象的代码。同时也支持反射等服务。

类型系统

WinRT组件

编程接口

C++(WRL,组件扩展)

.NET

JavaScript

API

Windows类

命名规范

限制与规范

参考文献

  1. ^ Abel Avram. Design Details of the Windows Runtime. InfoQ. 21 September 2011 [2012-08-03]. (原始内容存档于2012-09-10). 
  2. ^ Brian Klug & Ryan Smith. Microsoft BUILD: Windows 8, A Pre-Beta Preview. AnandTech. 13 September 2011 [2012-08-03]. (原始内容存档于2012-09-10). 
  3. ^ de Icaza, Miguel (2011-09-15). WinRT demystified. Personal blog of Miguel de Icaza, 15 September 2011. Retrieved from http://tirania.org/blog/archive/2011/Sep-15.html (页面存档备份,存于互联网档案馆).
  4. ^ What is the COM marshaling overhead in calling the WinRT API from C# ?. Social.msdn.microsoft.com. [2012-04-24]. [永久失效連結]
  5. ^ Using the Windows Runtime from C++ | BUILD2011 | Channel 9. Channel9.msdn.com. 2011-09-14 [2012-04-24]. (原始内容于2011-10-12). 
  6. ^ Sivakumar, Nish. . Codeproject.com. 2011-09-29 [2012-04-24]. (原始内容存档于2011-12-08). 
  7. ^ . Msdn.microsoft.com. [2012-04-24]. (原始内容存档于2016-04-06). 
  8. ^ Using the Windows Runtime from C++ | BUILD2011 | Channel 9. Channel9.msdn.com. 2011-09-14 [2012-04-24]. (原始内容于2011-10-12). 
  9. ^ . [2012-08-03]. (原始内容存档于2012-01-23). 

外部链接

参见

  • Windows Runtime XAML Framework英语Windows Runtime XAML Framework

windows, runtime, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目可参照英語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签,. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目可参照英語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 此條目需要擴充 2012年8月3日 请協助改善这篇條目 更進一步的信息可能會在討論頁或扩充请求中找到 请在擴充條目後將此模板移除 提示 此条目的主题不是Windows RT Windows Runtime 或WinRT 是Windows 8中的一种跨平台应用程序架构 WinRT支持的开发语言包括C 一般包括C CX 和托管语言C 和VB NET 还有JavaScript WinRT应用程序同时原生支持x86架构和ARM架构 同时为了更好的安全性和稳定性 也支持运行在沙盒环境中 1 2 由于依赖于一些增强COM组件 WinRT本质上是一基于COM的API 正因为其COM风格的基础 WinRT可以像COM那样轻松地实现多种语言代码之间的交互联系 不过本质上是非托管的本地API API的定义存储在以 winmd 为后缀的元数据文件中 格式编码遵循ECMA 335的定义 和 Net使用的文件格式一样 不过稍有改进 3 使用统一的元数据格式相比于P Invoke 可以大幅减少WinRT调用 NET程序时的开销 同时拥有更简单的语法 4 全新的C CX 组件扩展 语言 借用了一些C CLI语法 允许授权和使用WinRT组件 但相比传统的C 下COM编程 对于程序员来说 有更少的粘合可见性 同时对于混合类型的限制相比C CLI也更少 在新的称为Windows Runtime C Template Library WRL 的模板类库的帮助下 就好似ATL之于COM一样 5 规范的C 代码 遵循COM化规范 也同样可以用在使用了WinRT组件的程序里 6 不过MSDN建议使用C CX而不是WRL 7 目录 1 技术 2 服务 2 1 元数据 2 2 类型系统 2 2 1 WinRT组件 2 3 编程接口 2 3 1 C WRL 组件扩展 2 3 2 NET 2 3 3 JavaScript 2 4 API 2 4 1 Windows类 2 4 2 命名规范 2 4 3 限制与规范 3 参考文献 4 外部链接 5 参见技术 编辑WinRT组件设计时即着眼于多种语言和API直接的互通性 包括本地代码 托管代码还有脚本 比如C CX的组件扩展就被建议仅用于存在API壁垒的状况 而不要用于其他目的 8 WinRT应用程序可以快速部署并运行在沙盒环境中 对运行库的测试表明其是构筑在Win32 API之上的 9 Net使用了类似的实现 服务 编辑元数据 编辑 元数据描述了用于WinRT平台的代码 定义了一套编程范式来实现编写可跨编程语言共享的面向对象的代码 同时也支持反射等服务 类型系统 编辑 WinRT组件 编辑 编程接口 编辑 C WRL 组件扩展 编辑 NET 编辑 JavaScript 编辑 API 编辑 Windows类 编辑 命名规范 编辑 限制与规范 编辑参考文献 编辑 Abel Avram Design Details of the Windows Runtime InfoQ 21 September 2011 2012 08 03 原始内容存档于2012 09 10 Brian Klug amp Ryan Smith Microsoft BUILD Windows 8 A Pre Beta Preview AnandTech 13 September 2011 2012 08 03 原始内容存档于2012 09 10 de Icaza Miguel 2011 09 15 WinRT demystified Personal blog of Miguel de Icaza 15 September 2011 Retrieved from http tirania org blog archive 2011 Sep 15 html 页面存档备份 存于互联网档案馆 What is the COM marshaling overhead in calling the WinRT API from C Social msdn microsoft com 2012 04 24 永久失效連結 Using the Windows Runtime from C BUILD2011 Channel 9 Channel9 msdn com 2011 09 14 2012 04 24 原始内容存档于2011 10 12 Sivakumar Nish Visual C and WinRT Metro Some fundamentals CodeProject Codeproject com 2011 09 29 2012 04 24 原始内容存档于2011 12 08 Windows Runtime C Template Library Msdn microsoft com 2012 04 24 原始内容存档于2016 04 06 Using the Windows Runtime from C BUILD2011 Channel 9 Channel9 msdn com 2011 09 14 2012 04 24 原始内容存档于2011 10 12 WinRT and NET in Windows 8 Paragraph 5 2012 08 03 原始内容存档于2012 01 23 外部链接 编辑WinRT documentation preview 页面存档备份 存于互联网档案馆 参见 编辑Windows Runtime XAML Framework 英语 Windows Runtime XAML Framework 取自 https zh wikipedia org w index php title Windows Runtime amp oldid 74583132, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。