Windows 8 将替换 Win32 API

  • Jonathan Allen
  • 詹涛

2011 年 9 月 24 日

话题:.NETJavaScriptHTML5语言 & 开发架构

Windows 8 新引入了被称为 WinRT[1] 的核心 API。支持使用 C/C++、.NET 或 JavaScript 来开发 Metro 风格的应用。这些应用自动获得硬件加速和高级电源管理的功能。现有的 Silverlight 和 WPF 应用程序可以以最小的代价移植到新的“Native XAML”库。

以下是主题演讲的摘要。当它们发布时,将提供更多细节。

概要

Windows 8: 基本内存使用从 540MB 降到 281MB。

锁屏将显示用户内容。

触摸式密码,通过点击图像上的三个点来解除机器锁定状态。

类似 Windows Phone,开机画面使用 Metro 风格。

重点在全屏程序上。

应用程序特定的设置和系统设置在用户接口上共享相同的空间,这表明应用程序需要说明与哪些系统设置相关。

新版本的 IE 将焕然一新。所有的功能都隐藏在滑动的应用里。

拼写检查系统内置。

开发者预览版包括 Visual Studio 11 Express 和 Expression Blend 5。在已公开 Beta 的时间表里没有标明下一个里程碑是什么时候。内在更新在需要的时候将被推送到安装了预览版的机器上。可用于 x86/x64 的预览版本在今晚开始提供下载:http://dev.windows.com

应用集成

Windows 8 将提供被称为“charms”[2] 的扩展点。 “share charm”的示例展示了文本共享的所有方式,如电子邮件、Facebook、Twitter 等。应用可以通过实现正确的接口,在 charm 内部注册它们自己。同时其他应用程序可以声明它们能发送信息给这个 charm。这个概念非常像 JavaScript 的混搭或经典的 OLE,但它更关注应用间的交互。

支持系统范围的搜索。当然应用也可以注册为搜索服务提供者。

应用程序可以让其他应用程序直接使用自己存储在云端的文件。这样不需要拷贝文件 (如图片) 到本地硬盘,其他应用程序就可以访问它们。

针对 Windows 7 开发:经典平台

· Internet Explorer 上的 HTML/JavaScript

· Win32 上的 C/C++

· .NET 上的 C#/VB 和 Silverlight

针对 Windows 8 开发: Metro 风格

Windows 内核仍然在系统的最底层。

WinRT 是新的操作系统级别的 API 层。它是新的 Windows 本地 API,而不是构建在 Win32 的上面。

你可以从 C/C ++、C#/VB 或 JavaScript 访问 WinRT。XAML 是 C、C++、C#和 Visual Basic 中的 UI 层。HTML/CSS 将继续作为 JavaScript 的 UI 层使用。

Visual Studio 将提供 Windows 8 各种风格的应用程序的项目模板。第一个示例是一个基于 JavaScript 的应用程序。应用程序不需要编译,只需打包其所需要的所有的 HTML 和 JavaScript 文件。 在 Windows 8 可以直接运行它,甚至不需要启动 Web 浏览器。

前面提到过,JavaScript 可以使用 WinRT API 访问本地功能。在主题演讲的演示中,只用了几行代码便实现了一个 Windows 打开文件对话框。由于 Facebook 已经安装在电脑上,打开文件对话框显示了演示者的 Facebook 页面的图片。 JavaScript 应用程序并没有写任何网络代码,它和 Facebook 之间的这种联系完全由平台处理。

Expression Blend 对 HTML 和 CSS 将提供更多的支持。

HTML5 的网格方案对构建 Windows 8 应用程序来说是必不可少的。如果没有它,要支持多种屏幕分辨率的 Windows 8 上运行应用,将非常困难。

Metro 风格的应用程序在不可见时自动挂起。这样做可以延长电池使用时间。

应用商店

正如预期的那样,现在有分发 Windows 应用程序的商店。应用程序许可的技术方面是由商店处理,应用开发者只需说明基本信息,如价格和是否有试用期。

提供 Windows 商店的应用程序需要通过认证。将为开发者提供用来验证应用程序的工具,这样他们在正式提交申请前就可以发现和纠正违规现象。

访问 Windows 8 商店的应用使用 JavaScript 编写,使用了 WinRT API。

应用商店不局限于 Metro 风格的应用,传统的 Win32 程序在商店里也可以见到。

从 Silverlight 升级到 Windows 8

在演示中,所有现存的 XAML 都能像以前一样工作。演示者仅需要改变命名空间(如 System.Windows 变为 Windows.UI),并调整网络代码。只需十几行代码,应用程序就能注册为搜索服务提供商。

从 Windows 8 迁移到 Windows Phone 只需要额外添加一两行代码。

硬件支持

一个称为“连接待机(Connected Standby)”的新模式是受移动设备的启发。功耗非常低,偶尔启动,为 Windows 临时打开网络连接,以允许应用程序接收更新。由于从来没有真正将该系统关闭,所以它能快速重新恢复工作。

最大支持 256TB 的硬盘。Windows 7 仅支持小于 2TB 的引导驱动器。

整个系统使用图形硬件加速。Metro 风格的应用默认使用它,不需要额外编码。

Sensor Fusion API 将结合陀螺仪、加速度计和磁强计的信息,获取设备的基本信息,如设备的物理方向,完成这些仅需要三行代码。

网络协议栈将支持如 3G 的边信道(side-channels)概念。

他们提供一台运行 Windows 8 和 Visual Studio 的 Tablet 作为赠品。

刷新(Refresh)和复位(Reset)

使用刷新命令,将删除除了个人信息 / 设置之外的其他东西。Metro 风格的应用程序将被保留,任何 Win32 风格的应用程序将被删除。这基本上是用来解决系统问题,如感染病毒。

复位命令将彻底清理电脑。所有个人信息将被删除,机器恢复到出厂设置,就跟刚买来时一样。

提供命令行工具来更新基准镜像,可用于添加应用程序到标准镜像,如 Visual Studio 或 Office。企业用户很可能希望自己公司将定制的软件放进基准镜像中。

云服务

应用的设置、主题、密码等可以通过 Windows Live 账号在不同机器之间同步。

Windows 通讯簿从所有来源,包括社交网站,得到所有的联系人,并通过 Windows Live 账号共享它们。用同样的方式可以共享日历。

所有 Windows Live 账号的用户都能使用 Windows SkyDrive。

Windows Live 允许在一台机器上访问另一台机器,即使另一台机器是在防火墙后面。关心信息安全的公司应该小心,因为这让没有技术技能的普通用户可以很方便地将机密文件从工作站移动到家里的电脑,即使不在一个地方。

微软希望开发者使用 Windows Live 将他们的应用连接起来。

谁来构建应用?

17 个团队为应用程序示例工作了 10 周。每个团队由 2 个或 3 个开发者组成,他们都是暑期实习生,在一个演化中的平台上工作。

查看英文原文Windows 8 Replaces the Win32 API

译注

[1] 更多有关 WinRT 的内容,参见WinRT:Win32 的面向对象替代品

[2] charm,微软已将“CHARM”注册为计算机、软件产品、电气和科学产品类商标。微软将 CHARM 描述为计算机程序、图 形用户界面软件和操作系统程序。在触摸版 Windows 8 中,charms 在屏幕右侧;在传统版(使用鼠标和键盘)Windows 8 中,charms 出现在屏幕左侧。charms 包括:Search(搜索)、Share(分享)、Start(开始)、Devices(设备)、 Settings(设置)。详见微软申请 Windows 8 功能 charm 注册商标(图)

译者介绍:詹涛,毕业于武汉大学,目前在趋势科技(中国)研发中心工作,从事测试工作六年。对邮件安全领域比较了解,正在追赶云。拜读了几乎所有温伯格的作品,踢球是最大爱好,喜欢马拉多拉,讨厌贝利。

.NETJavaScriptHTML5语言 & 开发架构