自从Microsoft发布适用于 PC、混合设备、平板电脑和智能手机的Windows 10以来,我们已经听到了很多关于Windows 通用应用程序(Windows Universal Apps)的概念,或者用技术术语来说:通用 Windows平台(Platform)( UWP ) 应用程序。您可能想知道它们是什么以及为什么微软(Microsoft)对这些应用程序如此大惊小怪。起初,我们也对它们是什么、它们服务于什么目的以及它们是如何工作的很感兴趣。自从我们使用此类应用程序以来已经有一段时间了,并且有很多关于它们的东西使它们变得很棒,两者都来自软件开发人员(software developer)的观点以及用户的观点。在本文中,我们将对通用 Windows 平台应用程序(Universal Windows Platform apps)的主题以及它们的重要性进行一些说明。如果您想了解更多关于它们的信息,请继续阅读:
关于Windows移动应用程序的一些背景知识(Windows)
(Microsoft)长期以来,微软一直在努力增加其在移动设备领域的市场份额(market share),但到目前为止还没有成功。虽然他们确实在Windows Phone 7(Windows Phone 7)的推出中获得了一些吸引力,但其他平台(如Android 和 iOS(Android and iOS))远远领先于他们。造成这种情况的主要原因,也是用户投诉的第一名(number one),仍然是微软(Microsoft)的移动生态系统在应用方面落后的事实。
Windows Phone智能手机(Windows Phone)应用商店未能像(Store)Google Play 或 Apple Store(Google Play or Apple Store)那样为其用户提供尽可能多的应用程序。Windows Phone 8及其后来的更新Windows Phone 8.1在吸引人们使用(Windows Phone 8.1)微软(Microsoft)的移动平台方面做得更好,但这还不够。
这是微软(Microsoft)开始研究一个新概念的时刻:它开始开发一个统一的平台应用程序架构(platform application architecture),该架构可以在任何类型的运行Windows的设备上运行。听起来很复杂,对吧?
什么是通用Windows 平台应用程序(Windows Platform apps)?
(Universal apps)适用于Windows的(Windows)通用应用程序是旨在在具有不同外形尺寸的多台设备上同样工作的应用程序。换句话说,它们是在各种屏幕尺寸上运行相同的应用程序。无论您使用的是Windows 10 Mobile 智能手机(Mobile smartphone)、Windows 10平板电脑、Windows 10 台式电脑(desktop computer)还是Xbox One控制台,都没有关系。这些应用程序将在所有这些类型的设备上运行,并为其用户提供相同的功能。
如果应用程序的软件开发人员(software developer)愿意,他/她的应用程序可能会以相同的方式在运行Windows 10的物联网(Things)((Internet) IoT )(IoT)设备上运行,甚至可以在 Microsoft 即将推出的增强现实设备(Microsoft):(reality device) Hololens 上运行(Hololens)。这是个好主意,不是吗?
通用 Windows 平台应用程序(Universal Windows Platform apps)共享相同的代码库(code base),但有一个警告:软件开发人员必须为他们希望其应用程序运行的设备系列添加不同的代码部分。他们不会在代码中针对不同的操作系统,而是针对不同的设备系列。这是一件小事,但在效率方面却是一个巨大的飞跃。
例如,如果您要编写一个RSS 阅读器(RSS reader)应用程序,您希望它同时适用于Windows 10 移动(Mobile)智能手机和Windows 10个人电脑和平板电脑,您只需编写一次代码。它在所有设备上都一样。但是您需要调整应用程序的用户界面以匹配两个设备系列。
通用 Windows 平台应用程序(Universal Windows Platform apps):它们在哪些平台上可用?
通用 Windows 平台应用(Universal Windows Platform apps)是可用于在Windows 10上运行的设备的应用。开发人员可以使用一个代码库(code base)制作单个应用程序,该应用程序适用于Windows 10个人电脑、Windows 10平板电脑和混合设备、Windows 10 移动(Mobile)智能手机、Xbox One游戏机、运行Windows 10的物联网(Things)设备(Internet),甚至可以在Microsoft Hololens上运行。
应用程序(Apps)使用Windows 10 应用商店(Store)分发,该应用商店适用于所有运行 Windows 10 的设备,无论其大小和硬件规格(size and hardware specifications)如何。因为有一个商店(Store)和一个代码库(code base),所以可以在所有设备系列中轻松分发和更新应用程序。基本上,在处理适用于Windows(Windows)的通用应用程序时,软件开发人员和用户都不会感到头疼。
对于用户来说,他们还可以在特定设备上购买通用Windows 应用程序一次,然后他们可以在所有 Windows 10 设备上使用它。(Windows app)应用程序(Apps)与他们的Microsoft 帐户(Microsoft account)相关联,而不是与他们的设备相关联,他们可以根据自己的需要和设备自由安装和卸载购买的应用程序。
你怎么知道一个应用程序是否是一个通用的Windows 应用程序(Windows app)?
通用 Windows 平台应用程序(Universal Windows Platform apps)并不容易识别。当您在Windows 10移动设备(Mobile device)上检查来自Windows 应用商店(Windows Store)的应用时,请注意其应用页面的以下部分:屏幕截图(Screenshots)、评级和评论(Ratings and reviews)以及附加信息(Additional information)。
通用(Universal)应用程序倾向于为移动(Mobile)设备和PC提供屏幕截图。
在评级和评论(Ratings and reviews)部分,您将找到移动设备以及应用程序可用的所有其他设备的评论。
最后但并非最不重要的一点是,在附加信息(Additional information)部分可以找到最佳信息。在那里查找支持的处理器列表。您应该会看到列出的ARM处理器(用于移动设备的处理器,主要是智能手机)以及 x86 和 x64 处理器(用于 PC 的处理器)。
如果您在Windows 10(Windows 10)台式电脑或笔记本电脑(PC or laptop)上执行相同操作,Windows 应用商店(Windows Store)将共享移动(Mobile)“版本”和 PC“版本”的屏幕截图。请记住,我们并不是真正谈论应用程序的不同版本,因为有一个应用程序具有一个适用于所有设备的代码库(code base)。
此外,在评级和评论(Ratings and reviews)部分,您将看到一个选项,用于从所有其他类型的设备中过滤 PC 评论。
最后但并非最不重要的一点是,附加信息(Additional information)部分将提供有关应用程序支持的处理器的信息。
适用于Windows(Windows)的通用应用程序的几个示例
如今, Windows 10(Windows 10)应用商店(Store)中提供的通用 Windows 平台应用程序(Universal Windows Platform apps)并不多。但是,有一些很好的应用程序示例,您很可能在不知道它们是Windows通用应用程序的情况下使用它们。这里是其中的一些:
- Microsoft Office 应用程序(Microsoft Office apps):Word、Excel、PowerPoint 和 OneNote(PowerPoint and OneNote)。
- Netflix - 流行的点播视频(on-demand video)流服务。
- Teamviewer - 流行的远程桌面管理(remote desktop administration)工具之一。
- Pandora -由Music Genome Project提供支持的流行音乐流媒体(music streaming)和自动音乐推荐服务(music recommendation service)。
您可以使用哪些编程语言编写通用 Windows 平台应用程序(Universal Windows Platform apps)?
(Universal Windows Platform apps)可以使用任何最常用的编程语言开发通用 Windows 平台应用程序:
- C# 或带有 XAML 的 Visual Basic
- 带有 HTML 的 JavaScript
- 带有 DirectX 和/或 XAML 的 C++
值得一提的是,微软(Microsoft)还为每种编程语言(programming language)提供了模板,您可以使用这些模板在Microsoft Visual Studio 2015中编写通用应用程序。
通用Windows 应用程序(Windows apps)的优缺点
到目前为止,您已经了解了通用Windows 应用程序(Windows apps)是什么、它们如何工作以及它们可用的平台。您可能也知道它们的优点,但让我们列举它们以获得更清晰的画面:
- 通用 Windows 平台应用(Universal Windows Platform apps)可以在任何运行Windows 10的设备上使用。这包括Windows 10台式电脑、笔记本电脑、平板电脑和混合电脑、Windows 10 Mobile智能手机、Xbox One游戏机、装有Windows 10甚至Microsoft HoloLens的(Microsoft HoloLens)物联网(IoT)设备。
- 开发人员可以编写在具有不同外形尺寸的多个设备系列上以相同方式工作的应用程序。
- 通用 Windows 平台应用程序使用 Windows (Universal Windows Platform apps)Store以相同方式分发和更新,该应用程序在所有Windows 10设备上都可用且工作方式相同。
- 通用 Windows 平台应用(Universal Windows Platform apps)可以使用一些最常用的编程语言创建,例如 C# 或带有XAML的 Visual (XAML)Basic、带有HTML的(HTML)JavaScript 、带有(JavaScript)DirectX and/orXAML的 C++ 。
通用 Windows 平台应用程序(Universal Windows Platform apps)也有一些缺点:
- 通用 Windows 平台应用(Universal Windows Platform apps)仅限于运行Windows 10的设备。它们永远无法在Android 和 iOS(Android and iOS)上运行。此外,它们不适用于旧版本的Windows。
- 通用 Windows 平台应用程序(Universal Windows Platform apps)是一个好主意,它需要软件开发人员更多的关注。如果他们不开始编写许多出色的通用应用程序,那么这个概念对用户或微软(Microsoft)都没有好处。
结论
现在您知道什么是通用 Windows 平台应用程序(Universal Windows Platform apps)以及它们的用途。正如您所了解的,它们是一个很棒的想法,它可以改变我们处理应用程序的方式、我们如何将它们从一个设备迁移到另一个设备、我们如何购买它们等等。它们还可以为微软(Microsoft)的移动业务提供急需的推动力。但是,如果软件开发人员不接受这个概念并且他们不为Windows编写通用应用程序,那么它仍然只是一个没有成功的好主意。只有时间会给出答案!在那之前,不要犹豫发表评论并分享(comment and share)您对这个概念的看法。有什么好处吗?你认为它有未来吗?使用下面的表格让我们知道。
Simple questions: What are Universal Windows Platform (UWP) apps?
Ever since Microsоft announced Wіndows 10 for PCs, hybrid devices, tablеts and smartphоnes, we've heard quite a lot aboυt the concept of Windows Universal Apps, or as they arе cаlled in tech-speаk: Universal Windows Platform (UWP) appѕ. You've probably wondered what they are and why Microsoft makes so much fuss about these aрps. At first, we were alsо intrigued аbout what they are, what purpose they serve and how they work. It's been a while now since we've used such apps and there are quite a few things about them that make them great, both from a software developer's perspective aѕ well as a user's perspective. In thіs article we wіll shed a bіt of light on the subject of Unіversal Windows Platform apps and why they matter. If you're curious to know more about them, read on:
A bit of background about mobile apps for Windows
Microsoft had been trying for a long time to increase its market share in mobile devices but so far they have not succeeded. While they did get some traction with the launch of Windows Phone 7, other platforms like Android and iOS were far ahead of them. The main reason for this situation and the number one complaint from users still i s the fact that Microsoft's mobile ecosystem is lagging behind in terms of apps.
The Store for Windows Phone smartphones didn't manage to offer as many apps to its users as Google Play or Apple Store did. Windows Phone 8 and its later update, Windows Phone 8.1, did a better job at attracting people to Microsoft's mobile platform but it was still not enough.
This was the moment when Microsoft started to work on a new concept: it began developing a unified platform application architecture that runs on any type of device that runs Windows. It sounds complicated, right?
What are Universal Windows Platform apps?
Universal apps for Windows are apps designed to work the same on multiple devices with different form factors . In other words, they are apps that work the same on a variety of screen sizes. It doesn't matter if you are using a Windows 10 Mobile smartphone, a Windows 10 tablet, a Windows 10 desktop computer or even on an Xbox One console. These apps will run on all these types of devices and offer the same features to their users.
If the software developer of an app wanted to, his/her app could potentially run the same way on an Internet of Things (IoT) device that runs Windows 10 or even on the upcoming augmented reality device from Microsoft: the Hololens. It's a great idea, isn't it?
Universal Windows Platform apps share the same code base, with one caveat: software developers must add different code parts for the families of devices that they want their apps to work on. They won't target different operating systems in their code but different families of devices. That's a small thing to ask and a huge leap in terms of efficiency.
For instance, if you were to write an RSS reader app that you want available for both Windows 10 Mobile smartphones and Windows 10 PCs and tablets, you have to write the code only once. It will work the same on all devices. But you need to tweak the app's user interface to match both device families.
Universal Windows Platform apps: on which platforms are they available?
Universal Windows Platform apps are apps that are available for devices that run on Windows 10. Developers can make a single app, with one code base, which works on Windows 10 PCs, Windows 10 tablets and hybrid devices, Windows 10 Mobile smartphones, Xbox One consoles, Internet of Things devices that run Windows 10 and even on Microsoft Hololens.
Apps are distributed using the Windows 10 Store which is available on all the devices that run Windows 10, regardless of their size and hardware specifications. Because there's one Store and one code base, apps can be distributed and updated with ease across all families of devices. Basically, there are fewer headaches for both software developers and users when dealing with universal apps for Windows.
For users there's also the advantage that they purchase a universal Windows app once, on a certain device and then they can use it on all their Windows 10 devices. Apps are associated with their Microsoft account, not with their devices and they can install and uninstall purchased apps freely, based on their needs and devices.
How do you know if an app is a universal Windows app?
Universal Windows Platform apps are not that easy to recognize. When you inspect an app from the Windows Store on a Windows 10 Mobile device, pay attention to the following sections of its app page: Screenshots , Ratings and reviews and Additional information.
Universal apps tend to provide screenshots both for the Mobile devices and for PC.
In the Ratings and reviews section you will find reviews for mobile devices as well as all other devices where the app is available.
Last but not least, the best information is found in the Additional information section. There look for the list of supported processors. You should see listed ARM processors (processors for mobile devices, mostly smartphones) alongside x86 and x64 processors (processors for PCs).
If you do the same thing on a Windows 10 desktop PC or laptop, the Windows Store will share screenshots both for the Mobile "version" and the PC "version" . Keep in mind that we are not really talking about different versions of the app, since there is one app with one code base for all devices.
Also, in the Ratings and reviews section you will see an option to filter the reviews for PC from all the other types of devices.
Last but not least, the Additional information section will offer information about the processors that are supported by the app.
A few examples of universal apps for Windows
Today there aren't many Universal Windows Platform apps available in the Windows 10 Store. However, there are examples of good apps that you are most probably using without knowing that they are universal apps for Windows. Here are some of them:
- Microsoft Office apps: Word, Excel, PowerPoint and OneNote.
- Netflix - the popular on-demand video streaming service.
- Teamviewer - one of the popular remote desktop administration tools.
- Pandora - the popular music streaming and automated music recommendation service powered by the Music Genome Project.
In which programming languages can you code Universal Windows Platform apps?
Universal Windows Platform apps can be developed using any of the most commonly used programming languages:
- C# or Visual Basic with XAML
- JavaScript with HTML
- C++ with DirectX and/or XAML
It's worth mentioning that Microsoft also provides templates for each programming language, that you can use to code universal apps in Microsoft Visual Studio 2015.
Advantages and disadvantages of universal Windows apps
By now, you have an idea about what universal Windows apps are, how they work and the platforms on which they are available. You probably also have an idea of their advantages, but let's enumerate them to get a clearer picture:
- Universal Windows Platform apps can be used on any device that runs Windows 10. This includes Windows 10 desktop computers, laptops, tablets and hybrids, Windows 10 Mobile smartphones, Xbox One consoles, IoT devices with Windows 10 and even on Microsoft HoloLens.
- Developers can write apps that work the same way on multiple families of devices with different form factors.
- Universal Windows Platform apps are distributed and updated the same way, using the Windows Store , which is available and works the same on all Windows 10 devices.
- Universal Windows Platform apps can be created in some of the most used programming languages, like C# or Visual Basic with XAML, JavaScript with HTML, C++ with DirectX and/or XAML.
There are also a few disadvantages about Universal Windows Platform apps:
- Universal Windows Platform apps are limited to devices running Windows 10. They will never work on Android and iOS. Also, they won't work on older versions of Windows.
- Universal Windows Platform apps are a great idea which needs a lot more traction with software developers. If they don't start writing many great universal apps, this concept will be of no benefit to users or to Microsoft.
Conclusion
Now you know what Universal Windows Platform apps are and what their purpose is. As you have learned, they are a great idea which can change how we deal with apps, how we migrate them from device to device, how we purchase them and so on. They could also provide a much needed boost to Microsoft's mobile efforts. However, if software developers don't embrace this concept and they don't write universal apps for Windows, it will remain just a great idea that went nowhere. Only time will tell! Until then, don't hesitate to leave a comment and share your opinion about this concept. Is it any good? Do you see it as having a future? Let us know using the form below.