Universal Windows Platform

**Universal Windows Platform** (**UWP**), là một cấu trúc ứng dụng thống nhất giữa các nền tảng được tạo bởi Microsoft và được giới thiệu lần đầu trong Windows 10. Mục đích của nền tảng phần mềm này là giúp phát triển các ứng dụng kiểu Metro chạy trên cả Windows 10 và Windows 10 Mobile mà không cần phải viết lại ứng dụng cho mỗi nền tảng. Nó hỗ trợ cho việc phát triển các ứng dụng Windows bằng C++, C#, VB.NET, hoặc XAML. API được thực hiện bằng C++, và được hỗ trợ trong C++, VB.NET, C#, và JavaScript. Được thiết kế như một phần mở rộng của nền tảng Windows Runtime được giới thiệu lần đầu trong Windows Server 2012 và Windows 8, UWP cho phép nhà phát triển tạo các ứng dụng có thể chạy trên nhiều loại thiết bị.

## Sự tương thích
UWP là một phần của Windows 10 và Windows 10 Mobile. Các ứng dụng UWP không chạy trên các phiên bản Windows cũ hơn.

Các ứng dụng sử dụng nền tảng này được phát triển bằng Visual Studio 2015. Các ứng dụng kiểu Metro cũ dành cho Windows 8.1, Windows Phone 8.1 hoặc cho cả hai (universal 8.1) cần được điều chỉnh để chuyển sang UWP.

Trong bài phát biểu tại hội nghị Build 2015, Microsoft giới thiệu loạt các "bridge" UWP cho phép các phần mềm Android và iOS được chuyển đổi sang Windows 10 Mobile. Windows Bridge cho Android (tên mã là "Astoria") cho phép các ứng dụng Android được viết bằng Java hoặc C++ được chuyển đổi sang Windows 10 Mobile và xuất bản lên Windows Store. Kevin Gallo, trưởng bộ phận kỹ thuật của Windows Developer Platform, giải thích rằng lớp này có một vài hạn chế: Google Mobile Services và một số API lõi sẽ không có sẵn, và các ứng dụng được "tích hợp sâu vào các tác vụ ngầm", như phần mềm nhắn tin, sẽ không chạy tốt trong môi trường này. Windows Bridge cho iOS (tên mã là "Islandwood" là một bộ công cụ middleware mã nguồn mở cho phép các phần mềm iOS phát triển bằng Objective-C được chuyển đổi sang Windows 10 Mobile bằng Visual Studio 2015 để chuyển đổi các dự án Xcode thành các dự án Visual Studio. Một bản dựng sớm của Windows Bridge cho iOS được phát hành dưới dạng phần mềm mã nguồn mở dưới giấy phép MIT vào ngày 6 tháng 8 năm 2015, trong khi phiên bản Android lại dưới dạng beta đóng.

Vào tháng 2 năm 2016, Microsoft thông báo đã mua lại công ty phần mềm Xamarin có trụ sở tại San Francisco, California. Ngay sau thương vụ này, Microsoft thông báo sẽ hủy bỏ dự án Android bridge và kế hoạch hỗ trợ ứng dụng Android trên Windows 10. Họ sẽ tập trung vào dự án trên iOS.

## Triển khai
UWP là một phần mở rộng của Windows Runtime. Các ứng dụng Universal Windows được tạo ra sử dụng UWP sẽ không còn biểu thị xem nó được viết cho một HĐH cụ thể nào; thay vào đó, họ tập trung vào một hoặc nhiều nhóm thiết bị, ví dụ như PC, điện thoại thông minh, máy tính bảng, hay Xbox One, sử dụng Universal Windows Platform Bridges. Các phần mở rộng này cho phép ứng dụng được tự động tối ưu hóa tính năng trên từng thiết bị cụ thể mà nó đang chạy. Một ứng dụng universal có thể chạy trên một chiếc điện thoại di động hay một chiếc máy tính bảng và có thể mang tới những trải nghiệm phú hợp giữa hai thiết bị đó. Một ứng dụng universal chạy trên điện thoại di động có thể bắt đầu hoạt động giống như khi chạy trên máy tính bảng khi chiếc điện thoại được kết nối tới một máy tính để bàn hoặc một chiếc dock phù hợp.

## Sự đón nhận

### Sử dụng làm nền tảng trò chơi
Các trò chơi được phát triển cho UWP sẽ phải chịu các giới hạn về kỹ thuật không như các trò chơi được phân phối dưới dạng các ứng dụng desktop chuẩn, bao gồm sự không tương thích với nhiều card-setup đồ họa, và không thể vô hiệu hóa vsync, chỉnh sửa trò chơi, hay dùng trò chơi với các chương trình như Fraps, Steam, hay quản lý phím tắt. Người sáng lập Epic Games Tim Sweeney chỉ trích UWP giống như một "khu vườn đóng", theo mặc định, phần mềm UWP chỉ có thể được cài đặt qua Windows Store, yêu cầu phải thay đổi cài đặt hệ thống để kích hoạt việc cài đặt các phần mềm bên ngoài (một hệ thống mà ông so sánh với hoạt động tương tự trong Android). Ngoài ra, một số tính năng hệ điều hành chỉ có trong UWP và không thể sử dụng trong các ứng dụng dựa trên Win32, bao gồm phần lớn các trò chơi trên PC. Sweeny mô tả những động thái này là "hành động mạnh mẽ nhất Microsoft đã từng làm" để biến các PC thành một nền tảng đóng, và cho rằng các hành động này nhằm đặt các cửa hành bên thứ ba như Steam vào thế bất lợi khi Microsoft đang "giảm bớt sự tự do của người dùng để cài đặt phần mềm PC đầy đủ tính năng và phá hoại quyền của các nhà phát triển và nhà xuất bản ứng dụng để duy trì một mối quan hệ trực tiếp với khách hàng". Do đó, Sweeney cho rằng người dùng cuối nên được tải và cài đặt phần mềm UWP giống như phần mềm desktop.

Trong hội nghị Build 2016, trưởng bộ phận Microsoft Xbox Phil Spencer thông báo rằng công ty đang cố gắng giải quyết các vấn để để cải thiện khả năng phát triển của UWP cho các trò chơi trên PC, nói rằng Microsoft "cam kết đảm bảo sẽ đáp ứng các kỳ vọng về hiệu năng của các trò chơi toàn màn hình cũng như các tính năng bổ sung bao gồm hỗ trợ các nền tảng phân phối trò chơi bên thứ ba, cho phép chỉnh sửa trò chơi, và nhiều hơn nữa." Họ cũng thông báo sẽ thêm vào Windows 10 nhiều tính năng khác, bao gồm hỗ trợ vô hiệu hóa vsync, cũng như các công nghệ AMD FreeSync và Nvidia G-Sync trong các bản cập nhật sắp tới.

## Tham khảo

## Liên kết ngoài
* Hướng dẫn cho ứng dụng Universal Windows Platform (UWP)