Khan Academy, một ví dụ về một Universal Windows App
Trái: Một ứng dụng desktop truyền thống chưa có nội dung gì; nó đang hiển thị 60 thành tố đồ họa, và một đường viền dày.  

Phải: Ứng dụng kiểu Metro; có nội dung đầy đủ
**Ứng dụng Universal Windows Platform** (**UWP**) (trước đây là **Ứng dụng Windows Store** và **Ứng dụng kiểu Metro**) là phần mềm có thể được sử dụng trên khắp tất cả các thiết bị Microsoft Windows, bao gồm máy tính cá nhân (PC), máy tính bảng, điện thoại thông minh, Xbox One, Microsoft HoloLens, và Internet of Things. Các ứng dụng UWP chủ yếu được mua và tải về qua Windows Store

Tên gọi
-------

Bắt đầu từ Windows 10, một ứng dụng UWP sẽ được gọi là một "ứng dụng Windows"; một ứng dụng UWP đáp ứng đầy đủ yêu cầu của Microsoft, được cài đặt từ Windows Store, là một "Ứng dụng Windows Store tin cậy"; và các chương trình ứng dụng khác chạy trên một máy tính để bàn là các "ứng dụng desktop".

Trong Windows 8.x
-----------------

Các ứng dụng Windows lần đầu được xuất hiện với tên "Ứng dụng kiểu Metro" khi Windows Store được bắt đầu năm 2012 và được đi kèm với Windows 8.

### Giao diện

Trong Windows 8.x, các ứng dụng Metro không chạy trong một cửa sổ. Thay vào đó, chúng có thể chiếm toàn bộ màn hình hoặc được gắn sang một bên, khiến chúng sẽ chiếm toàn bộ chiều cao màn hình nhưng bị giới hạn trong chiều rộng của nó. Chúng không có thanh tiêu đề, menu hệ thống, viền cửa sổ hay các nút điều khiển. Các giao diện lệnh như thanh trượt thường được ẩn đi lúc đầu. Các menu được hiện lên trong "thanh charm". Các ứng dụng Metro sử dụng các điều khiển giao diện người dùng của Windows 8.x và thường tuân theo các hướng dẫn giao diện của Windows 8.x, ví dụ như cuộn theo chiều ngang và bao gồm các thành phần giao diện kiểu cạnh, như thanh ứng dụng.

Để đáp lại các chỉ trích từ phía người dùng, trong Windows 8.1, một thanh tiêu đề được thêm vào nhưng sẽ bị ẩn đi trừ khi người dùng di chuyển chuột đến cạnh trên của màn hình. Nút menu kiểu "hamburger" trên thanh này sẽ dùng để truy cập vào các cài đặt charm.

### Phân phối và giấy phép

Với hầu hết người dùng, con đường để tải về các ứng dụng kiểu Metro chỉ có duy nhất Windows Store. Các doanh nghiệp vận hành một hạ tầng tên miền Windows có thể liên hệ với Microsoft để cho phép họ cài đặt các dòng ứng dụng kiểu Metro cho công việc của họ, không cần dùng Windows Store. Hơn nữa, các hãng trình duyệt web lớn như Google và Mozilla Foundation còn được lựa chọn để được miễn khỏi quy định này; họ được phép bỏ qua các hướng dẫn của Microsoft và Windows Store để chạy một phiên bản kiểu Metro của chính họ nếu người dùng chọn làm các sản phẩm của họ thành trình duyệt mặc định.

Các ứng dụng kiểu Metro là các ứng dụng bên thứ ba duy nhất chạy trên Windows RT. Các ứng dụng bên thứ ba truyền thống không chạy trên hệ điều hành này.

### Nhiều bản sao

Trước Windows 8, các chương trình máy tính được nhận dạng bằng các biểu tượng máy tính tĩnh của chúng. Thanh tác vụ Windows có nhiệm vụ biểu thị mỗi ứng dụng có cửa sổ khi chúng chạy. Các ứng dụng kiểu Metro lại được nhận dạng qua các "ô xếp" của chúng hiển thị biểu tượng và các nội dung động khác. Ngoài ra, trong Windows 8 và Windows 8.1 RTM, chúng không được hiển thị trên thanh tác vụ khi chạy, mà trên một trình chuyển ứng dụng ở cạnh trái màn hình. Windows 8.1 Update đã khôi phục các biểu tượng thanh tác vụ cho các ứng dụng kiểu Metro.

Không có giới hạn nào về số lượng các bản sao của các ứng dụng desktop có thể chạy cùng lúc. Ví dụ, một người dùng có thể chạy bao nhiêu bản sao chương trình cũng được ví dụ như Notepad, Paint hay Firefox khi tài nguyên hệ thống hỗ trợ. (Một số ứng dụng desktop, như Windows Media Player, được thiết kế để cho phép chỉ một quá trình, nhưng điều này không bị hệ điều hành bắt buộc.) Tuy nhiên, trong Windows 8, chỉ một bản sao của ứng dụng kiểu Metro có thể chạy tại một thời điểm; chạy ứng dụng sẽ khiến quá trình đang chạy quay lại từ đầu.

Trong Windows 10
----------------

Windows 10 mang lại một số thay đổi đáng kể về giao diện và cách làm việc của ứng dụng UWP.

### Giao diện

Giao diện của các ứng dụng UWP sẽ tùy vào từng ứng dụng. Các ứng dụng UWP dành riêng cho Windows 10 thường có một giao diện khác, khi chúng dùng các phần điều khiển giao diện khác biệt so với các phiên bản Windows trước. Các ngoại lệ là các ứng dụng sử dụng giao diện tùy chỉnh, đặc biệt là các trò chơi. Các ứng dụng được thiết kế cho Windows 8.x sẽ có khác biệt rõ rệt so với ứng dụng cho Windows 10.

Các ứng dụng UWP cũng có thể giống gần như y hệt các ứng dụng desktop truyền thống, sử dụng các phần điều khiển giao diện giống như từ các phiên bản Windows từ Windows 95 trở đi. Đây là các ứng dụng desktop cũ được chuyển đổi thành các ứng dụng UWP và được phân phối bằng APPX.

### Đa nhiệm

Trong Windows 10, hầu hết ứng dụng UWP, kể cả các ứng dụng được thiết kế cho Windows 8.x, đều chạy trong các cửa sổ nổi, và người dùng sẽ dùng thanh tác vụ và Task View để chuyển giữa cả các ứng dụng UWP và desktop. Windows 10 cũng giới thiệu "Continuum" hay "Tablet Mode". Chế độ này được mặc định tắt trên các máy tính để bàn và bật trên các máy tính bảng, nhưng người dùng máy để bàn vẫn có thể bật tắt nó thủ công. Khi tắt Tablet Mode is off, các ứng dụng sẽ có các cửa sổ chỉnh sửa được kích thước và thanh tiêu đề luôn hiện. Khi bật Tablet Mode các ứng dụng có thể chỉnh kích thước sẽ dùng hệ thống cửa sổ tương tự như các ứng dụng kiểu Metro trên Windows 8.x nên chúng sẽ bị buộc dùng toàn màn hình hoặc được gắn vào một bên.

Các ứng dụng UWP trong Windows 10 có thể mở trong nhiều ứng dụng. Microsoft Edge, Máy tính tay, và Ảnh là các ví dụ về các ứng dụng cho phép điều này.

### Giấy phép và phân phối

Các ứng dụng UWP có thể được tải về từ Windows Store hoặc được sideload từ thiết bị khác. Yêu cầu sideload đã giảm đáng kể từ Windows 8.x tới 10, nhưng ứng dụng vẫn phải được ký bởi một chứng nhận số tin cậy cùng với một chứng nhận gốc.

Thời gian chạy
--------------

Các ứng dụng desktop truyền thống được bắt đầu và đóng lại khi có lệnh của người dùng. Tuy nhiên, các ứng dụng kiểu Metro không bao giờ đóng hay mở thực sự theo lệnh của người dùng. Các ô xếp động, các thành phần nền và các giao diện tương tác với các ứng dụng khác có thể yêu cầu ứng dụng hoạt động trước khi người dùng bật ứng dụng lên. Ngoài ra, khi người dùng đóng một ứng dụng thì các quá trình của ứng dụng sẽ không bị ngừng hoàn toán hay lượng bộ nhớ đã dùng cũng không được giải phóng; thay vào đó, chúng chỉ bị ngừng tạm thời. Một trình quản lý ứng dụng của Windows sẽ tự động ngừng các ứng dụng đang treo, không hoạt động và đã đóng.

Phát triển
----------

### Windows Runtime

Ban đầu, các phần mềm Windows được phát triển sử dụng Windows API. Các phần mềm có quyền truy cập vào API mà không bị hạn chế. Các nhà phát triển được tự do chọn ngôn ngữ lập trình và công cụ phát triển của họ. Tuy nhiên, các ứng dụng kiểu Metro chỉ được phát triển bằng Windows Runtime (WinRT). Nếu sử dụng một API bị cấm sẽ khiến ứng dụng không đủ điều kiện xuất hiện trên Windows Store.

Không phải ứng dụng WinRT nào cũng là ứng dụng kiểu Metro; một lượng nhỏ WinRT có sẵn cho các ứng dụng desktop.

Các ứng dụng kiểu Metro chỉ có thể được phát triển bằng các công cụ phát triển của chính Microsoft. Theo Bauer, Giám đốc Khoa học của Embarcadero Technologies, có các API mà mọi chương trình máy tính đều phải gọi nhưng Microsoft đã cấm chúng, trừ khi chính thời gian chạy Visual C++ của Microsoft thực hiện gọi các API đó.

### Ứng dụng Universal

Bài chi tiết: Universal Windows Platform
Các ứng dụng được phát triển để làm việc trên cả điện thoại thông minh, máy tính cá nhân, video game console và HoloLens được gọi là các **ứng dụng universal**. Việc này được thực hiện bằng các dùng các API ứng dụng universal, lần đầu giới thiệu trong Windows 8.1 và Windows Phone 8.1. Visual Studio 2013 with Update 2 có thể dùng để phát triển các ứng dụng này. Windows 10 giới thiệu Universal Windows Platform (UWP) 10 để phát triển các ứng dụng universal. Các ứng dụng sử dụng nền tảng này được phát triển với Visual Studio 2015. Các ứng dụng kiểu Metro cũ cho Windows 8.1, Windows Phone 8.1 hay cả hai (universal 8.1) cần phải điều chỉnh để chuyển sang nền tảng này.

UWP thực chất không khác Windows Runtime; đúng hơn thì nó là một phần mở rộng của nó. Các ứng dụng không còn được biểu thị là được viết riêng cho một HĐH nào cụ thể trong manifest của chúng nữa; thay vào đó, chunhs tập trung vào một hoặc nhiều họ thiết bị, v.d. máy tính để bàn, di động, Xbox hay Internet of Things (IoT). Chúng phản ứng với các chức năng có sẵn trong thiết bị. Một ứng dụng universal có thể chạy trên cả điện thoại di động nhỏ và máy tính bảng và đem lại trải nghiệm phù hợp. Ứng dụng universal chạy trên điện thoại có thể bắt đầu y như trên máy tính bảng khi điện thoại được kết nối với màn hình phụ hoặc một dock cắm phù hợp.

### APPX

Xem thêm: Open Packaging Conventions
**APPX** là định dạng tập tin dùng để phân phối và cài đặt các ứng dụng trên Windows 8.x và 10, Windows Phone 8.1, Windows 10 Mobile, Xbox One, Hololens, và Windows 10 IoT Core. Không giống các ứng dụng desktop cũ, APPX là hệ thống cài đặt duy nhất cho ứng dụng UWP. Nó thay thế định dạng XAP trên Windows Phone 8.1, trong nỗ lực thống nhất việc phân phối ứng dụng cho Windows Phone và Windows 8. Các tập tin APPX chỉ tương thích với phiên bản Windows Phone 8.1 về sau.

Windows Phone 8.x Marketplace cho phép người dùng tải các tập tin APPX vào một thẻ SD và cài đặt chúng thủ công. Trái lại, sideload (cài đặt ứng dụng ngoài) bị cấm trên Windows 8.x, trừ khi người dùng có giấy phép phát triển hay trong tên miền doanh nghiệp.[*nguồn không đáng tin?*]

Bảo mật
-------

Phần mềm Windows có quyền sử dụng và thay đổi hệ sinh thái của chúng. Các quyền tài khoản người dùng Windows, User Account Control và phần mềm diệt virus sẽ kiểm tra khả năng này và thông báo người dùng nếu ứng dụng cố sử dụng nó với mục đích xấu. Tuy nhiên, các ứng dụng kiểu Metro bị sandbox và không thể thay đổi hệ sinh thái Windows. Chúng cần cho phép quyền để truy cập các thiết bị phần cứng như webcam và microphone và quyền truy cập hệ thống tập tin của chúng bị giới hạn trong các thư mục người dùng, ví dụ như My Documents. Microsoft còn tiếp tục giám sát các ứng dụng này và sẽ có thể xóa chúng nếu chúng có vấn đề về bảo mật hoặc riêng tư.

Xem thêm
--------

* WinJS

Tham khảo
---------

1. ↑  Weinberger, Matt (ngày 17 tháng 3 năm 2016), *Microsoft is trying to change Windows software forever — here's why it'll be a tough fight*, truy cập ngày 27 tháng 6 năm 2016
2. 1 2  Harrel, William (ngày 10 tháng 4 năm 2015), "Metro, Modern, Now Universal? Microsoft Can't Make Up Its Mind!", *Digital Trends*, truy cập ngày 27 tháng 6 năm 2016
3. ↑  Weinberger, Matt (ngày 4 tháng 3 năm 2016), "Microsoft's Windows app strategy comes under fire: 'The most aggressive move Microsoft has ever made'", *Business Insider*, truy cập ngày 27 tháng 6 năm 2016
4. ↑  Cortana. *Windows 10 version 1511*. Microsoft (2015).
5. ↑  Newman, Jared (ngày 26 tháng 3 năm 2015), "Microsoft's Metro apps rechristened with a new, sixth name: Windows apps", *PCWorld*, truy cập ngày 27 tháng 6 năm 2016
6. 1 2  Leonhart, Woody (ngày 8 tháng 4 năm 2014). "What's new in Windows 8.1 Update". *InfoWorld*. IDG.
7. ↑  Bott, Ed (ngày 15 tháng 1 năm 2014). "Google's latest Chrome release tries to replace the Windows 8 desktop". *ZDNet*. CBS Interactive. Under Microsoft’s rules, Metro-style browsers are able to sidestep requirements that apply to all other apps, including the mandate to be distributed through the Windows Store
8. ↑  Branscombe, Mary (ngày 27 tháng 3 năm 2012). "Windows 8 browsers: the only Metro apps to get desktop power". *TechRadar*. Future Publishing. Truy cập ngày 17 tháng 1 năm 2014.
9. ↑  "Switch between open apps". *Microsoft Surface manual*. Microsoft. Truy cập ngày 31 tháng 12 năm 2013.
10. ↑  Fitzsimmons, Michelle (ngày 13 tháng 5 năm 2014). "Windows 8.1 Update 1: hands on with Microsoft's latest Windows update". *TechRadar*. Future plc. Truy cập ngày 19 tháng 5 năm 2014.
11. ↑  Seifert, Dan (ngày 29 tháng 7 năm 2015). "The nine most important updates in Windows 10". *The Verge*. Vox Media.
12. ↑  Warren, Tom (ngày 28 tháng 7 năm 2015). "Windows 10 review". *The Verge*. Vox Media.
13. ↑  Bott, Ed (ngày 28 tháng 7 năm 2015). "Windows 10: A new beginning". *ZDNet*. CBS Interactive.
14. ↑  Sheehan, John; Zanjani, Peyman (ngày 30 tháng 3 năm 2016). *Project Centennial: Bringing Existing Desktop Applications to the Universal Windows Platform* (Video). San Francisco: Microsoft Corporation. 8:50 phút. Bản gốc lưu trữ ngày 29 tháng 1 năm 2018. Truy cập ngày 3 tháng 4 năm 2016.
15. ↑  Joshi, Bipin (ngày 22 tháng 2 năm 2013). "Understanding Windows Store App Lifecycle and State Management". *Code Guru*. QuinStreet.
16. ↑  Hale, David (ngày 7 tháng 3 năm 2016). "App lifecycle". *Windows Dev Center*. Microsoft.
17. ↑  "Windows Runtime APIs for desktop apps". *MSDN*. Microsoft. Truy cập ngày 31 tháng 7 năm 2015.
18. ↑  Grange, Eric (ngày 23 tháng 8 năm 2012). "Why no native WinRT support in Delphi XE3?". *DelphiTools*. Truy cập ngày 13 tháng 1 năm 2014.
19. ↑  Anderson, Tim (ngày 23 tháng 8 năm 2012). "Third-party compilers locked out of Windows Runtime development". *Tim Anderson's ITWriting*. Truy cập ngày 13 tháng 1 năm 2014.
20. ↑  Bauer, Allen (ngày 22 tháng 8 năm 2012). "HTML5 Builder". *Embarcadero Developer Network*. Embarcadero Technologies. Bản gốc lưu trữ ngày 14 tháng 6 năm 2020. Truy cập ngày 13 tháng 1 năm 2014.
21. ↑  Waheed, Ahmed (ngày 2 tháng 3 năm 2015). "A first look at the Windows 10 universal app platform". *Microsoft Gulf Technical Community blog*. Microsoft.
22. ↑  Appel, Rachel (tháng 9 năm 2014). "Modern Apps: Build Universal Apps for the Windows Platform". *MSDN Magazine*. Microsoft. **29** (9).
23. ↑  "Migrate apps to the Universal Windows Platform (UWP)". *MSDN*. Microsoft. Truy cập ngày 31 tháng 7 năm 2015.
24. ↑  "Move from Windows Runtime 8.x to UWP". *Windows Developer Center*. Microsoft. Truy cập ngày 31 tháng 7 năm 2015.
25. ↑  "Guide to Universal Windows Platform (UWP) apps". *Windows Dev Center*. Microsoft. Truy cập ngày 31 tháng 7 năm 2015.
26. ↑  "App packages and deployment (Windows Runtime apps)". *Windows Dev Center*. Microsoft. Truy cập ngày 8 tháng 3 năm 2016.
27. ↑  Warren, Tom (ngày 11 tháng 2 năm 2014). "Windows Phone 8.1 includes universal apps and lots of feature updates". *The Verge*. Vox Media.
28. ↑  "How to Install Appx File on Windows Phone 8.1". Bản gốc lưu trữ ngày 25 tháng 4 năm 2015. Truy cập ngày 11 tháng 9 năm 2016.
29. ↑  "How To Sideload Modern Apps on Windows 8". *How-To Geek*.
30. ↑  Ziegler, Chris (ngày 17 tháng 5 năm 2012). "Microsoft talks Windows Store features, Metro app sandboxing for Windows 8 developers". *The Verge*. Vox Media. Truy cập ngày 12 tháng 1 năm 2013.
31. ↑  Rosoff, Matt (ngày 9 tháng 2 năm 2012). "Here's Everything You Wanted To Know About Microsoft's Upcoming iPad Killers". *Business Insider*. Bản gốc lưu trữ ngày 22 tháng 1 năm 2013. Truy cập ngày 12 tháng 1 năm 2013.

| * x
* t
* s
Windows Phone |
| --- |
| 
* Lịch sử phát triển
* Các tính năng bị loại bỏ

 |
| Các phiên bản | 
* Windows Phone 7
* Windows Phone 8
* Windows Phone 8.1
* Windows 10 Mobile

 |  |
| Phần mềm thiết bị | 
* Action Center
* Bing Mobile
	+ Bing Audio
	+ Bing Maps
	+ Bing Vision
* Cortana
* Groove Music
* Internet Explorer Mobile
* Movies & TV
* MSN Mobile
* Office Mobile
* Remote Desktop
* Ứng dụng Skype cho Windows Phone
* Xbox LIVE trên Windows Phone
* Windows Live cho Di động
* Zune Media Player

 |
| Phần mềm máy tính | 
* Zune Software
* Windows Phone App
* Lumia Software Recovery Tool
* Windows Phone Recovery Tool

 |
| Các dịch vụ | 
* Calendar
* Hotmail Mobile
* Tài khoản Microsoft
* My Windows Phone
* Windows Phone Store
* OneDrive
* People Hub
* Xbox LIVE

 |
| Phát triển | 
* .NET Compact Framework
* App Studio
* DVLUP
* Lumia Beta Apps
* Silverlight
* SQL Server Compact
* XNA
* TouchDevelop

 |
| Các thiết bị | 
* Các thiết bị Windows Phone 7
* Các thiết bị Windows Phone 8
* Các thiết bị Windows Phone 8.1
* Các thiết bị Windows 10 Mobile

 |