Sunday, January 18, 2015

[Dev] Giới thiệu Windows Phone OS


1. Mở đầu:

Chắc bạn thắc mắc tại sao tiêu đề là Windows Phone nhưng lại có nguyên cái hình Windows 10 ngay đầu bài :) Nếu bạn đang có ý định phát triển ứng dụng cho nền tảng của Microsoft thì hãy bắt đầu làm quen với Windows 10. Windows 10 là nền tảng hợp nhất hệ điều hành cho tất cả thiết bị của Microsoft bao gồm: PC, Tablet, Smartphone, Xbox One,… Tất cả các thiết bị trên sẽ chạy chung 1 nền tảng là Windows 10 (tương tự như Android).

Vào ngày 21/01/2015, Microsoft sẽ chính thức giới thiệu Windows Mobile 10 (tên tạm thời). Phiên bản kế tiếp thay thế cho Windows Phone 8.1. Đây là phiên bản được các lập trình viên cũng như người dùng mong đợi nhất. Tuy nhiên, vào lúc này ta cứ tập trung vào Windows Phone 8.1 vì Windows 10 sẽ tương thích hoàn toàn các ứng dụng được viết trên nền tảng Windows Phone 8.1 (vì lúc này WM10 chưa ra thì có gì mà nói haha).

2. Phân biệt ứng dụng Desktop và Modern UI:

- Ứng Dụng Desktop:

Giao diện Desktop trên Windows 7

Đây là các phần mềm được thiết kế để chạy trên giao diện Desktop của Windows, giao diện đã quá quen thuộc với chúng ta từ thời Windows… 95. Đặc điểm của các ứng dụng này là rất mạnh mẽ, xử lý được khối công việc lớn nhưng nhược điểm là nặng nề (càng xử lý được nhiều công việc càng nặng nề), luôn đòi hỏi phần cứng ngày càng cao. Và nó không phù hợp lắm với xu hướng di động lên ngôi như hiện nay. Nhưng với PC thì vẫn tốt chán :D Đặc dễ nhận biết nữa là các icon của nó rất đa dạng (giống Android) còn với Modern UI thì hoàn toàn khác.

- Ứng dụng Modern UI:

Nokia Lumia 930: Flagship chạy Windows Phone 8.1

Đây là nền tảng ứng dụng mới. Được Microsoft phát triển để chinh phục thị trường di động nhằm cạnh tranh với iOS và Android. Ưu điểm của dạng ứng dụng này là nhẹ nhàng hơn Desktop. Ngốn ít tài nguyên phần cứng hơn và phù hợp với những thiết bị di động như smartphone, tablet. Khác với ứng dụng Desktop, các ứng dụng Modern UI (hay gọi ngắn gọn là app) khái niệm icon được thay thế bằng Live Tiles (những viên gạch “sống”). Gọi là “sống” vì nó thay đổi được nội dung hiển thị trên chính nó chứ không tĩnh như iOS hay Android. Vì là gạch nên nó được thiết kế rất vuông vức, rất phẳng, rất dễ nhận biết so với các nền tảng khác. Microsoft là người tiên phong đi theo triết ký thiết kế phẳng (Flat Design) mà sau này Apple lẫn Google đều theo đuổi triết lý này.

Giao diện của các OS tại thời điểm Windows Phone 8 ra mắt



Bạn chưa hình dung Live Tiles của WP8.1 ra sao? Hãy xem video này :)


3. Các phiên bản của Windows Phone:
  • Windows Phone 7: khai tử
  • Windows Phone 7.5: khai tử
  • Windows Phone 7.8: khai tử
  • Windows Phone 8: còn lại trên 1 vài thiết bị chưa chịu (hoặc ko được) nâng cấp lên WP8.1
  • Windows Phone 8.1: phiên bản hiện tại
  • Windows Mobile 10: sắp ra mắt
4. Khả năng nâng cấp OS:

Vào thời điểm viết bài, gần như các điện thoại chạy Windows Phone đều sử dụng Windows Phone 8.1. Để sửa sai khi không cho phép người dùng WP7 nâng cấp lên WP8 (gián tiếp khiến Nokia điêu đứng). Microsoft đã cho phép toàn bộ người dùng Windows Phone 8 nâng cấp lên 8.1 và sắp tới là 10.

Đây là động thái mình thấy hài lòng. Vì ngoài Microsoft chỉ có Apple làm được điều này còn Google thì không. Nó cho người dùng cảm giác không bị bõ rơi. Riêng Android nếu bạn không mua Flasgship (smartphone chủ lực của NSX) hay sp tầm trung mà mua các sp giá rẻ thì sẽ khó có cơ hội được nâng cấp lên phiên bản mới.

Tuy nhiên tương lai cũng sẽ có các thiết bị WP không được phép nâng cấp lên phiên bản mới hơn vì không đáp ứng phần cứng (đa phần là các máy chạy WP8 đời đầu hoặc dùng 512MB RAM). Đây là điều tất yếu nên không thể trách Microsoft được. Cả Apple cũng đã bỏ lại một số thiết bị cũ qua từng phiên bản iOS.

5. Các phiên bản ứng dụng của Windows Phone:

Hiện WP có 2 phiên bản ứng dụng là Silverlight và Runtime (RT).

Silverlight có 2 phiên bản là WP8 và WP Silverlight 8.1 sử dụng nền tảng Silverlight để phát triển ứng dụng. Đây cũng là nền tảng có nhiều API bên thứ 3 hỗ trợ nhất so với Runtime.

Runtime chỉ có duy nhất WP8.1 hay còn gọi là WP RT hoặc WP XAML. Runtime là phiên bản dùng chung thư viện lập trình với Windows RT. Mạnh mẽ hơn hẳn so với Silverlight nhưng có nhiều cái mình thấy dở hơn. Đặc biệt ít API bên thứ 3 hơn Silverlight.

Vậy với lập trình viên thì khi nào cần dùng phiên bản nào? Điều này cũng còn tùy vào nội dung của ứng dụng cũng như tính năng của nó. Trong quá trình tìm hiểu cách thức lập trình cho WP, các bạn sẽ từ từ biết được sẽ cần dùng phiên bản nào cho ứng dụng của các bạn.

No comments:

Post a Comment