- What’s a Universal Windows Platform (UWP) app?
- Where does UWP fit in the Microsoft development story?
- Features of a UWP app
- Secure
- A common API surface across all devices
- Extension SDKs expose the unique capabilities of specific device types
- Adaptive controls and input
- There’s one store for all devices
- Monetize your app
- Deliver relevant, real-time info to your users to keep them coming back
- Use a language you already know
- Links to help you get going
- Get set up
- Design your app
- Add services
- Submit your app to the Store
- More advanced topics
- How the Universal Windows Platform relates to Windows Runtime APIs
- Microsoft
- Related Terms
- Search Server Virtualization
- 2021 virtualization trends focus on HCI, Kubernetes
- 6 virtual server management best practices
- Nvidia launches integrated AI platform for VMware vSphere 7
- Search Cloud Computing
- Ready to be a GCP architect? Try this quiz and see
- Choose the right serverless container service
- IBM boosts vertical cloud push with financial services cloud
- Search SQL Server
- SQL Server database design best practices and tips for DBAs
- SQL Server in Azure database choices and what they offer users
- Using a LEFT OUTER JOIN vs. RIGHT OUTER JOIN in SQL
- Search Enterprise Desktop
- Incorporating zero trust into endpoint security
- Keeping tabs on employees in the hybrid workplace
- Top 6 endpoint security software options in 2021
- Search Virtual Desktop
- Guide for WVD pricing with Microsoft Azure
- Why and when to use Windows Virtual Desktop
- Compare Citrix Virtual Apps and Desktops vs. WVD
What’s a Universal Windows Platform (UWP) app?
UWP is one of many ways to create client applications for Windows. UWP apps use WinRT APIs to provide powerful UI and advanced asynchronous features that are ideal for internet-connected devices.
To download the tools you need to start creating UWP apps, see Get set up, and then write your first app.
Where does UWP fit in the Microsoft development story?
UWP is one choice for creating apps that run on Windows 10 devices, and can be combined with other platforms. UWP apps can make use of Win32 APIs and .NET classes (see API Sets for UWP apps, Dlls for UWP apps, and .NET for UWP apps).
The Microsoft development story continues to evolve, and along with initiatives such as WinUI, MSIX, and Project Reunion, UWP is a powerful tool for creating client apps.
Features of a UWP app
- Secure: UWP apps declare which device resources and data they access. The user must authorize that access.
- Able to use a common API on all devices that run Windows 10.
- Able to use device specific capabilities and adapt the UI to different device screen sizes, resolutions, and DPI.
- Available from the Microsoft Store on all devices (or only those that you specify) that run on Windows 10. The Microsoft Store provides multiple ways to make money on your app.
- Able to be installed and uninstalled without risk to the machine or incurring «machine rot».
- Engaging: use live tiles, push notifications, and user activities that interact with Windows Timeline and Cortana’s Pick Up Where I Left Off, to engage users.
- Programmable in C#, C++, Visual Basic, and Javascript. For UI, use WinUI, XAML, HTML, or DirectX.
Let’s look at these in more detail.
Secure
UWP apps declare in their manifest the device capabilities they need such as access to the microphone, location, Webcam, USB devices, files, and so on. The user must acknowledge and authorize that access before the app is granted the capability.
A common API surface across all devices
WindowsВ 10 introduces the Universal Windows Platform (UWP), which provides a common app platform on every device that runs WindowsВ 10. The UWP core APIs are the same on all Windows devices. If your app only uses the core APIs, it will run on any WindowsВ 10 device no matter whether you are targeting a desktop PC, Xbox, Mixed-reality headset, and so on.
A UWP app written in C++ /WinRT or C++ /CX has access to the Win32 APIs that are part of the UWP. These Win32 APIs are implemented by all WindowsВ 10 devices.
Extension SDKs expose the unique capabilities of specific device types
If you target the universal APIs, then your app can run on all devices that run Windows 10. But if you want your UWP app to take advantage of device-specific APIs, then you can do that, too.
Extension SDKs let you call specialized APIs for different devices. For example, if your UWP app targets an IoT device, you can add the IoT extension SDK to your project to target features specific to IoT devices. For more information about adding extension SDKs, see the Extension SDKs section in Programming with extension SDKs.
You can write your app so that you expect it to run only on a particular type of device, and then limit its distribution from the Microsoft Store to just that type of device. Or, you can conditionally test for the presence of an API at runtime and adapt your app’s behavior accordingly. For more information, see the Writing code section in Programming with extension SDKs.
The following video provides a brief overview of device families and adaptive coding:
Adaptive controls and input
UI elements respond to the size and DPI of the screen the app is running on by adjusting their layout and scale. UWP apps work well with multiple types of input such as keyboard, mouse, touch, pen, and Xbox One controllers. If you need to further tailor your UI to a specific screen size or device, new layout panels and tooling help you design UI that can adapt to the different devices and form factors that your app may run on.
Windows helps you target your UI to multiple devices with the following features:
- Universal controls and layout panels help you to optimize your UI for the screen resolution of the device. For example, controls such as buttons and sliders automatically adapt to device screen size and DPI density. Layout panels help adjust the layout of content based on the size of the screen. Adaptive scaling adjusts to resolution and DPI differences across devices.
- Common input handling allows you to receive input through touch, a pen, a mouse, a keyboard, or a controller such as a Microsoft Xbox controller.
- Tooling that helps you to design UI that can adapt to different screen resolutions.
Some aspects of your app’s UI will automatically adapt across devices. Your app’s user-experience design, however, may need to adapt depending on the device the app is running on. For example, a photo app could adapt its UI when running on a small, handheld device to ensure that usage is ideal for single-handed use. When a photo app is running on a desktop computer, the UI should adapt to take advantage of the additional screen space.
There’s one store for all devices
A unified app store makes your app available on WindowsВ 10 devices such as PC, tablet, Xbox, HoloLens, Surface Hub, and Internet of Things (IoT) devices. You can submit your app to the store and make it available to all types of devices, or only those you choose. You submit and manage all your apps for Windows devices in one place. Have a C++ desktop app that you want to modernize with UWP features and sell in the Microsoft store? That’s okay, too.
UWP apps integrate with Application Insights for detailed telemetry and analytics—a crucial tool for understanding your users and improving your apps.
UWP apps can be packaged with MSIX and distributed via the Microsoft Store, or in other ways. MSIX allows apps to be updated no matter how they are distributed, see Update non-Store published app packages from your code.
Monetize your app
You can choose how you’ll monetize your app. There are a number of ways to make money with your app. All you need to do is choose the one that works best for you, for example:
- A paid download is the simplest option. Just name the price.
- Trials let users try your app before buying it, providing easier discoverability and conversion than the more traditional «freemium» options.
- Sale prices to incentivize users.
- In-app purchases.
Deliver relevant, real-time info to your users to keep them coming back
There are a variety of ways to keep users engaged with your UWP app:
- Live tiles and lock screen tiles that show contextually relevant and timely info from your app at a glance.
- Push notifications that bring real-time alerts to your user’s attention.
- User Activities allow users to pick up where they left off in your app, even across devices.
- The Action Center organizes notifications from your app.
- Background execution and triggers bring your app into action when the user needs it.
- Your app can use voice and Bluetooth LE devices to help users interact with the world around them.
- Integrate Cortana to add voice command capability to your app.
Use a language you already know
UWP apps use the Windows Runtime, the native API provided by the operating system. This API is implemented in C++ and is supported in C#, Visual Basic, C++, and JavaScript. Some options for writing UWP apps include:
- XAML UI and C#, VB, or C++
- DirectX UI and C++
- JavaScript and HTML
- WinUI
Links to help you get going
Get set up
Check out Get set up to download the tools you need to start creating apps, and then write your first app.
Design your app
The Microsoft design system is named Fluent. The Fluent Design System is a set of UWP features combined with best practices for creating apps that perform beautifully on all types of Windows-powered devices. Fluent experiences adapt and feel natural on devices from tablets to laptops, from PCs to televisions, and on virtual reality devices. See The Fluent Design System for UWP apps for an introduction to Fluent Design.
Good design is the process of deciding how users will interact with your app, in addition to how it will look and function. User experience plays a huge part in determining how happy people will be with your app, so don’t skimp on this step. Design basics introduces you to designing a Universal Windows app. See the Introduction to Universal Windows Platform (UWP) apps for designers for information on designing UWP apps that delight your users. Before you start coding, see the device primer to help you think through the interaction experience of using your app on all the different form factors you want to target.
In addition to interaction on different devices, plan your app to embrace the benefits of working across multiple devices. For example:
Design your workflow using Navigation design basics for UWP apps to accommodate mobile, small-screen, and large-screen devices. Lay out your user interface to respond to different screen sizes and resolutions.
Consider how you’ll accommodate multiple kinds of input. See the Guidelines for interactions to learn how users can interact with your app by using Cortana, Speech, Touch interactions, the Touch keyboard and more. Or, see the Guidelines for text and text input for more traditional interaction experiences.
Add services
- Use cloud services to sync across devices.
- Learn how to connect to web services to support your app experience.
- Include Push notifications and in-app purchases in your planning. These features should work across devices.
Submit your app to the Store
Partner Center lets you manage and submit all of your apps for Windows devices in one place. See Publish Windows apps and games to learn how to submit your apps for publication in the Microsoft Store.
New features simplify processes while giving you more control. You’ll also find detailed analytic reports combined payout details, ways to promote your app and engage with your customers, and much more.
More advanced topics
- Learn how to use User Activities so that user activity in your app appear in Windows Timeline and Cortana’s Pick Up Where I Left Off feature.
- Learn how to use Tiles, badges, and notifications for UWP apps.
- For the full list of Win32 APIs available to UWP apps, see API Sets for UWP apps and Dlls for UWP apps.
- See Universal Windows apps in .NET for an overview of writing .NET UWP apps.
- For a list of .NET types that you can use in a UWP app, see .NET for UWP apps
- Compiling apps with .NET Native
- Learn how to add modern experiences for Windows 10 users to your existing desktop app and distribute it in the Microsoft Store with the Desktop Bridge.
How the Universal Windows Platform relates to Windows Runtime APIs
If you’re building a Universal Windows Platform (UWP) app, then you can get a lot of mileage and convenience out of treating the terms «Universal Windows Platform (UWP)» and «Windows Runtime (WinRT)» as more or less synonymous. But it is possible to look under the covers of the technology, and determine just what the difference is between those ideas. If you’re curious about that, then this last section is for you.
The Windows Runtime, and WinRT APIs, are an evolution of Windows APIs. Originally, Windows was programmed via flat, C-style Win32 APIs. To those were added COM APIs (DirectX being a prominent example). Windows Forms, WPF, .NET, and managed languages brought their own way of writing Windows apps, and their own flavor of API technology. The Windows Runtime is, under the covers, the next stage of COM. At the actual application binary interface (ABI) layer, its roots in COM become visible. But the Windows Runtime was designed to be callable from a great range of different programming languages. And callable in a way that’s very natural to each of those languages. To this end, access to the Windows Runtime is made available via what are known as language projections. There is a Windows Runtime language projection into C#, into Visual Basic, into standard C++, into JavaScript, and so on. Furthermore, once packaged appropriately (see Desktop Bridge), you can call WinRT APIs from an app built in one of a great range of application models: Win32, .NET, WinForms, and WPF.
And, of course, you can call WinRT APIs from your UWP app. UWP is an application model built on top of the Windows Runtime. Technically, the UWP application model is based on CoreApplication, although that detail may be hidden from you, depending on your choice of programming language. As this topic has explained, from a value proposition point of view, the UWP lends itself to writing a single binary that can, should you choose, be published to the Microsoft Store and run on any one of a great range of device form factors. The device reach of your UWP app depends on the subset of Windows Runtime APIs that you limit your app to calling, or that you call conditionally.
Hopefully, this section has been successful in describing the difference between the technology underlying Windows Runtime APIs, and the mechanism and business value of the Universal Windows Platform.
Microsoft
Microsoft is a leading global vendor of computer software; hardware for computer, mobile and gaming systems; and cloud services. Microsoft’s corporate headquarters is located in Redmond, Wash., and it has offices in more than 60 countries.
Microsoft’s roots go back at least as far as 1975, when the first commercially available personal computer appeared on the cover of Popular Electronics magazine. The Altair 8800 was a rudimentary system, but it found a market for home-based computers and created a new demand for software to use with these systems.
Bill Gates and his friend Paul Allen immediately saw the potential. Gates contacted the manufacturer Micro Instrumentation and Telemetry Systems (MITS) and offered to write a program for the new computer. Gates and Allen created an interpreter for BASIC — then a mainframe programming language — to use with the Altair.
MITS hired Gates and Allen in 1975. But by 1976, they had left to devote more time to their own fledgling company, Microsoft, which they incorporated in 1981. The company went public in March 1986.
Microsoft’s major breakthrough occurred in 1981 when the company furnished an operating system for IBM’s first major entry into personal computers. Called PC-DOS by IBM, Microsoft also marketed its own version, MS-DOS (Microsoft Disk Operating System). The early 1980s saw both IBM’s and Microsoft’s fortunes soar. Microsoft dominated the software market, just as IBM dominated the personal computer market. A PC — other than one from Apple — was commonly referred to as an «IBM-compatible» clone; these clones featured microchips from Intel.
In 1983, Microsoft introduced its first Windows operating system, Windows 1.0, which was not released until November 1985. Heavily influenced by Apple’s existing graphical user interface, Windows 1.0 was more user-friendly than the command-line interface of DOS, with menus that the user could access with a keyboard or mouse.
Microsoft has released a long succession of operating systems for home users, including Windows 3.0 in May 1990, Windows 95 in August 1995 (later updated to Windows 98), Windows XP in October 2001, Windows Vista in January 2007, Windows 7 in October 2009, Windows 8 in October 2012 (later updated to Windows 8.1), and Windows 10 arrived in July 2015 as the latest OS iteration.
Microsoft also plays a prominent role in data centers with its enterprise-class server operating systems to give organizations powerful administrative control of large corporate networks and services. Key features in the Windows Server operating system include Active Directory, which automates the management of user data, security and distributed resources, and enables interoperation with other directories; and Server Manager, which is a utility to administer server roles and make configuration changes, either on local or remote machines.
Early versions of enterprise operating systems included Windows NT 3.1 Advanced Server (released in 1993), Windows NT 3.5 Server (released in 1994), Windows NT 4.0 Server (released in 1996) and Windows 2000 Server (released in 2000). Later versions adopted a «Windows Server» nomenclature, including Windows Server 2003 (released in 2003), Windows Server 2003 R2 (released in 2005), Windows Server 2008 (released in 2008), Windows Server 2008 R2 (released in 2009), Windows Server 2012 (released in 2012) and Windows Server 2012 R2 (released in 2013). Windows Server 2016 is the latest enterprise OS made generally available in October 2016.
Building on the success of its operating systems, Microsoft moved into the development of productivity software.
Microsoft Office first appeared in 1990. The productivity package features a number of bundled applications and includes the word processor named Word, Excel spreadsheet, Access database, PowerPoint presentation creator, Outlook email client and other tools in the same package. In addition to the desktop applications for Windows and Mac OS operating systems, Microsoft also offers Office Mobile for smartphones.
Microsoft capitalized on the growing popularity of the World Wide Web when it released its web browser, Internet Explorer (IE), in Windows 95 Plus in 1995.
In 1998, the U.S. Department of Justice sued Microsoft for antitrust violations. It accused the company of stifling web browser competition when it bundled IE with the Windows operating system. In 2001, a settlement was reached that did not require Microsoft to remove IE from the operating system.
Microsoft deprecated IE in Windows 10 in favor of the Edge browser. While it is no longer the default browser in Windows, IE remains a part of the operating system.
Microsoft launched its .NET framework — a programming model to help developers build applications for Windows — and its Visual Studio application development environment in 2002.
The core components of the .NET platform are its Common Language Runtime, which lets nearly any language compile down to an intermediate language, and the Framework Class Library, which provides core functions for any language.
In 2014, Microsoft announced it would turn the .NET Core stack, runtime and framework libraries into an open source project and make the code available through GitHub.
Microsoft develops and sells enterprise-class systems management software tools, including System Center, which helps IT administrators deploy, configure, maintain and manage sophisticated corporate data center installations. System Center components and services include:
Microsoft started its hardware division in 1982 to develop a mouse to use with Microsoft Word.
Since then, the company has ventured deeper into the hardware market, releasing the Xbox gaming console system in 2001 as a direct competitor to established gaming companies, like Sony and Nintendo. In November 2013, Microsoft’s released its latest gaming console, Xbox One, which features the ability to recognize voice commands and use Skype via the Kinect camera.
Microsoft offers the Surface family of tablet computers, which bundle tablet hardware with the Windows operating system. The first Surface appeared in 2012 and has been superseded by several subsequent models. The latest versions include the Surface Pro 4 (October 2015), Surface Book (October 2015), Surface Studio (October 2016) and Surface Book with Performance Base (October 2016).
Microsoft’s Windows Phone echoes this same strategy, melding smartphones from manufacturers like Nokia with versions of the Windows Phone operating system. Microsoft replaced this operating system with the Windows 10 Mobile operating system, which features the similar tile-based Metro interface and Cortana, a virtual assistant for voice-activated features.
Microsoft also entered the public cloud market when it introduced the Windows Azure platform in October 2008 and made it available in February 2010 as a competitor to Amazon Web Services (AWS).
The company renamed the offering Microsoft Azure in March 2014. As Microsoft’s public cloud computing platform, Azure provides a range of cloud services, including those for compute, analytics, storage, networking, management, machine learning and big data capabilities. Users can pick from these services to develop and scale new applications, or run existing applications, in the public cloud.
Microsoft further expanded its line of business with a range of online services to provide software as a service (SaaS) offerings to end users and enterprise customers. Microsoft launched Office 365 in 2011 and the Outlook.com webmail service in July 2012. Services allow persistence, letting users pick up where they left off no matter which device they work from, while eliminating the installation and maintenance issues that plague traditional endpoint installations. However, services carry recurring costs and connectivity requirements that users and businesses must consider.
In May 2011, Microsoft acquired internet Voice over IP and video conferencing provider Skype for $8.5 billion.
In 2013, Microsoft announced a $7.2 billion acquisition of noted mobile phone vendor Nokia to make headway into the mobile market, which had been dominated by Android and Apple devices. But, in 2015, Microsoft said it would lay off about 7,800 employees — mostly in its Windows smartphone hardware business — and take a $7.6 billion write-down related to assets from the acquisition.
In 2016, Microsoft announced it would purchase LinkedIn, the business social networking site, for $26.2 billion. The company plans to integrate the LinkedIn platform with several Microsoft services, such as Microsoft Outlook, Dynamics and Office 365.
Microsoft has experienced several changes in leadership through the years.
Bill Gates led Microsoft from its earliest days before handing over the position of CEO to longtime friend and employee Steve Ballmer in January 2000.
Ballmer refocused the company on devices and services, leading to products like Xbox and Office 365.
Ballmer stepped down in February 2014 and was replaced by longtime employee Satya Nadella, who had been executive vice president of Microsoft’s cloud and enterprise division. Microsoft’s emphasis on services like Azure reflects Nadella’s push to get the company to be the prominent player in the «mobile-first, cloud-first» world.
Related Terms
Microsoft SCOM (System Center Operations Manager)
How is the Microsoft SDDC concept becoming a reality?
Microsoft SDN and storage capabilities tweaked in latest OS
Windows Admin Center packs a handy tool set into the browser
Search Server Virtualization
2021 virtualization trends focus on HCI, Kubernetes
Organizations require easier, quicker ways to spin up and manage virtual workloads. This year, container support and DevOps help .
6 virtual server management best practices
When overseeing virtual servers, take advantage of self-service VM management, VM templates, monitoring tools and permissions .
Nvidia launches integrated AI platform for VMware vSphere 7
Making good on their promise last fall, Nvidia and VMware have delivered a platform allowing vSphere 7 users to run the next .
Search Cloud Computing
Ready to be a GCP architect? Try this quiz and see
This 10-question quiz, drawn from a new GCP certified professional cloud architect prep guide, helps identify your strengths and .
Choose the right serverless container service
Many IT pros consider serverless containers to be largely hype, while others say it offers real advances in serverless computing.
IBM boosts vertical cloud push with financial services cloud
IBM doubles down on its investment in vertical markets, rolling out a financial services cloud that shares workloads with clouds .
Search SQL Server
SQL Server database design best practices and tips for DBAs
Good database design is a must to meet processing needs in SQL Server systems. In a webinar, consultant Koen Verbeeck offered .
SQL Server in Azure database choices and what they offer users
SQL Server databases can be moved to the Azure cloud in several different ways. Here’s what you’ll get from each of the options .
Using a LEFT OUTER JOIN vs. RIGHT OUTER JOIN in SQL
In this book excerpt, you’ll learn LEFT OUTER JOIN vs. RIGHT OUTER JOIN techniques and find various examples for creating SQL .
Search Enterprise Desktop
Incorporating zero trust into endpoint security
Zero trust is a complex term, but organizations that take security seriously must know what it is and how it can support existing.
Keeping tabs on employees in the hybrid workplace
Companies want better ways to determine if their employees are mentally healthy or are at risk of a breakdown in the hybrid .
Top 6 endpoint security software options in 2021
The market for endpoint security software can be confusing to navigate for decision-makers, but this market roundup should help .
Search Virtual Desktop
Guide for WVD pricing with Microsoft Azure
Organizations that want to deploy WVD and Azure should go beyond Microsoft’s estimates for pricing and learn the total cost of .
Why and when to use Windows Virtual Desktop
Organizations considering Windows Virtual Desktop should take a step back and evaluate when it makes sense to use WVD, and when .
Compare Citrix Virtual Apps and Desktops vs. WVD
It’s difficult to know exactly how Citrix’s and Microsoft’s virtual desktop offerings stack up against one another, but this .