11/08/2015
11/08/2015

Windows 10 Mobile chạy được ứng dụng Android APK không chỉnh sửa, nhưng liệu đây có phải là tất cả?

Windows 10 Mobile chạy được ứng dụng Android APK không chỉnh sửa, nhưng liệu đây có phải là tất cả?. Tại sự kiện BUILD 2015 diễn ra vào tháng 4 năm nay, Microsoft đã tiết lộ về những công cụ giúp lập trình viên chuyển thể app của họ vốn được viết cho Android và iOS sang app Windows 10 một cách dễ dàng hơn. Ý tưởng của Microsoft ở đây rất đơn giản: mang thêm app lên Windows 10 mà không buộc các lập trình viên phải viết lại chúng từ đầu.
[IMG]
Hiện đã có khả năng cài và chạy ứng dụng Android trực tiếp mà không cần qua chỉnh sửa mã nguồn gì cả. Vậy điều này có ý nghĩa như thế nào đến tương lai của ? Liệu nó có biến Windows 10 trở thành một BlackBerry 10 thứ hai? Ý định của Microsoft không hoàn toàn giống như thế. Thứ mà hãng muốn đó là các lập trình viên sẽ tái sử dụng lại mã nguồn của app Android hoặc iOS rồi đưa nó vào app Windows 10. Và thực chất thì Microsoft cũng chưa bao giờ tuyên bố về khả năng chạy file APK trực tiếp của Android cả.

Tại sự kiện BUILD 2015 diễn ra vào tháng 4 năm nay, Microsoft đã tiết lộ về những công cụ giúp lập trình viên chuyển thể app của họ vốn được viết cho Android và iOS sang app Windows 10 một cách dễ dàng hơn. Ý tưởng của Microsoft ở đây rất đơn giản: mang thêm app lên Windows 10 mà không buộc các lập trình viên phải viết lại chúng từ đầu.

Tất nhiên, nếu bạn là lập trình viên thì bạn sẽ phải thật sự lập trình lại lại một số thành phần của sản phẩm chứ không chỉ nhấn vài nút là xong. Nhưng với công cụ Microsoft, bạn có thể làm điều đó nhanh hơn, ít tốn thời gian, công sức, tiền bạc hơn. Với những app nào có kết nối đến các dịch vụ của Google thì Microsoft đưa ra các hàm thay thế, ví dụ thay Google Maps bằng Bing Maps, thay Gmail bằng Outlook, tương tự như cách mà Amazon đang dùng cho Fire OS.

[IMG]

Từ khóa quan trọng chính là chữ "chuyển thể". Thứ mà Microsoft muốn không chỉ dừng lại ở việc mang tập tin APK / IPA của app Android / iOS rồi cài trực tiếp lên Windows 10. Thứ hãng muốn là một ứng dụng Windows 10 thật sự, một ứng dụng native. Phần mã nguồn xử lý có thể đã được viết trước cho Android và iOS, chính vì thế mà Microsoft mới đưa ra những công cụ để việc chuyển thể trở nên nhanh chóng. Hay nói chính xác hơn, theo trang web của Microsoft, là "tái sử dụng lại" mã nguồn.

Để các bạn dễ hiểu hơn thì mời xem ảnh GIF bên dưới.

App_Android_Windows_10.

Bên trái là một chiếc điện thoại Android, bên phải là một chiếc điện thoại Windows 10. Chiếc smartphone Win 10 đang chạy một app được chuyển thể từ Android sang, nhưng về cơ bản thì nó vẫn là một app Win 10. Giao diện, chức năng của app bên Android và Windows 10 gần như giống hệt nhau, tức là mã nguồn của app Android đã được tái sử dụng cho app bên Windows 10. Nhưng nếu nhấn vào nút Share bên Android thì giao diện chia sẻ mặc định của Android sẽ xuất hiện, còn nếu nhấn vào nút Share bên Windows 10 thì giao diện chia sẻ của Windows 10 lại hiện ra, và đây chính là nơi mà Microsoft nhúng tay vào để đơn giản hóa việc viết mã lập trình cho nút share nói trên.

Về phần giao diện (front-end), Microsoft hi vọng lập trình viên sẽ thiết kế lại app của mình, dù ít hay nhiều, để nó tương thích với Windows 10. Hãng đã từng nói về điều này tại sự kiện BUILD 2015. Điều này cũng hoàn toàn hợp lý, bởi giao diện và ngôn ngữ thiết kế của iOS hay Android có rất nhiều điểm khác biệt so với Windows 10. Cách tương tác khác, vị trí bố trí nút khác, thao tác chạm cũng khác. Ngay cả tông màu sử dụng hay font chữ cũng khác, thế nên nếu không chỉnh sửa lại giao diện của app cho phù hợp thì app sẽ trông rất kì dị so với phần còn lại của hệ điều hành, và như vậy trải nghiệm sẽ giảm đi rõ rệt. Người dùng sẽ cảm thấy app trở nên xa lạ, khác biệt so với các app Windows 10 khác, và rất có khả năng họ sẽ từ chối sử dụng app đó.

Mà sao lại phải phức tạp như thế? Sao Microsoft không để yên cho người dùng cài file APK lên máy Windows 10 là xong, giống như hiện tại Windows 10 Mobile đã làm được đấy thôi, khỏi chỉnh sửa mã nguồn gì cả, nhanh chóng gọn gàng? Thực chất đây không phải là cách hay trong dài hạn. Có một số nguyên nhân có thể nghĩ đến như sau:

1. Hiệu năng

App Android cài bằng file APK chắc chắn không thể nào chạy mượt mà, nhanh chóng được như một ứng dụng native được viết cho Windows 10. Lý do là bởi vì những app này phải thực thi trong một môi trường chạy (runtime) riêng nằm bên trong Windows 10, có thể tạm liên tưởng nền tảng đó như là một trình giả lập vậy. Và một khi đã phải thông qua trình giả lập thì tài nguyên hệ thống, bao gồm cả CPU và RAM, sẽ bị tiêu hao nhiều hơn, cho nên các app Android cài trực tiếp sẽ trở nên chậm, giật. Trong khi đó, ứng dụng gốc của Windows 10 thì không cần thông qua trình giả lập nào cả nên hiệu năng sẽ cao hơn.

Tình trạng này đã từng diễn ra với BlackBerry 10 ở thời gian đầu. Lúc mới ra mắt, việc chạy app Android trực tiếp trên BB 10 chưa ngon, mọi thứ rất chậm và giật, gần như không thể chấp nhận được cho việc sử dụng hằng ngày. Về sau, BlackBerry từ từ cải tiến hệ thống "Android Runtime" của họ thông qua các bản cập nhật phần mềm nên mọi thứ dần dần được cải thiện, app chạy ổn định hơn. Nhưng so với việc chạy một app BlackBerry native thì trải nghiệm vẫn còn thua kém rất xa.

[IMG]

Vấn đề hiệu năng sẽ được cải thiện đáng kể nếu lập trình viên chuyển thể app của mình thay vì để nguyên file APK mà chạy. Do được phát triển trong môi trường lập trình của Microsoft, lại được biên dịch bằng chính công cụ Microsoft nên sản phẩm cho ra đời sẽ là một ứng dụng Windows 10 thực thụ. Tùy loại app và mức độ chỉnh sửa mã nguồn của lập trình viên mà hiệu năng của app Windows 10 khi đó hoàn toàn có thể ngang bằng như bên app Android.

2. Tính dễ dùng

Như đã phân tích ở trên, mỗi một hệ điều hành có một triết lý thiết kế riêng, hướng dẫn làm giao diện riêng, dù cho có tương đồng nhưng vẫn không giống hoàn toàn. Ví dụ, iOS sử dụng nút back riêng cho từng ứng dụng, trong khi Android và Windows thì dùng phím back cứng nên lập trình viên không cần phải làm nút back nữa.

Hay như Android có rất nhiều app dùng tab trong giao diện, trong khi bên Windows 10 thì không. Ứng dụng Android mới thường xài nhiều màu sắc nổi bật và tươi trẻ, trong khi gam màu của app Windows 10 có vẻ "ngầu" và tối hơn. Chính những khác biệt này sẽ tạo ra sự bất tiện trong việc sử dụng nếu chỉ đơn giản đem y nguyên app Android lên Windows 10.

Chưa kể đến việc app Android APK thì sẽ không được phân phối một cách chính thức trên Windows Store (chỉ có app chuyển thể từ Android -> Windows 10 mới được). Như vậy, để cài được app Android APK thì người dùng sẽ phải dùng công cụ riêng, tự mình thực hiện thao tác đó mà không có sự hỗ trợ nào từ Windows Store. Điều này có thể dễ dàng với anh em Tinh tế, nhưng với người dùng phổ thông thì hoàn toàn không. Thứ họ muốn chỉ là vào chỗ nào đó, chọn app, nhấn Download, xong. Còn nếu phải cài APK thủ công thì sẽ trải qua nhiều bước hơn, phức tạp hơn rất nhiều. Chỉ riêng việc đi kiếm file APK thôi đã cực rồi, và như vậy Microsoft sẽ không thể nào tiếp cận được với người dùng phổ thông cả. Nên nhớ, người dùng phổ thông đông hơn rất nhiều so với những người dùng cao cấp như anh em Tinh tế.

[IMG]
Giao diện dòng lệnh dùng để cài app Android APK cho Windows 10 Mobile

Lại so sánh với BlackBerry, quá trình cài file APK cho BlackBerry OS 10 rõ ràng không thể nào đơn giản như việc cài một app từ BlackBerry App World. Cũng chính vì thế mà sau này BlackBerry đã mang kho Amazon App Store và tích hợp sẵn vào hệ điều hành của mình nhằm đơn giản hóa công đoạn cài đặt. Trừ khi Microsoft thực hiện động thái tương tự, bằng không thì việc tiếp cận đến người dùng phổ thông bằng app Android APK vẫn là điều cực kì khó xảy ra.

3. Hệ sinh thái không bền vững vì phụ thuộc

Nếu Microsoft chỉ dừng lại ở việc cho phép chạy app Android bằng file APK trên Windows 10, hệ sinh thái ứng dụng của Windows khi đó sẽ không thể nào phát triển bền vững. Lý do là vì nó bị phụ thuộc quá nhiều vào hệ sinh thái của Android, app nào bên Android có thì Windows mới có, còn không thì đành bó tay. Chắc chắn Microsoft sẽ không bao giờ cam tâm nhìn Windows bị phụ thuộc một cách nặng nề vào đối thủ của mình như thế cả. Lỡ một ngày nào đó Android không còn được ưa chuộng nữa, thế là Windows 10 cũng phải chịu chung cảnh thiếu app? Lỡ một ngày Google chặn hết mọi đường lấy tập tin APK, thế là Windows 10 đói? Không, chắc chắn là không. Phụ thuộc là nguy hiểm, và phụ thuộc vào đối thủ lại càng chết người hơn.

4. Vấn đề thu hút lập trình viên

Nếu Microsoft không đưa ra khái niệm chuyển thể mà chỉ đơn giản là cho Windows 10 Mobile chạy file Android APK, các lập trình viên khi đó sẽ không màn đến việc phát triển app cho Windows nữa. Nói một cách hóm hỉnh, lúc đó chỉ còn Microsoft nhà phát triển ứng dụng cho Windows 10 Mobile thôi, còn lập trình viên bên thứ ba chỉ việc viết app cho Android thôi, khỏe re. Ai muốn xài thì tự cài lấy lên Windows 10. Khi đó, hệ sinh thái Windows sẽ thiếu đi các nhà phát triển chất lượng cao, và lại càng tăng tính phụ thuộc hơn nữa vào Android.

Universal-Windows-Platform3.

Tóm lại thì thứ mà Microsoft muốn không phải là một app Android chạy trực tiếp, thứ mà hãng muốn là một app Android / iOS chuyển thể sang Windows 10. Có như vậy thì Windows 10 nói chung và Windows 10 Mobile nói riêng mới có thể tiếp tục phát triển bền vững trong chặng đường dài sắp tới, bằng không thì Windows Mobile sẽ bị phụ thuộc vào các hệ điều hành đối thủ, kéo theo đó là những rắc rối về trải nghiệm người dùng.

Nguồn: Go.vn

 
loading...