1.1 第一个Windows应用商店应用程序
要使用HTML、JavaScript和CSS构建Windows应用商店应用程序,得先从一个HTML文件开始:
如果我们在Web浏览器中加载这个HTML文件,那绝对会是世界上最无聊的网页。而且,简单的一个网页(或者说一系列的网页、样式、代码、资源等),也并非就是一个Windows应用商店应用程序。Windows应用商店应用程序不仅包括了这些,还包含了下面列举的元数据(metadata)和资源,以此来定义Windows 8“开始”屏幕。
● 清单文件(manifest file),用于对应用程序进行描述,其中包括应用程序的名称、描述信息、启动页面等内容。
● 一组大小不等的logo图片,用于在“开始”屏幕上显示。
● 应用商店徽标(store logo),用于在Windows应用商店中显示。
● 初始屏幕(splash screen)图片,用于在应用程序启动的时候显示。
清单文件是一个名为appxmanifest.xml的XML文件,最精简的清单文件类似这样:
这份清单[9]中包含了以下内容:名称、描述以及徽标图片的引用,其中最为重要的是应用程序启动页面对应的HTML文件的名称(在这个例子中是default.html)。
有了清单以及支持文件,如果要在系统中注册这个超级激动人心的应用,最基本的方法就是使用PowerShell[10]。我们可以从“开始”屏幕访问PowerShell和它的appx模块。在Windows 8的PowerShell里面,appx模块提供了若干命令来管理安装在计算机上的Windows应用商店应用程序[11]。微软用appx这个术语来表示打包的Windows应用商店应用程序,因为它们的扩展名都是.appx[12]。
如果要对应用程序进行打包和签名,以便把它提交到Windows应用商店中,可以使用MakeAppx.exe和SignTool.exe这两个命令行工具(均包含在Windows应用商店开发者工具中);但如果只是想简单地在自己的机器上安装一个应用程序,使用appx模块中的Add-AppxPackage PowerShell命令就可以解决问题了,如图1.1所示。
图1.1 添加一个appx文件并在添加后进行校验
成功执行了App-AppxPackage命令之后[13],可以使用Get-AppxPackage命令检查应用程序是否已经正确安装了,正如图1.1所示。令人激动的是,应用程序现在已经出现在了“开始”屏幕[14]上面,如图1.2所示。
图1.2 安装到“开始”屏幕上的示例应用程序
除了我们新的hello磁贴,可以注意到“开始”屏幕上还有各种带有静态和动态信息的大小不一的磁贴(我告诉过Brandon,波特兰可不是每天都是阴天!)。关于磁贴的信息,可以阅读第10章。
这时,随便运行一下这个应用程序,就可以看到屏幕上出现了鼓舞人心的消息——“Hello and welcome to Windows Store apps for JavaScript!”(实在太无聊,我就不截图了)。
Windows应用商店应用程序会一直占据着屏幕的可用空间——也就是说,Windows应用商店应用程序的窗口是不会重叠的。不过,应用程序仍然需要针对不同的设备和“模式”(比如纵向、横向、贴靠和填充等各种模式)在各种分辨率上运行,这些内容都可以在第3章中学到。
了解了构建和安装Windows应用商店应用程序所需的最简单的文件、工具及步骤之后,你可能希望有一个工具可以帮助我们创建、编辑、打包、启动和调试应用程序,它就是Microsoft Visual Studio 2012。
[9]要了解appxmanifest.xml文件的格式,请参阅:http://msdn.microsoft.com/library/windows/apps/br211474.aspx(http://tinysells.com/164)。
[10]PowerShell是内置在Windows中的下一代的命令行Shell程序。
[11]要查看appx模块的命令完整列表,请参阅:http://technet.microsoft.com/en-us/library/hh856045.aspx(http://tinysells.com/158)
[12]appx文件是一种开放数据包约定(Open Packaging Conventions,OPC)格式的文件。
[13]如果是首次进行开发,需要使用Show-WindowsDeveloperLicenseRegistration命令,申请一个“开发者许可证”并成功安装后,App-AppxPackage命令才能正常执行。——译者注
[14]要进入到“开始”屏幕,可以按下键盘上的Windows键,或者按Ctrl+Esc;或者单击屏幕左下角;也可以把鼠标移到屏幕的右上角或右下角,再单击“开始”按钮;还可用手指从屏幕的右手边扫过,再按“开始”按钮;或者按下Win+C,然后单击“开始”按钮。这么多方法,微软真的是想让大家能够随时“开始”。