📜  Windows 10-Universal Apps(1)

📅  最后修改于: 2023-12-03 14:48:28.274000             🧑  作者: Mango

Windows 10-Universal Apps

Windows 10-Universal Apps 是一种可以在多个设备上替代传统桌面应用程序的解决方案。通过一次编写,就可以为 Windows 10、Windows 10 Mobile、Xbox One 和 Surface Hub (电视) 等多种设备构建应用程序。这使得研发人员可以利用共同的代码库扩大其客户基础并节省时间和成本。

设计原则

Universal Windows Platform 应用程序设计遵循以下原则:

  • Adaptable: 应用程序可以自动适应所有可用设备和屏幕尺寸。此外,它们可以根据输入方式(鼠标、图层笔迹、手势)自适应。
  • Resilient: 应用程序可以在一系列设备和平台上弹性地扩展。
  • Connected: 应用程序可以联网并利用云服务。
  • Alive with activity: 应用程序可以接收操作系统发出的通知、开启后台任务等等。
  • Beautiful: 应用程序可以使用一致的 UI 风格,在所有设备上提供一致性和易用性。
开发标准

Windows 10-Universal Apps 使用的是多个开放标准,其中包括但不限于以下内容:

  • .NET Standard: 为 .NET 平台引入了一套标准 API,以简化跨平台代码的编写。
  • XAML (eXtensible Application Markup Language): 基于 XML 的用于构建用户界面的语言。
  • C++/WinRT: 在 C++ 代码中使用 WinRT API 的标准。
  • WinUI: 允许用于桌面、移动和 Xbox 设备的窗口控件。
  • AppService: 一种可与其他应用程序相互通信的机制。
  • MSIX (Microsoft Installer): 支持 Microsoft Store 中的应用程序打包、分发和安装。
应用程序模型

一种 Universal Windows Platform 应用程序通常由以下组件组成:

  1. Entrypoint: 整个应用程序的起点。它包括 应用程序类(App class)和入口点函数(main)。应用程序类处理一般应用程序生命周期事件(如启动、挂起、恢复)和用户操作事件(如解雇、切换)。
  2. UI: 用户界面,是应用程序的窗口和各种控件的集合。
  3. File activation: 应用程序可以在 O/S 文件浏览器中双击打开的文件扩展名关联,此时应用程序会被调起来处理文件。在应用程序内部的适当部分上使用搜索处理器(SearchHandler)。若在应用程序中外部进程的情况下需要打开应用程序,可以使用 Protocol 宣传(Protocol Activation)。
  4. Background task: 后台任务,允许应用程序部分在 O/S 后台(即完全不显示在用户界面),允许应用程序处理新通知等等。

在开始编写 UWP 应用程序之前,您需要先安装 Windows SDK(这是包含所有相关组件的安装程序)。其中包含了 Visual Studio,也可以单独下载安装。

【代码片段】