回顾过去,带动Windows的未来:深入了解WinRT(2012)

2021-01-11 11:37:42

借助其新的平板电脑友好型用户界面,Windows 8将成为台式机用户和平板电脑用户的一场革命。这些重大的用户界面更改与操作系统表面下的大量更改配对。对于开发人员和用户而言,Windows 8将是Windows平台经历的最大变化。

在2011年中期首次演示Windows 8之后,一些不幸的单词选择使许多开发人员感到担忧。如果Windows 8想要使用新技术来编写平板电脑风格的应用程序,则会迫使他们使用Web技术-HTML和JavaScript- Windows用户界面。我们认为,总有一些令人兴奋的事情发生了:我们认为Windows 8的规模与(废弃的)Windows&Longhorn"一样雄心勃勃。项目曾经是。在2011年9月举行的BUILD会议上,微软发布了Windows 8实际版本,并讨论了在新操作系统上的应用程序开发。该公司宣称这是一种全新的,完全不同的应用程序开发方式。我们的预测显然得到了证实,然后得到了一些证实。

仔细检查会发现更复杂的情况。 Windows 8是主要版本,与之前的Windows有很大不同。但是,它却很陌生:当您在新用户界面的底下浏览并查看其全部工作原理时,这并不是Microsoft声称的革命。

Windows 8支持过去几十年来开发的所有传统Windows应用程序。但是Windows 8的核心不是它对旧应用程序的支持。微软希望通过Windows 8开发一个全新的应用程序生态系统:触摸友好,安全,流畅的动画。这种新美学被称为Metro,尽管有传闻称法律问题使该公司不再使用该特定名称。这些新的应用程序不是使用曾经使用过的Windows API构建的。它们是用新的东西构建的:Windows Runtime, aka" WinRT。"

WinRT不仅是一个新的库,尽管有一部分。更重要的是,它是用于构建和组装Windows程序的全新基础架构。如果Windows 8成功,更具体地说,如果Metro应用程序蓬勃发展,WinRT将成为数十年来构建Windows应用程序的基础。

(快速说明:由于Microsoft不再使用“ Metro”名称,因此Metro风格的应用程序被称为Windows Store应用程序和Windows 8应用程序。 "开发部门倾向于使用前者,而Windows部门倾向于后者,这两个术语都不是特别令人满意,尤其是因为Microsoft在其Web属性和Xbox 360上使用了相同的外观和不同的底层技术。有迹象表明美学被称为“ Microsoft样式设计”,但这是很少使用的术语。因此,我将继续将其称为" Metro样式的应用程序或仅仅是“地铁”应用程序。)

但是WinRT有点令人惊讶。尽管它是新的,但其根源却是古老的,其世系可以追溯到Windows的早期。因此,让我带您进行一次旅程,一次Windows之旅。暗淡而遥远的过去,发掘出古代历史文物,以发现WinRT的真正含义,并理解为什么它比看起来更具进化性。

要真正了解Microsoft操作系统的发展方向,我们首先必须了解它的发展方向:Windows今天的工作方式以及事情的发展方式。

存在用于向应用程序提供服务的操作系统。操作系统期望提供的服务范围随着计算能力和用户需求的增长而增长。在最基本的级别上,操作系统提供文件处理(创建,删除,读取和写入文件)和简单的I / O(从键盘读取,写入屏幕以及在现代操作系统中与网络交谈)。

Windows的原由Windows是Windows。它是带有窗口,按钮,图标,菜单和鼠标指针的图形用户界面。 Windows包含基本的操作系统功能-例如,它具有用于文件处理的API(尽管在后台,它推迟到DOS进行实际工作)-但是,在这些基础上,Windows添加了用于图形和窗口的API。 Windows'图形API被命名为GDI(用于图形设备接口),而用于创建窗口和菜单,响应鼠标事件等的API仅被命名为USER。

这些API都是它们的时代。当开发16位Windows时,当今流行的概念(面向对象,安全性,多处理器支持)无关紧要。如果幸运的话,当时的软件是使用C编程语言开发的,其中大量汇编程序已投入使用。 API是经过相应设计的。

在互联网还不是家喻户晓的名字出现之前,甚至在万维网被发明之前,个人计算机的设计宗旨就是超越其他所有事情:运行办公生产力软件。个人计算机用于文字处理器和电子表格。这就是让他们进入每个工作场所以及人们家中的原因。

将文字处理程序视为出色的打字机固然很好,但PC拥有更大的潜力。借助多任务GUI操作系统,Microsoft(及其他公司)希望提供创建复杂,丰富,复合文档的方法。例如,您可以使用Excel中的销售电子表格,并将该电子表格中的图表嵌入到Word文档中。该公司希望以一种实时的,交互式的方式进行此操作:更新电子表格,Word文档中的图表应相应地更改。用打字机不能做到这一点。

在1990年,雷德蒙德(Redmond)发布了对象链接和嵌入(OLE)1.0,它的技术可以实现这种情况。在OLE文字处理器中生成的文档可以包括OLE电子表格中的表格和图表,这些表格和图表对象可以链接回原始电子表格文件,甚至可以使用嵌入文档本身的电子表格文件。双击图表将打开电子表格程序,并允许编辑数据。使用OLE,复合文档成为现实。 1991年,发布了使用OLE 1.0的Word和Excel版本,并且OLE库随Windows 3.1一起提供,并于1992年发布。

OLE的最重要的单一功能也许就是它是可扩展的。文字处理程序不必知道有关电子表格程序的任何特定信息;不必知道该程序被称为什么或由谁编写。不必了解电子表格程序的文件格式。它只需要能够使用OLE库链接和嵌入OLE对象。它可以对OLE对象执行标准操作,例如"打开此对象进行编辑。" OLE基础结构甚至可以确保启动正确的程序,并且当该程序保存其数据时,它会放回到正确的位置。

OLE 1.0使用起来有点笨拙,它的目的非常单一:复合文档。但是,Microsoft喜欢使软件组件能够以标准方式相互通信的概念,即使彼此之间并不了解也是如此。该公司决定充实该核心技术,使其成为通用组件技术。由于不知道后来有一个几乎无法被Web搜索引擎使用的名称,他们将其命名为COM:组件对象模型。