Windows 10 và tương lai của ứng dụng UWP

Với bản Creators Update, Microsoft cho phép phủ lên ứng dụng desktop định dạng Universal Windows Platform một cách dễ dàng. Đây phải chăng là bước tiến quan trọng để ứng dụng Windows 10 hiện đại hơn hay thừa nhận ứng dụng PC truyền thống là nền tảng của Windows?

Windows 10 (cũng như Windows 8 trước đây) không đơn thuần là một phiên bản mới của hệ điều hành Windows. Cuộc cách tân này còn tạo ra nền tảng Windows dùng chung Universal Windows Platform (UWP), cho phép các nhà phát triển viết ứng dụng một lần để chạy trên nhiều loại thiết bị, từ PC, tablet, smarphone cho đến Xbox và HoloLens. Đây là một phần rất quan trọng trong chiến lược “One Windows” trong hệ sinh thái Windows 10 của Microsoft.

Những ứng dụng nền tảng UWP này, còn gọi là ứng dụng ‘universal’ (các phiên bản trước là ứng dụng WinRT, Metro, Modern UI và Store), có quyền khai thác các tính năng nền tảng mới như ô thông tin động (live tile) trên menu Start, nhập liệu bằng bút số (ink input), làm việc với Cortana và tạo ra các thông báo trong Action Center. Nhưng chúng cũng có những mặt hạn chế, và những ngờ vực về tính bảo mật, độ tin cậy và thời lượng pin.

Các ứng dụng UWP trên Windows 10 cũng chạy tách biệt kiểu sanbox như với các hệ điều hành di động trên smartphone. Chúng không làm thay đổi hẳn môi trường Windows khi được cài vào, thay vào đó sử dụng các tập tin hệ thống và registry ảo nên không xung đột với ứng dụng khác khi chạy, và bạn dễ dàng gỡ bỏ chúng hoàn toàn. File cài đặt AppX có thể được cập nhật liên tục để cung cấp tính năng mới cho ứng dụng, nhờ đó người dùng không còn bị làm phiền với những yêu cầu nâng cấp lên phiên bản ứng dụng mới.

Các ứng dụng muốn truy cập vào phần cứng như microphone và webcam phải được cấp quyền, và chúng không thể truy cập toàn bộ hệ thống tập tin, do vậy ứng dụng độc hại không thể gây ra nhiều thiệt hại. Nếu đang chạy trong chế độ nền, ứng dụng UWP có thể bị đóng ngay lập tức nếu hệ thống cần thêm bộ nhớ. 

Ứng dụng UWP sử dụng các API mới thêm vào cho Windows 10, nhiều API trong số đó vẫn có thể được các ứng dụng desktop truyền thống sử dụng. Định dạng đóng gói AppX của ứng dụng UWP cũng được sử dụng bởi Windows Server Apps; điều đó quan trọng với Nano Server vì trên đó bạn không thể chạy trình cài đặt GUI truyền thống như cách vẫn dùng cho nhiều ứng dụng máy chủ, cũng nhờ thế các bản cài trên máy chủ Windows Server 2016 “sạch” hơn vì AppX không hỗ trợ tùy chỉnh.

Đang có sự gia tăng các công cụ tạo ứng dụng UWP – từ hệ thống phát triển đa nền tảng Xamarin của Microsoft cho đến công cụ nguồn mở UWP Community Toolkit. Microsoft gần đây đã hợp tác với Telerik để kiểm soát mã nguồn mở UWP cho các phần tử giao diện người dùng quan trọng từ các công cụ quen thuộc như kiểm soát lưới hiển thị dữ liệu, form dữ liệu và biểu đồ, cho tới điều khiển màn hình cảm ứng và xoay để sử dụng với  phụ kiện Surface Dial của Microsoft. Nhờ vậy, việc phát triển ứng dụng UWP sẽ dễ dàng và đỡ tốn thời gian hơn. 

Việc mở cơ sở dữ liệu những thiếu sót kỹ thuật đối với UWP, trong đó có cả các tính năng đang trong quá trình phát triển, đem lại cái nhìn rõ ràng hơn cho các nhà phát triển về kế hoạch của Microsoft.  

Desktop Bridge – cầu nối sang UWP

Có nhiều lý do cho thấy Microsoft đang gặp khó khăn trong việc thuyết phục các nhà phát triển ứng dụng doanh nghiệp chuyển sang nền tảng UWP

Ứng dụng UWP chỉ chạy trên Windows 10, và hệ điều hành mới này thì  vẫn chưa phổ biến trong môi trường doanh nghiệp. Nicholas McQuire, phó giám đốc nghiên cứu mảng doanh nghiệp của hãng phân tích CCS Insight còn cho rằng, các doanh nghiệp vẫn chưa nhận thức được những lợi thế của UWP, giá trị ra sao trong những trường hợp cụ thể nào. Thêm rào cản nữa là phải viết lại từ đầu những ứng dụng desktop đã có, trong khi đó nhìn chung vẫn còn quá nhiều bất cập trong việc phát triển ứng dụng di động cho doanh nghiệp. Ngay như Microsoft cũng thiếu sự tập trung vào di động những năm trước đây.

Doanh nghiệp đang dùng ứng dụng .NET và Win32, và dĩ nhiên họ vẫn muốn tiếp tục sử dụng chúng. Để khuyến khích doanh nghiệp sớm đến với UWP, năm ngoái Micrsoft phát hành công cụ Desktop Bridge chuyển đổi ứng dụng cũ sang UWP (ban đầu có tên Project Centennial, về sau được giới thiệu là Desktop App Converter). Công cụ chuyển đổi phủ một lớp lên ứng dụng cũ để trông giống như ứng dụng UWP bằng cách xem xét những nhánh registry và các tập tin hệ thống mà chúng thay đổi và ảo hóa những thay đổi đó.

Với bản Creators Update, ứng dụng desktop được chuyển đổi sẽ khai thác được những công nghệ mới như bút vẽ và Cortana, thậm chí cả Microsoft Bot Framework, vì chúng được quyền truy cập nhiều API hơn. Một lựa chọn mới hữu ích khác nữa là bạn có thể viết ứng dụng Desktop Bridge mà có thể khởi chạy khi hệ điều hành được nạp.

Desktop App Converter hiện đã có mặt trên cửa hàng Windows Store sẵn sàng cho các nhà phát triển tải về. Và các công cụ cài đặt chuẩn của Windows, Install Shield, WiX và bộ cài Advanced Installer, tất cả đều đã có thể làm việc với bộ chuyển đổi, do vậy nhà phát triển có thể tạo ứng dụng chuyển đổi như một phần của công việc thông thường.

Khác với ứng dụng UWP chuẩn, ứng dụng UWP chuyển đổi không chạy trong sanbox, và có những khả năng mà ứng dụng UWP chuẩn không có, chẳng hạn như truy cập toàn bộ hệ thống tập tin. Chúng không tự cài trình điều khiển nhưng có thể làm việc với các trình điều khiển hiện có để truy cập tới phần cứng, cơ sở dữ liệu và các API mạng. Dù có nhiều quyền nhưng cơ chế truy cập tập tin hệ thống và registry ảo giúp nâng cao độ tin cậy.

Đó là điều hấp dẫn nhất đối với các nhà phát triển ứng dụng doanh nghiệp, theo nhà phân tích Steve Kleynhans của hãng nghiên cứu thị trường Gartner. Ông chia sẻ, ít có khách hàng của hãng hứng thú với việc viết lại ứng dụng của họ dưới dạng UWP để chạy trên mọi thiết bị. Thay vào đó doanh nghiệp ngày nay thích những ứng dụng đa nền tảng dựa trên trình duyệt. Đây là xu hướng chính đối với các ứng dụng desktop chứ không phải là viết lại chúng thành dạng UWP. Ông cho rằng, điều doanh nghiệp thực sự quan tâm là khả năng đóng gói ứng dụng tự phục vụ và phân phối chúng qua Windows Store.

Theo Steve thì Desktop Bridge nhìn chung đã đáp ứng những gì khách hàng muốn, tạo cho họ cơ hội đóng gói phần lớn ứng dụng cũ, đưa chúng lên Windows Store và cho phép mô hình tự phục vụ, khả năng cài đặt và gỡ bỏ các ứng dụng sạch hơn, và mở ra những mô hình mới về cấp phép và triển khai.

Một số nhà phân tích cho rằng các nhà phát triển phần mềm bên thứ ba sẽ quan tâm tới việc chuyển đổi ứng dụng desktop, vì nhờ đó họ có thể phân phối sản phẩm phần mềm cũ qua Windows Store như với ứng dụng UWP. Desktop Bridge đem lại cho họ phương thức bán hàng mới theo xu hướng cửa hàng ứng dụng, và thực tế một số công ty như Adobe chẳng hạn đã có sẵn ứng dụng Bridge trên cửa hàng. Kể cả với những nhà phát triển không khai thác khả năng kinh doanh từ Store thì vẫn được lợi trong việc sử dụng Desktop Bridge. Các ứng dụng cài đặt và gỡ bỏ “sạch” hơn với các thư mục Windows và registry ảo, việc sử dụng Bridge còn cho phép nhà phát triển thêm dần chức năng dành cho môi trường Windows 10, trong khi chương trình vẫn chạy bình thường trên Windows 7

Mặt trái của Desktop Bridge

Mặt trái của Desktop Bridge là các nhà phát triển có thể chỉ dừng lại với việc phủ lớp bọc lên ứng dụng của họ vì quá tiện mà không muốn tạo ứng dụng UWP thực sự. Điều đó sẽ khiến ứng dụng UWP khó phổ biến, bởi ứng dụng chuyển đổi sẽ không chạy trên điện thoại hay laptop Windows dùng chip ARM sắp xuất hiện. 

Về phía Microsoft, hãng chắc chắn sẽ tìm cách khuyến khích các nhà phát triển không chỉ đến với ứng dụng chuyển đổi mà tiến đến biến chúng thành ứng dụng UWP thực sự. Trước hết là kết hợp một ứng dụng chuyển đổi với một tiến trình UWP thứ hai, mà có quyền truy cập tới các tính năng UWP, kiểu như chạy ở chế độ Connected Standby, mà tự thân ứng dụng chuyển đổi không thể làm được. Adobe XD sử dụng kiểu kết hợp này; Ứng dụng XD được xây dựng dạng UWP nhưng Adobe còn phủ lên các thành phần desktop từ các ứng dụng Windows hiện tại của hãng như Photoshop bằng cách sử dụng Desktop Bridge do vậy XD có thể chia sẻ chúng.

Với bản Creators Update, nhiều .NET và Win32 API quen thuộc cũng có sẵn cho ứng dụng UWP, do vậy rất dễ để chuyển đổi mã hiện tại sang UWP. Kevin Gallo, phó chủ tịch nền tảng phát triển Windows của Microsoft cho biết, Microsoft đã thay đổi các API hệ thống tập tin và mạng. Tất nhiên chúng tốt hơn, nhưng điều đó cũng có nghĩa là nhà phát triển phải cập nhật mã nguồn của họ hoặc lập trình thêm. Nếu vẫn sử dụng các hàm API cơ bản để xây dựng ứng dụng và đưa lên Store thì sẽ không được chấp nhận. 

Và như vậy, các API có nhiều phiên bản sẽ lại gây phiền phức hơn cho việc chuyển mã. Tuy nhiên Gallo hứa hẹn, Microsoft sẽ tiếp tục mở rộng các API mà ứng dụng UWP có thể sử dụng để làm chúng phù hợp hơn với mã nguồn hiện tại.

Theo Ginny Caughey, chủ tịch hãng phần mềm Carolina Software và cũng là một chuyên gia MVP phát triển Windows, mục tiêu cuối cùng là chuyển hẳn sang ứng dụng UWP, nhưng ông băn khoăn không rõ thời gian sẽ mất bao lâu nữa. Doanh nghiệp thường chậm thay đổi, PC sẽ nâng cấp lên Windows 10 nhưng không phải tất cả ngay lập tức, do vậy UWP không phải là vấn đề cấp thiết. Rõ ràng Microsoft đang tập trung đầu tư công nghệ mới vào UWP, nhưng có lẽ doanh nghiệp không vội vì quan điểm lâu dài trong kinh doanh.

Caughey cảnh báo đang có một số rào cản kỹ thuật phần cứng đối với việc chuyển nhiều ứng dụng doanh nghiệp sang UWP; thiếu hỗ trợ SQL Server trực tiếp (SqlClient for UWP) là khiếm khuyết lớn; thiếu các điều khiển UI (giao diện người dùng) doanh nghiệp như DataGrid cho UWP. Dù vậy, ông đánh giá cao việc Microsoft mới đây đã mở mã nguồn điều khiển Telerik UI cho UWP. Thêm nữa còn có dự án nguồn mở UWP Community Toolkit với sự tài trợ của Microsoft trong khi chờ đợi Windows SDK chính thức ra mắt sẽ cung cấp nhiều hơn những gì còn thiếu.

Ứng dụng UWP hiện vẫn còn quá ít, tất cả vẫn đang chờ phía trước, và có lẽ phải tới năm 2020 khi Windows 10 phổ biến thì ứng dụng UWP mới cất cánh, theo Puja Prabhakar, giám đốc cao cấp của Digital Workplace tại Avanade.

Triển vọng cùng tablet

Ứng dụng ‘universal’, viết một lần chạy trên mọi thiết bị Windows 10, chưa hẳn đã hấp dẫn doanh nghiệp, dù về mặt lý thuyết khó có thể nghi ngờ về điều đó, theo McQuire của hãng phân tích CCS Insight. Ông cho rằng một số doanh nghiệp sẽ chuyển hẳn sang ứng dụng UWP, nhưng có lẽ không phải là mục đích để chạy trên nhiều nền tảng thiết bị, từ di động, PC cho đến thiết bị đeo như tầm nhìn của Microsoft. Có chăng sự thu hút của UWP là ở sự tăng cường bảo mật và khả năng quản lý mà nó cung cấp, đặc biệt là với những ứng dụng quan trọng. 

“Về lâu dài, nhiều người cũng sẽ theo dõi Windows 10 chạy trên nền chip ARMHoloLens phát triển ra sao. Nhưng trước mắt, máy để bàn sẽ tạo ra sự chuyển động nhanh nhất”, ông nói.

Caughey cũng chỉ ra rằng, tablet đang thay đổi cách doanh nghiệp nghĩ về di động. Chúng ta không còn lạ lẫm việc một số nơi thay thế máy để bàn bằng máy tính bảng hay thiết bị lai kiểu như Microsoft Surface tiên phong và đang được một số nhà sản xuất OEM khác hưởng ứng. Ứng dụng UWP phát triển cho máy tính để bàn, nhưng nhiều máy trong chúng cũng sẽ là thiết bị di động. Những thiết bị di động lâu đời như máy bán hàng (POS) di động dựa trên Windows CE hay Windows Mobile đang dần bị thay thế bởi máy tính bảng Windows giá rẻ, là những máy chạy phiên bản Windows đầy đủ do vậy chúng cũng là máy tính để bàn nhìn từ góc độ phần mềm. Xu hướng này có lẽ sẽ thành chủ đạo nhờ những trải nghiệm công việc với iPad, nhưng máy tính bảng Windows là lựa chọn mặc nhiên trong nhiều doanh nghiệp lâu nay vốn đã quen thuộc với hệ sinh thái Windows.

Kleynhans của Gartner thì cho rằng sự hấp dẫn thực sự của ứng dụng UWP có lẽ là cách chúng có thể tận dụng tối đa lợi thế của phần cứng mới, đặc biệt với Surface Dial và máy tính bảng, chứ không phải các nền tảng ít phổ biến hơn kiểu như Surface Hub hay HoloLens. 

Núm xoay Surface Dial có cách tương tác hoàn toàn mới hết sức độc đáo. Đó là một thiết bị analog trong thế giới số mà theo Kleynhans sẽ mở ra nhiều cơ hội tuyệt vời cho công việc. Tất cả còn chờ những ứng dụng UWP mới tạo đòn bẩy và sử dụng nó theo cách mới. Chẳng hạn quay bàn độ để chuyển đổi từ bản vẽ 2D sang 3D và ngược lại trong khi xem kiến trúc của một tòa nhà.

Kleynhans kỳ vọng những thiết bị 2-trong-1 như Surface và Lenovo Yoga với màn hình cảm ứng và hỗ trợ bút số sẽ thúc đẩy UWP phổ biến nhờ đem lại cho người dùng cách tương tác mới với ứng dụng. Hãy hình dung bạn chuyển ứng dụng chạy từ chế độ máy tính sang tablet để phác họa cùng bút số trong khi thơ thẩn trong không gian làm việc. Khả năng chạy được trong nhiều chế độ trên cùng một thiết bị sẽ giúp ứng dụng UWP cất cánh khi doanh nghiệp làm mới ứng dụng truyền thống để khai thác thế mạnh của UWP. 

PC World VN 05/2017

Từ khóa: Microsoft, Thương Huyền, Universal Windows Platform, Windows 10, Windows 10 Creator