UWP应用模型概述

Andrew Clinick是微软的一名项目经理,在Build 2016大会上,他概括地讲述了通用Windows平台(UWP)应用模型的新特性。今年的其中一个亮点是,代号为Centennial的项目实现了桌面应用程序到UWP应用的转换。

Andrew一开始就阐明了什么是UWP应用模型。应用模型定义了Windows上所有应用的生命周期。它在所有设备上都一样:IoT、移动、PC、XBox和Hololens。这意味着应用程序不需要重写就可以支持不同类型的设备。

应用程序的生命周期包括:

安装; 运行时环境; 资源管理; 升级; 数据模型; 卸载。

在演讲的剩余部分,Andrew宣布了几份公告,并介绍了与安装和扩展相关的功能改进。

Centennial项目

Centennial项目可以转换现有的桌面应用,让它运行在通用Windows平台上。该项目的主要目标是:

保证当前的Win32/.NET代码在迁移时无需修改即可运行; 针对Win 10和Win 7维护一个通用的代码库; 实现向UWP的稳步迁移; 利用现有的应用生态系统。

桌面到UWP转换器目前还是预览版。

桌面应用安装程序

UWP团队希望修复几个与桌面应用程序安装相关的问题:

无DLL地狱,无注册表膨胀; 干净地卸载; 自动/静默升级。

不过,自动/静默升级有一些限制。为了自动升级,应用程序必须作为用户运行。UWP不支持需要重启的应用程序,比如驱动程序。

应用扩展框架

应用扩展框架提供了一个为应用添加插件的模型。应用程序发布一份契约,扩展实现这份契约。扩展可以通过商店安装。该框架还提供了一个用户界面,用于在应用内直接管理插件。应用扩展框架同微软Edge浏览器使用的是同一个。

要了解更多信息,可以观看Channel 9所有关于UWP的演讲。

本文转自d1net(转载)

时间: 2024-08-01 11:03:42

UWP应用模型概述的相关文章

《CUDA C编程权威指南》——第3章 CUDA执行模型 3.1 CUDA执行模型概述

第3章 CUDA执行模型 本章内容: 通过配置文件驱动的方法优化内核 理解线程束执行的本质 增大GPU的并行性 掌握网格和线程块的启发式配置 学习多种CUDA的性能指标和事件 了解动态并行与嵌套执行 通过上一章的练习,你已经学会了如何在网格和线程块中组织线程以获得最佳的性能.尽管可以通过反复试验找到最佳的执行配置,但你可能仍然会感到疑惑,为什么选择这样的执行配置会更好.你可能想知道是否有一些选择网格和块配置的准则.本章将会回答这些问题,并从硬件方面深入介绍内核启动配置和性能分析的信息. 3.1

《CUDA C编程权威指南》——3.1节CUDA执行模型概述

3.1 CUDA执行模型概述 一般来说,执行模型会提供一个操作视图,说明如何在特定的计算架构上执行指令.CUDA执行模型揭示了GPU并行架构的抽象视图,使我们能够据此分析线程的并发.在第2章里,已经介绍了CUDA编程模型中两个主要的抽象概念:内存层次结构和线程层次结构.它们能够控制大规模并行GPU.因此,CUDA执行模型能够提供有助于在指令吞吐量和内存访问方面编写高效代码的见解. 在本章会重点介绍指令吞吐量,在第4章和第5章里会介绍更多的关于高效内存访问的内容.3.1.1 GPU架构概述 GPU

《CUDA C编程权威指南》——2.1节CUDA编程模型概述

2.1 CUDA编程模型概述 CUDA编程模型提供了一个计算机架构抽象作为应用程序和其可用硬件之间的桥梁.图2-1说明了程序和编程模型实现之间的抽象结构的重要.通信抽象是程序与编程模型实现之间的分界线,它通过专业的硬件原语和操作系统的编译器或库来实现.利用编程模型所编写的程序指定了程序的各组成部分是如何共享信息及相互协作的.编程模型从逻辑上提供了一个特定的计算机架构,通常它体现在编程语言或编程环境中. 除了与其他并行编程模型共有的抽象外,CUDA编程模型还利用GPU架构的计算能力提供了以下几个特

《CUDA C编程权威指南》——第2章 CUDA编程模型 2.1 CUDA编程模型概述

第2章 CUDA编程模型 本章内容: 写一个CUDA程序 执行一个核函数 用网格和线程块组织线程 GPU性能测试 CUDA是一种通用的并行计算平台和编程模型,是在C语言基础上扩展的.借助于CUDA,你可以像编写C语言程序一样实现并行算法.你可以在NVIDIA的GPU平台上用CUDA为多种系统编写应用程序,范围从嵌入式设备.平板电脑.笔记本电脑.台式机.工作站到HPC集群(高性能计算集群).熟悉C语言编程工具有助于在整个项目周期中编写.调试和分析你的CUDA程序.在本章中,我们将通过向量加法和矩阵

《精通Wireshark》—第1章1.2节TCP/IP模型概述

1.2 TCP/IP模型概述下面,我们来讨论一下网络领域最重要的话题.要想理解这些技术之间是如何关联起来的,读者就必须理解TCP/IP模型的基本概念.即使是计算机世界也需要通过一系列的规则和规范才能完成通信,这就是网络协议的作用之所在了.网络协议的作用正是管理数据包/数据分段/数据帧如何通过主机之间的一条专用通道进行传输. TCP/IP模型最初称为DoD模型,因为这个项目当初是由美国国防部(United States Department of Defense)负责统筹的.TCP/IP模型涉及当

WINCE声音驱动模型概述(1)

1.1 WINCE的声音模型      标准的WINDOWS CE下的声音处理模型. 1)  声音应用在使用WAVE接口函数的时候被COREDLL模块分了类:如果是简单的PCM数据,则直接进入ADM模块,进行SoftWare Mixer或者连Mixer也省了,直接调用Driver放音:如果是压缩模式的数据则进入ACM模块进行解压处理后(比如:GSM/G7XX等等-)再次进入ADM模块. 此外,如果DRIVER支持硬件的Mixer,则应用层直接Bypass掉ACM和ADM,直接进入到驱动进行软件或

WINCE声音驱动模型概述(3)--放音的消息解析

放音的消息解析 WINCE的声音驱动模型在放音的工作中定义了21个消息(懒了,不再列举了),但在具体实现中并不是每个消息都必须实现. 消息很多,特别是在具体实现中需要和DMA操作模型配合使用,因此理解消息的用途和推敲它们之间的关系就显得格外重要了! 通过仔细推敲它们之间的关系,我们可以将放音的整个过程规划成如下一些状态,并用状态迁移图来理解消息的使用,整个过程的操作就非常简单了.

Inside C++ object Model--对象模型概述

在C中, "数据"和"处理数据的操作"是分开声明的, 语言本身并没有支持"数据和函数"之间的关联性. 这种称为"procedural", 由一组算法函数所驱动, 他们处理的是共同的外部数据. 而C++, 则在程序风格, 更在程序的思考上有明显的差异, 它以ADT或class hierarchy的数据封装建立数据和操作的关联性. 在软件工程的眼光来看更为合理. 但是程序员往往出于效率和简易性考虑而选择C.   那么使用C++是否

MapReduce 编程模型概述

MapReduce 编程模型给出了其分布式编程方法,共分 5 个步骤: 1) 迭代(iteration).遍历输入数据, 并将之解析成 key/value 对. 2) 将输入 key/value 对映射(map) 成另外一些 key/value 对. 3) 依据 key 对中间数据进行分组(grouping). 4) 以组为单位对数据进行归约(reduce). 5) 迭代. 将最终产生的 key/value 对保存到输出文件中. MapReduce 将计算过程分解成以上 5 个步骤带来的最大好处