Tham dự Tech Lounge

Tham dự Tech Lounge


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ả?

Duy Luân
9/8/2015 23:14Phản hồi: 124
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ả?
[​IMG]
Hiện Windows 10 Mobile đã 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 Windows 10? 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.gif

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]

Quảng cáo


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

Quảng cáo


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.png

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.
124 bình luận
Chia sẻ

Xu hướng

vẫn còn chưa tương thích nhiều, chủ yếu app Google thì tạch 😔
@cardmanhinh.com Tại sao AD không khóa nick ông này mà mình . Bình luận để nói ông này spam lại khóa mình . AD làm ăn cái kiểu gì vậy ? Giải thích rõ ràng cho mình ?Mình nick "vannh0"
@Duy Luân
@Đình Vũ SMARTPHONE ko liên quan nhưng góp ý là ban không phải band nhé. Band là ban nhạc bạn
@Đình Vũ SMARTPHONE Mình đâu có làm gì account của bạn đâu? Hôm qua giờ còn không thấy bạn bình luận gì mà?
kungfu9
CAO CẤP
9 năm
Black bery đã làm điều này đầu tiên…và giờ họ thành ra thế!
Microsoft lại muốn như vậy nữa à,…thời gian sẽ trả lời[emoji14]
@kungfu9 Chắc ko đọc bài. Cắm đầu vào thể hiện đẳng cấp
@kungfu9 cái thói không đọc bài rồi cmt tranh tem với cardmanhinh đây mà 😃
kungfu9
CAO CẤP
9 năm
@thekop309 như bạn thấy rồi đó, vẫn thua lão ấy...lần sau sẽ ghi vài từ kiểu như thật tuyệt vời, không để tin nổi thôi
Tớ thích câu này nhất! ^^
Vuốt Ve
ĐẠI BÀNG
9 năm
@cả vũ trụ tôi gét câu này nhất, gsm arena , Xda chắc thua tinh tế
Vic Thành
ĐẠI BÀNG
9 năm
@cả vũ trụ tinh tế thì cũng chỉ google là nhiều mà bạn. 😁
Mic chưa bao giờ có ý cho WP chạy giả lập app của Adroid hay IOS cả , cái họ muốn là giúp LTV đơn giản hóa việc viết app cho WP thôi 😁
tctvn
TÍCH CỰC
9 năm
mình thấy app windows dễ viết nhất có lẽ do dùng từ khi mới bắt đầu @@
14025025
TÍCH CỰC
9 năm
chắc chắn là vậy rồi, ông trùm phần mềm mà phải đi ăn nhờ ở đậu thế sao. 😁
xài WP 3 năm nay quen rồi.và rất hài lòng với em nó.😁
Minh chỉ muốn xài Windowphone dù ai chê đi nũa. Đã tung sd android nhung giò ko xài nũa.
Râu ông nọ cắm cằm bà kia 😁
cứ lai tạp loạn hết cả o_O
ko quan tam den bai viet nhung asus zenphone 4 cua em moi len 5.0 lolipop
mặc dù đã mua hai năm , còn về vấn đề file apk trên win 10 mobli có thể lập trình viên của microsoft đã chép một số file của android vào để kho ứng dụng của mình ko còn hạn hẹp
haiaune
TÍCH CỰC
9 năm
Windows phone xài rất mượt nhưng chỉ thiếu ứng dụng nên cài được apk là điều đáng mừng, bravo wp
vui.rồi đây sẽ loạn cả lên..này thì android nfay thì windooooooows phone và này thì ios:p:p:p
Hi vọng wm10 và bb10 tìm đc cách thay đổi thế giới
cứ từ từ khoai sẽ nhừ. mình tin là ông mic này ko phải dạng vừa đâu.
hoanhieudk
ĐẠI BÀNG
9 năm
@nguyenmanh287 Hehe, có lẽ phải dạng hết cỡ cơ.
Đa số ae tinh tế mua điện thoại mà ko chơi được clash of clan là thất vọng và muốn bán.
Và đặc biệt em mua con zenfone chơi dc COC nhưng ko hỗ trợ xmodgame là càng đắng lòng hơn
@quocanh_ltk team nó có bản thử nghiêm tháng 5 cho cấu trức x86 mà giờ mất tiêu cahr thấy đâu nữa
BengPr0
CAO CẤP
9 năm
@quocanh_ltk Có cách cài đc xmod cho zènone rồi hay sao mà nhỉ
Không cần phải là tất cả, chỉ cần như vậy thôi.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019