Tải bản đầy đủ (.docx) (138 trang)

TÌM HIỂU WINDOWS PHONE SDK VÀ VIẾT ỨNG DỤNG MINH HỌA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.32 MB, 138 trang )

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM

PHẠM ĐĂNG KHOA
– 0812234
NGUYỄN ĐÌNH LUYẾN – 0812292

TÌM HIỂU WINDOWS PHONE SDK
VÀ VIẾT ỨNG DỤNG MINH HỌA
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT

GIÁO VIÊN HƯỚNG DẪN
ThS. PHẠM MINH TUẤN

KHÓA 2008 – 2012


TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM

PHẠM ĐĂNG KHOA
– 0812234
NGUYỄN ĐÌNH LUYẾN – 0812292

TÌM HIỂU WINDOWS PHONE SDK
VÀ VIẾT ỨNG DỤNG MINH HỌA
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT

GIÁO VIÊN HƯỚNG DẪN


ThS. PHẠM MINH TUẤN

KHÓA 2008 – 2012


LỜI CẢM ƠN
Lời đầu tiên, chúng em xin chân thành cảm ơn bộ môn Công Nghệ Phần Mềm,
khoa Công Nghệ Thông Tin, trường Đại Học Khoa Học Tự Nhiên thành phố Hồ Chí
Minh đã tạo điều kiện cho chúng em thực hiện luận văn này.
Đặc biệt, chúng em xin gởi lời cảm ơn sâu sắc nhất đến thầy Phạm Minh Tuấn,
người đã trực tiếp hướng dẫn và động viên chúng em rất nhiều khi thực hiện luận văn.
Chúng em xin gởi những lời biết ơn đến những người thân trong gia đình đã
nuôi dưỡng và tạo mọi điều kiện tốt đẹp nhất để chúng em có ngày hôm nay.
Chúng em cũng xin gởi lời cảm ơn đến các quý thầy cô trong khoa Công Nghệ
Thông Tin đã tận tình chỉ bảo, truyền đạt những kiến thức quý báu trong suốt thời gian
chúng em học tại trường
Xin cảm ơn các anh chị và bạn bè thân yêu đã động viên, giúp đỡ chúng em
trong suốt quá trình học tập cũng như làm đề tài.
Mặc dù đã hoàn thành luận văn với một số kết quả nhất định nhưng vẫn không
tránh khỏi thiếu sót. Chúng em rất mong nhận được sự đóng góp ý kiến của quý thầy
cô và các bạn.

Tp. HCM, 6/2012
Nhóm sinh viên thực hiện
Phạm Đăng Khoa – Nguyễn Đình Luyến


ĐỀ CƯƠNG CHI TIẾT

Tên Đề Tài: Tìm hiểu Windows Phone SDK và viết ứng dụng minh họa

Giáo viên hướng dẫn: Ths. Phạm Minh Tuấn
Thời gian thực hiện: từ 16/12/2011 đến 22/6/2012
Sinh viên thực hiện:
Phạm Đăng Khoa - 0812234
Nguyễn Đình Luyến - 0812292
Loại đề tài: Tìm hiểu công nghệ và xây dựng ứng dụng minh họa
Nội Dung Đề Tài:
Đề tài gồm một số nội dung chính sau:



Tìm hiểu sự phát triển của Smartphone và các hệ điều hành dành cho Smartphone
Nghiên cứu hệ điều hành Windows Phone 7 và nền tảng phát triển ứng dụng dành

cho hệ điều hành này
• Tìm hiểu và xây dựng tài liệu kỹ thuật lập trình ứng dụng trên hệ điều hành





Windows Phone 7
Khảo sát và nghiên cứu các giải pháp xây dựng hệ thống quản lý nhà hàng hiện có
Xây dựng hệ thống thực đơn điện tử và giải quyết các vấn đề kỹ thuật liên quan
Cài đặt thử nghiệm và đánh giá ứng dụng
Tổng hợp các đánh giá và báo cáo đề tài

Kế Hoạch Thực Hiện:



Giai đoạn 1 (từ 16/12/2011 đến 16/1/2012): Tìm hiểu hệ điều hành Windows











Phone 7 và nghiên cứu kĩ thuật lập trình trên nền tảng này
Giai đoạn 2 (từ 17/1/2011 đến 31/1/2012): Khảo sát và phân tích các hệ thống
quản lý nhà hàng hiện có
Giai đoạn 3 (từ 1/2/2012 đến 20/2/2012): Phân tích các thành phần của một hệ
thống thực đơn điện tử. Xây dựng Cơ sở dữ liệu và Web Service
Giai đoạn 4 (từ 21/2/2012 đến 31/3/2012): Xây dựng tính năng chính là đặt món
dành cho Mobile phục vụ (Nguyễn Đình Luyến). Tìm hiểu ASP.NET MVC 2 và
xây dựng thành phần Server Quản lý nhà hàng dành cho Admin trên nền Web.
(Phạm Đăng Khoa)
Giai đoạn 5 (từ 1/4/2012 đến 31/4/2012): Xây dựng thêm các tính năng nghiệp vụ
dành cho Mobile
Giai đoạn 6 (từ 1/5/2012 đến 15/5/2012): Xây dựng thành phần Quản lý nhà hàng
dành cho Admin trên Mobile
Giai đoạn 7 (từ 16/5/2012 đến 31/5/2012): Thực hiện triển khai, sửa lỗi và viết
báo cáo.
Giai đoạn 8 (từ 1/6/2012 đến 24/6/2012): Hoàn thiện báo cáo và tài liệu kỹ thuật
Xác nhận của GVHD


Ngày 22 tháng 6 năm 2012
Sinh viên thực hiện

Ths. Phạm Minh Tuấn

Phạm Đăng Khoa

Nguyễn Đình Luyến


MỤC LỤC

6


MỤC LỤC HÌNH
Hình 2-1 Các hệ điều hành dành cho Smartphone.................................................4
Hình 2-2 Hệ điều hành Windows Phone 7.............................................................7
Hình 2-3 So sánh Windows Phone 7 với các hệ điều hành di động khác...............9
Hình 2-4 Cộng tác khi sử dụng các công cụ SDK...............................................13
Hình 2-5 Hệ thống Windows Phone....................................................................15
Hình 2-6 Kiến trúc hệ thống Windows Phone.....................................................15
Hình 2-7 Kiến trúc Runtimes...............................................................................16
Hình 2-8 Quy trình phát triển ứng dụng trong hệ thống Windows Phone............17
Hình 2-9 Mô hình phân cấp chức năng................................................................19
Hình 2-10 Mô hình phát triển bảo mật..................................................................20
Hình 2-11 Mô hình kiến trúc.................................................................................21
Hình 2-12 Sliverlight frameword...........................................................................24
Hình 2-13 XNA frameword...................................................................................27
Hình 2-14 Mô hình thực thi XNA.........................................................................28

Hình 3-1 Chu trình sống của ứng dụng................................................................35
Hình 3-2 Khái niệm page và screen.....................................................................37
Hình 3-3 Ngăn xếp các trang đã duyệt................................................................39
Hình 3-4 Kiến trúc chung của một ứng dụng Windows Phone 7.........................40
Hình 3-5 Cấu trúc cây phân cấp với XAML........................................................43
Hình 3-6 Điều hướng trang và frame...................................................................44
Hình 3-7 Lưu trữ cục bộ.....................................................................................52

7


Hình 3-8 Lưu trữ cơ sở dữ liệu cục bộ....................................................................53
Hình 3-9 Minh họa thay đổi theme......................................................................62
Hình 3-10 Minh họa sử dụng tài nguyên theme.....................................................63
Hình 4-1 Các phần mềm quản lý nhà hàng..........................................................67
Hình 4-2 Sơ đồ nghiệp vụ của hệ thống thực đơn điện tử e-Menu......................72
Hình 4-3 Mô hình Use case tổng thể...................................................................74
Hình 5-1 Mô hình Use case Server trung tâm......................................................77
Hình 5-2 Mô hình Use case Mobile phục vụ.......................................................88
Hình 5-3 Mô hình Use case Mobile quản lý........................................................96
Hình 6-1 Kiến trúc hệ thống..............................................................................101
Hình 6-2 Mô hình cài đặt ứng dụng...................................................................102
Hình 6-3 Mô hình triển khai..............................................................................104
Hình 6-4 Sơ đồ màn hình Server trung tâm.......................................................105
Hình 6-5 Màn hình cho khách xem món...........................................................106
Hình 6-6 Màn hình quản lý tài khoản................................................................107
Hình 6-7 Màn hình cập nhật thông tin món.......................................................107
Hình 6-8 Màn hình báo cáo thống kê................................................................108
Hình 6-9 Màn hình xem thông tin món cần chế biến.........................................108
Hình 6-10 Sơ đồ màn hình Mobile phục vụ.........................................................109

Hình 6-11 Màn hình đăng nhập trên Mobile phục vụ..........................................111
Hình 6-12 Màn hình xem khu vực trên Mobile phục vụ......................................111
Hình 6-13 Màn hình gọi món..............................................................................112

8


Hình 6-14 Màn hình gởi món..............................................................................112
Hình 6-15 Màn hình thanh toán...........................................................................113
Hình 6-16 Sơ đồ màn hình Mobile quản lý.........................................................114
Hình 6-17 Màn hình xem thông tin đặt món tren Mobile quản lý.......................115
Hình 6-18 Màn hình xem thông tin khuyến mãi trên Mobile quản lý..................116
Hình 6-19 Mô hình cơ sở dữ liệu Server trung tâm.............................................117
Hình 6-20 Mô hình cơ sở dữ liệu Mobile phục vụ...............................................120
Hình 6-21 Mô hình cơ sở dữ liệu Mobile quản lý................................................121
Hình 6-22 Sử dụng Panorama control để hiện danh sác món..............................127
Hình 6-23 Sử dụng Child Window......................................................................128
Hình 6-24 Sử dụng Popup...................................................................................129

9


MỤC LỤC BẢNG
Bảng 2-1 Tổng quan các phiên bản Windows Phone.......................................9
Hình 2-2 So sánh Windows Phone với các hệ điều hành di động khác.........10
Bảng 2-3 So sánh các frameword..................................................................18
Bảng 2-4 Cấu trúc project Windows Phone Application................................26
Bảng 2-5 Tập tin cơ bản Windows Phone Game...........................................28
Bảng 2-6 Các tập tin chính trong ứng dụng kết hợp Silverlight và XNA.............30
Bảng 2-7 Các phương thức chính trong XNA...................................................32

Bảng 3-1 Một số khái niệm liên quan đến mô hình thực thi..........................34
Bảng 3-2 Một số phương thức của WebClient...............................................59
Bảng 4-1 Các phần mềm quản lý nhà hàng được khảo sát............................68
Bảng 4-2 Các chức năng được cài đặt...........................................................71
Bảng 4-3 Mô tả các bước trong sơ đồ nghiệp vụ...........................................73
Bảng 4-4 Danh sách các Actor tổng thể.........................................................74
Bảng 4-5 Ý nghĩa tên gọi các Use case tổng thể............................................75
Bảng 5-1 Danh sách các Actor Server trung tâm...........................................78
Bảng 5-2 Ý nghĩa tên gọi các Use case Server trung tâm..............................78
Bảng 5-3 Danh sách các Actor Mobile phục vụ.............................................88
Bảng 5-4 Ý nghĩa tên gọi các Use case Mobile phục vụ................................88
Bảng 5-5 Danh sách các Actor ở Mobile quản lý..........................................96
Bảng 5-6 Ý nghĩa tên gọi các Use case Mobile quản lý................................96
Bảng 6-1 Mô tả các thành phần trong mô hình cài đặt................................102

10


Bảng 6-2 Mô tả các nhóm màn hình Server trung tâm................................105
Bảng 6-3 Mô tả các nhóm màn hình Mobile phục vụ..................................110
Bảng 6-4 Mô tả các nhóm màn hình Mobile quản lý...................................115
Bảng 6-5 Ý nghĩa các bảng dữ liệu..............................................................117
Bảng 6-6 So sánh e-Menu và R-Keeper......................................................129

11


TÓM TẮT KHÓA LUẬN

Luận văn tập trung tìm hiểu kiến trúc và cách phát triển ứng dụng trên hệ điều

hành Windows Phone. Sau đó xây dựng ứng dụng minh họa là hệ thống thực đơn điện
tử. Hệ thống này hỗ trợ nhân viên phục vụ trong việc đặt món ăn và thanh toán, sử
dụng điện thoại Windows Phone 7.
Hướng tiếp cận là khảo sát các ứng dụng hiện có, phân tích các chức năng sẽ hỗ
trợ. Chọn ra các thành phần chính để phát triển, xây dựng ứng dụng với các công nghệ
mới.
Cách giải quyết vấn đề:


Xây dựng thành phần Server trên nền Web để xử lý, lưu trữ dữ liệu.

Ngoài ra còn giúp truy cập từ xa và triển khai dễ dàng.
• Xây dựng nhiều nghiệp vụ phức tạp liên quan đến phục vụ ở Mobile
• Nghiên cứu các giải pháp đồng bộ và bảo mật
Các kết quả đạt được:


Tìm hiểu được Windows Phone 7 và xây dựng một số tài liệu kỹ thuật hỗ

trợ lập trình với nền tảng này.
• Xây dựng hệ thống thực đơn điện tử e-Menu, cung cấp nhiều chức năng
tiện ích và cải tiến quy trình đặt món. Gồm 4 thành phần
 Server trung tâm: tiếp nhận, lưu trữ và xử lý dữ liệu. Cung cấp
giao diện quản lý.
 Bộ phận chế biến: quản lý món cần chế biến
 Mobile phục vụ: cung cấp cách thức gọi món, thanh toán
 Mobile quản lý: cung cấp các chức năng quản lý nhà hàng từ di
động
Nội dung luận văn gồm 7 chương:


12


Chương 1. Mở đầu: Giới thiệu đề tài. Trình bày lý do chọn đề tài, mục đích,
đối tượng, phạm vi nghiên cứu. Nêu các kết quả đạt được.
Chương 2. Tổng quan về Windows Phone: Giới thiệu về sự phát triển của
điện thoại thông minh cũng như các hệ điều hành di động. Trình bày tổng quan về hệ
điều hành Windows Phone và Windows Phone SDK.
Chương 3. Kiến thức nền tảng Windows Phone: Tìm hiểu kiến trúc hệ điều
hành Windows Phone 7. Cách sử dụng SDK và một số kiến thức nền tảng khi phát triển
ứng dụng.
Chương 4. Tổng quan về ứng dụng minh họa: Khảo sát các ứng dụng hỗ trợ
quản lý nhà hàng. Phân tích các chức năng cho ứng dụng min họa.
Chương 5. Yêu cầu chi tiết của hệ thống e-Menu: Trình bày chi tiết các yêu
cầu chức năng của 3 thành phần trong hệ thống e-Menu.
Chương 6. Thiết kế hệ thống e-Menu: Trình bày các tài liệu thiết kế hệ thống
thực đơn điện tử.
Chương 7. Tổng kết đề tài: Tổng kết những kết quả đạt được và đề ra hướng
phát triển tiếp theo.

13


Chương 1
1.1

Mở đầu

Giới thiệu ngữ cảnh đề tài
Chúng ta đang sống trong một thời đại mới, thời đại phát triển vượt bậc của


Công nghệ thông tin, nó có mặt ở khắp mọi nơi và thúc đẩy sự phát triển xã hội. Trong
đó, điện thoại di động ngày càng trở thành một xu thế của tương lai. Chưa bao giờ
chúng ta giành nhiều thời gian để sử dụng đi động như hiện nay. Sự phát triển và cải
tiến liên tục thiết bị di động, và đỉnh điểm là thế hệ điện thoại thông minh
(smartphone), được thiết kế nhỏ gọn và trang bị đầy đủ tính năng và tiện ích của một
chiếc máy tính sẽ thỏa mãn nhu cầu ngày càng lớn của người dùng về sự tiện ích và
khả năng tương tác của họ với xã hội. Smartphone với vô vàn ứng dụng đang dần thay
đổi cách thức con người sinh hoạt, trao đổi thông tin, học tập và làm việc. Di động
không những phục vụ cho từng cá nhân, mà còn được ứng dụng vào hoạt động kinh
doanh nữa. Điểm nhấn là sự gia tăng tốc độ triển khai ứng dụng di động trong các
doanh nghiệp hiện nay, bởi nó đang và sẽ cải thiện các quy trình kinh doanh cũng như
nâng cao hiệu suất làm việc trong doanh nghiệp.
Tính thông minh (smart) của smartphone chủ yếu là do phần mềm mang lại,
trọng tâm là hệ điều hành. Hiện nay trên thế giới có rất nhiều hệ điều hành dành cho
điện thoại di động như iOS, Android, Blackberry OS, Bada, … và mới nhất là hệ điều
hành Windows Phone 7 của Microsoft. Windows Phone hấp dẫn người dùng không chỉ
bởi tính năng đa dạng mà còn do một trải nghiệm hoàn toàn mới với giao diện lạ mắt.
Nó đang thực sự trở thành một thế lực trên thị trường di động và dự đoán sẽ tăng
trưởng trong tương lai. Bên cạnh đó, Microsoft cung cấp bộ công cụ phát triển ứng
dụng (SDK) và một số phần mềm hữu ích kèm theo giúp lập trình viên dễ dàng phát
triển ứng dụng hơn.

14


1.2

Lý do chọn đề tài
Nhà hàng, café, bar … là một trong những loại hình kinh doanh đầy thử thách


và ngày càng phát triển. Nó đòi khả năng nắm bắt tình hình và không ngừng nâng cao
khả năng phục vụ. Việc ứng dụng phần mềm trong lĩnh vực này sẽ mang lại hiệu quả
lớn hơn, và thực tế là đã có rất nhiều ứng dụng được đưa ra.
Tuy nhiên, nhóm chúng em muốn xây dựng một giải pháp tốt hơn cho vấn đề
này, bằng việc áp dụng các công nghệ mới, đặc biệt là cung cấp trải nghiệm mới khi
đặt món ăn và quản lý với Windows Phone 7. Đây là lý do nhóm chúng em chọn ứng
dụng “Thực đơn điện tử” làm ứng dụng minh họa của mình.

1.2

Mục tiêu đề tài
Mục tiêu đề tài: luận văn hướng đến 2 mục tiêu


Về lý thuyết: Hiểu rõ kiến trúc hệ điều hành Windows Phone 7 và quy trình
phát triển ứng dụng. Tìm hiểu các hướng và các kĩ thuật lập trình trên Windows
Phone 7. Sau đó là hoàn thiện việc xây dựng các tài liệu kỹ thuật liên quan đến

hệ điều hành Windows Phone 7.
• Về ứng dụng: Để minh họa các nghiên cứu về hệ điều hành Windows Phone 7,
nhóm chúng em xây dựng hệ thống thực đơn điện tử. Hệ thống này lấy điện
thoại với phần mềm chạy trên nền Windows Phone 7 làm trung tâm trong việc
phục vụ đặt món của khách và trao đổi dữ liệu với Server. Ứng dụng sau khi
hoàn thành là một thành phần Server và một thành phần ứng dụng chạy trên
điện thoại Windows Phone 7.
Bên cạnh đó, chúng em cố gắng áp dụng chặt chẽ các bước trong quy trình phát
triển phần mềm (khảo sát, phân tích, thiết kế, cài đặt, …) để xây dựng ứng dụng.

15



1.3

Đối tượng, phạm vi nghiên cứu
Đối tượng nghiên cứu: Hệ điều hành Windows Phone 7 và ứng dụng quản lý

nhà hàng.
Phạm vi nghiên cứu: Tập trung nghiên cứu chủ yếu ứng dụng Silverlight trên hệ
điều hành phiên bản mới nhất hiện nay là Windows Phone 7.5 (SDK 7.1). Luận văn
này sẽ không đi sâu tìm hiểu tất cả các chức năng của SDK, các kĩ thuật lập trình ứng
dụng Windows Phone 7 mà chỉ tập trung vào những chức năng, kỹ thuật có liên quan
đến việc xây dựng ứng dụng minh họa. Tuy nhiên, luận văn sẽ nêu rõ một số kỹ thuật
quan trọng liên quan đến hệ điều hành này.
Luận văn không hỗ trợ tin học hóa tất cả các nghiệp vụ của nhà hàng mà chỉ tập
trung ở khâu hỗ trợ đặt món và quản lý quy trình chế biến. Ứng dụng minh họa là hệ
thống Thực đơn điện tử, hỗ trợ đặt món và thanh toán với điện thoại Windows Phone 7.

16


Chương 2
2.1

Tổng quan về Windows Phone

Tổng quan về hệ điều hành di động

2.1.1 Cuộc cách mạng di động
Sự bùng nổ của các thiết bị di động đánh dấu một bước ngoặt trong thế giới

công nghệ. Trong 30 năm qua, máy tính cá nhân dưới nhiều dạng khác nhau đã là thiết
bị điện toán chủ yếu của con người. Giờ đây, sự thống trị đó đang bị đe dọa bởi điện
thoại thông minh. Từ chỗ chỉ để nghe gọi, điện thoại di động đã trở thành một thiết bị
đa năng mạnh mẽ. Một cảnh quan công nghệ mới đang hình thành, mang lại cho người
dùng khả năng sử dụng điện toán gần như mọi lúc mọi nơi.
Điện thoại thông minh (Smartphone) đang đứng ở tuyến đầu của sự thay đổi
này, vì nó liên tục được cập nhật về tính năng và công nghệ, góp phần thõa mãn nhu
cầu ngày càng cao của con người. Hiện có khoảng 4 tỷ điện thoại di động được sử
dụng trên toàn thế giới, trong đó Smartphone chiếm hơn ¼ và tỉ lệ này sẽ còn tăng cao
trong thời gian tới (theo Milagromobilemarketing.com)
2.1.1 Các hệ điều hành dành cho Smartphone

Hình 2-1 Các hệ điều hành dành cho Smartphone

17


Sự phát triển của các Smartphone kéo theo sự phát triển của các hệ điều hành di
động. Hệ điều hành di động giữ vai trò quyết định về sức mạnh, nét riêng của các dòng
sản phẩm và khả năng làm hài lòng ngườ dùng với những ứng dụng dành riêng. Có rất
nhiều hệ điều hành dành cho điện thoại như webOS, Blackberry OS, Meego, bada, …
nhưng xét về tiêu biểu trong năm 2012 thì chỉ còn kể đến Blackberry OS, Android, iOS
và Windows Phone 7. Sau đây là giới thiệu sơ nét về các hệ điều hành nổi tiếng này.
2.1.1.1 Android
Dù mới bước chân vào làng điện thoại di động nhưng Android đã đã lần lượt hạ
gục những đối thủ tầm cỡ và trở thành hệ điều hành tăng trưởng nhanh nhất trên thế
giới. Ban đầu nền tảng này được phát triển bởi Android Inc (sau đó được Google mua
lại) và gần đây nó trở thành một trong những phần mềm đứng đầu của liên minh OHA
(Open Handset Alliance - với khoảng 78 thành viên bao gồm cả nhà sản xuất, nhà phát
triển ứng dụng cho thiết bị di động). Từ tháng 10/2008, hệ điều hành Android đã chính

thức trở thành phần mềm mã nguồn mở.
Android chạy bên trên một hệ điều hành nhân Linux, và các ứng dụng Android
dễ dàng được phát triển bằng ngôn ngữ Java kèm theo bộ SDK được Google cung cấp.
Kể từ khi giới thiệu đến nay, Android liên tục được nâng cấp qua các phiên bản, mới
nhất hiện nay (6/2012) là Android 4.0 dành cho cả tablet lẫn smartphone. Tuy nhiên, sự
phân mảnh và liên tục ra đời những phiên bản mới là nguyên nhân khiến việc phát triển
ứng dụng cho Android gặp khó khăn. Chợ ứng dụng hiện nay của Android là Google
Play, vừa đạt mốc 15 tỉ lượt download tính đến 5/2012.
2.1.1.2 iOS
iOS là hệ điều hành được Apple xây dựng để chạy trên các thiết bị di động của
hãng. Được giới thiệu từ khi iPhone được ra mắt năm 2007, iOS liên tục được cải tiến
và có thể chạy trên các thiết bị khác của Apple như iPod Touch, iPad và Apple TV.
Không chạy theo các thông số kĩ thuật, Apple tập trung vào các vấn đề cốt lõi của hệ

18


thống như tốc độ, đảm bảo hoạt động cho các ứng dụng, và tạo nên một đặc điểm hoàn
toàn khác biệt và tốt hơn tất cả mọi hệ điều hành khác trên thị trường. Phiên bản mới
nhất là iOS 5 với nhiều tính năng mới như Notification, iMessage, Game Center …
Phiên bản tiếp theo, iOS 6, vừa đươc giới thiệu vào trung tuần tháng 6/2012 với hơn
200 tính năng cải tiến mới, đáng kể nhất là về Siri.
Tháng 2/2008, Apple phát hành bộ iOS SDK giúp các nhà phát triển xây dựng
ứng dụng cho hệ điều hành iOS. Ngôn ngữ lập trình là Objective-C và ứng dụng sau đó
được đưa lên kho ứng dụng App Store của Apple. App Store hiện đang dẫn đầu là nơi
tạo ra nhiều doanh thu nhất cho các nhà lập trình (theo Strategy Analytics, 4/2012).
Tính đến tháng 6/2012, Apple thông báo đã đạt mốc 30 tỉ lượt download với khoảng
650.000 ứng dụng trên App Store.
2.1.1.3 Black Berry OS
Blackberry OS là hệ điều hành do Research In Motion phát triển cho dòng sản

phẩm cầm tay Blackberry. Đây là dòng điện thoại hướng dẫn khách hàng doanh
nghiệp, nhưng đã thay đổi nhiều để phù hợp với người dùng bình dân qua phiên bản
OS 4.6. Blackberry được đánh giá cao bởi sự đơn giản, bảo mật, khả năng trao đổi
thông điệp, email tiện lợi. Phiên bản hiện tại tính tới 6/2012 là 7.1 với nhiều tính năng
mới như Mobile Hotspot, Wifi Calling, Blackberry Tag, …
Lập trình viên có thể phát triển ứng dụng cho Blackberry chủ yếu dùng ngôn
ngữ Java kèm theo các tool được cung cấp, sau đó đưa lên App World để đến tay người
dùng. Đầu tháng 5/2012, RIM còn công bố nền tảng Blackberry 10 mới, cung cấp
những trải nghiệm mạnh mẽ cho người dùng. Đi kèm với đó bộ công cụ Blackberry 10
Native SDK với Cascades, cho phép các nhà phát triển tạo ra các hình ảnh đồ họa
phong phú, các ứng dụng hiệu suất cao có nguồn gốc trong C/C++ sử dụng Qt.

19


2.2

Hệ điều hành Windows Phone

2.2.1 Giới thiệu

Hình 2-2 Hệ điều hành Windows Phone 7

Windows Phone là hệ điều hành di động được Microsoft phát triển để thay thế
cho Windows Mobile trước đây. Được giới thiệu vào tháng 2/2010, phiên bản đầu tiên
gọi là Windows Phone 7, tập trung vào sự phát triển Marketplace, nơi các nhà phát
triển có thể cung cấp sản phẩm tới người dùng.
Với giao diện Metro hoàn toàn mới và khả năng kết nối với các dịch vụ sẵn có
của Microsoft như Xbox Live, Office, Skydrive làm cho Windows Phone vô cùng hiện
đại và hấp dẫn. Việc hợp tác giữa Microsoft và Nokia về Windows Phone 7 sẽ tạo một

lợi thế cạnh tranh cho hệ điều hành này so với iOS và Android. Theo dự báo của
Gartner và IDC (9/2011) Windows Phone sẽ đứng thứ 2 thị trường hệ điều hành
Smartphone vào năm 2015 với 20% thị phần.

20


Tháng 2/2011, phiên bản 7.5 (tên mã là Mango) được ra mắt với nhiều tính năng
mới như Internet Explorer 9, hỗ trợ đồ họa và Web tốt hơn, khả năng chạy đa nhiệm
hiệu quả hơn. Gần 1 năm sau, Microsoft giới thiệu bản cập nhật Tango, hỗ trợ mạng 4G
LTE và tương thích với các thiết bị cấu hình yếu.
Windows Phone 7 được xây dựng trên nền tảng các công nghệ rất quen thuộc
như .NET framework, Silverlight, XNA Game Studio. Các lập trình viên cũng sẽ rất dễ
dàng phát triển ứng dụng cho Windows Phone với các bộ công cụ được Microsoft cung
cấp như Windows Phone SDK, Visual Studio, Expression Blend, … Chợ ứng dụng
Windows Phone Marketplace vừa đạt mốc 100.000 ứng dụng vào tháng 6/2012, chỉ sau
20 tháng ra mắt.
Với những đặc điểm nổi bật và được sự đầu tư mạnh từ Microsoft, Windows
Phone sẽ trở thành một thế lực mạnh trên thị trường smartphone. Tương lai đầy hứa
hẹn và mong muốn thử sức với một hệ điều hành mới là lý do chúng em quyết định
chọn Windows Phone 7 làm đề tài cho luận văn này.
2.2.2 Các phiên bản Windows Phone
Microsoft công bố Windows Phone 7 hôm 15-2-2010 tại hội nghị Mobile World
Congress 2010 ở Barcelona (Tây Ban Nha) và đã tiết lộ chi tiết về hệ điều hành di động
mới của mình hôm 15-3-2010 tại hội nghị của Microsoft MIX 2010. Phiên bản đầu tiên
này dùng Windows Phone OS 7.0 (bản build 7.0.7004). Ngày 16/9/2010, bản SDK 7.0
được chính thức tung ra.
Tháng 2/2011, phiên bản Windows Phone 7.5 (tên mã là Mango) được phát
hành, sử dụng Windows Phone OS 7.1 (bản build 7.10.7720). Phiên bản này bổ sung
thêm hơn 500 tính năng mới, trong đó nổi bật nhất là khả năng đa nhiệm bằng cách tạm

ngừng các ứng dụng. Ngày 25/9/2011, bản SDK 7.1 được ra mắt, hỗ trợ phát triển ứng
dụng cho cả Windows Phone 7 và 7.5.

21


Tháng 3/2012, Microsoft giới thiệu bản cập nhật Windows Phone 7.5 Refresh
(tên mã là Tango) với khả năng hỗ trợ các thiết bị cấu hình kém. Phiên bản Refresh 3
(bản build 7.10.8773) chấp nhận các điện thoại có 256MB RAM và CPU yếu. Ngày
26/3/2012, bản SDK 7.1.1 được phát hành, hỗ trợ phát triển cho các điện thoại
Windows Phone 256MB RAM.
Windows Phone release
Windows Phone 7
Windows Phone 7.5 (Mango)
Windows Phone 7.5 Refresh
(Tango)

Hệ điều hành
Windows Phone OS 7.0
Windows Phone OS 7.1
Windows Phone OS 7.1.1

Phiên bản SDK
7.0
7.1
7.1.1

Bảng 2-1 Tổng quan các phiên bản Windows Phone

2.2.3 So sánh Windows Phone 7 với các hệ điều hành di động khác

Hiện nay trên thị trường hệ điều hành di động, Android và iOS là đối thủ nặng
ký nhất với Windows Phone. Do đó, luận văn sẽ so sánh Windows Phone với 2 hệ điều
hành này. Phiên bản được tính tới thời điểm thực hiện so sánh.

Hình 2-3 So sánh Windows Phone với các hệ điều hành di động khác

Chức năng
Nhân
Hỗ trợ mạng
Đa nhiệm
Thiết bị
Bảo mật

iOS 5
OSX
GSM, CDMA
Hạn chế
iPhone, iPod Touch,
iPad


Android 4.0
Linux
GSM, CDMA

Chạy trên nhiều
thiết bị
Hạn chế

22


Windows Phone 7.5
Windows CE 7
GSM, CDMA

Yêu cầu phần cứng
chặt chẽ



Tích hợp mạng Twitter
xã hội

Facebook, Twitter

Đồng bộ nhạc,
phim
Social game
Trình duyệt
Hỗ trợ flash
Tìm kiếm mặc
định
Nhận diện giọng
nói
Chạy trên máy
tính bảng
Dịch vụ đám mây
Số lượng ứng
dụng
Thông báo

Chụp màn hình
Kho sách
Giao diện

iTunes

Không có

Facebook,
Linkedin,
Live
Zune

Twitter,
Windows

Game Center
Mobile Safari
Không
Google Search

Không có
Chrome-based

Googl Search

XBOX Live
Internet Explorer 9
Không
Bing












Không

iCloud
Hơn 650.000

Google Sync
Hơn 500.000

Skydrive
Hơn 100.000

Cửa sổ kéo xuống

iBooks
Icon

Cửa sổ kéo xuống

Google Books

Icon + widget

Toast
Không
Không có
Live tiles

Bảng 2-2 So sánh Windows Phone với các hệ điều hành di động khác

2.3

Windows Phone SDK

2.3.1 Giới thiệu
Windows Phone SDK (trước gọi là Windows Phone Developer Tools) là bộ
công cụ do Microsoft phát triển để xây dựng các ứng dụng cho điện thoại Windows
Phone. Các ứng dụng được viết bởi .NET managed code với các ngôn ngữ hỗ trợ là C#,
Visual Basic, F#. Phiên bản được sử dụng trong luận văn là Windows Phone SDK 7.1.
Phiên bản này hỗ trợ xây dựng ứng dụng cho cả Windows Phone 7 và 7.5, có nhiều gói
ngôn ngữ, bổ sung thêm nhiều tính năng và emulator được cải thiện nhiều hơn.

23


2.3.2 Các tính năng được bổ sung trong SDK 7.1
Phiên bản Windows Phone SDK 7.1 là một bước cải tiến mới, hỗ trợ xây dựng
các ứng dụng tốt hơn, đặc biệt là khai thác các chức năng của hệ điều hành Windows
Phone OS 7.1. Một số tính năng mới nổi bật:



Multi-targeting and App Compatibility : Sử dụng Silverlight và XNA
Framework để xây dựng ứng dụng. Khả năng tương thích với Windows Phone

OS 7.0
• Multitasking: Khả năng đa nhiệm, cho phép một ứng dụng tiếp tục hoạt động
ngay cả khi nó không còn được hiển thị (active foreground)
• The Execution Model and Fast Application Switching: Bổ sung trạng thái “ngủ”
(dormant state) vào mô hình thực thi (execution model). Ở trạng thái này, ứng
dụng không còn hoạt động, nhưng toàn bộ thông tin về nó được lưu trữ trong bộ
nhớ. Khi người dùng quay trở lại một ứng dụng đang “ngủ”, nó được phục hồi
lại nhanh chóng.
• Background Agents: Hỗ trợ viết code chạy nền (background) ngay cả khi ứng
dụng không còn hiển thị (foreground). Có 2 dạng là Chạy theo một chu kỳ thời
gian (Periodic agent) và chạy theo điều kiện tài nguyên máy (Resource intensive
agent).
• Silverligh 4: Tận dụng Windows Phone OS 7.1 trong việc hỗ trợ Silverlight 4
• Silverlight and XNA Integration: Kết hợp mô hình điều hướng trang (page
navigation model) của Silverlight và sức mạnh đồ họa của XNA Framework
trong một ứng dụng.
• Local database: Hỗ trợ lưu trữ dữ liệu quan hệ (relational database) trong vùng
lưu trữ dành riêng cho ứng dụng (application’s isolated storage container). Sau
đó sử dụng Linq to SQL để thao tác với Cơ sở dữ liệu này cục bộ này.
• Application Bar: Hỗ trợ 2 kích thước: mặc định và thu nhỏ. Kích thước nhỏ phù
hợp với các giao diện dùng panorama.
• Globalization and Localization: Hỗ trợ thêm 16 ngôn ngữ. Trong đó hỗ trợ cho
các ngôn ngữ Đông Nam Á trong việc đọc và hiển thị font.

24



2.3.3 Các thành phần trong Windows Phone SDK
Windows Phone SDK 7.1 bao gồm









Microsoft Visual Studio 2010 Express for Windows Phone
Windows Phone Emulator
Windows Phone SDK 7.1 Assemblies
Silverlight 4 SDK
Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
Microsoft Expression Blend SDK for Windows Phone OS 7.1
WCF Data Service Client for Windows Phone
Microsoft Advertising SDK for Windows Phone

Giới thiệu một số công cụ:
 Microsoft Visual Studio 2010 Express for Windows Phone: là môi trường

phát triển tích hợp (IDE) cho việc xây dựng ứng dụng Windows Phone. Nó
bao gồm giao diện thiết kế màn hình, lập trình, project template, và Toolbox
chứa nhiều control chuẩn. Nếu trong máy đã có Visual Studio 2010
Professional hoặc cao hơn, Windows Phone Add-in for Visual Studio 2010
sẽ được cài.
 Windows Phone Emulator: là ứng dụng desktop giả lập điện thoại chạy
Windows Phone OS 7.1, hỗ trợ phát triển, debug, kiểm thử ứng dụng

Windows Phone. Emulator giả lập gần như điện thoại thật với nhiều tính
năng, cấu hình 512MB RAM, bộ nhớ flash 2GB và hỗ trợ file .xap (file cài
đặt ứng dụng) là 225MB.
 Windows Phone Performance Analysis: được tích hợp vào Visual Studio
khi cài SDK, giúp đánh giá và đề xuất cải tiến hiệu năng (performance) của
ứng dụng. Ngoài ra còn có thể dùng phần mềm ngoài là Windows Phone
Market Place Test Kit để kiểm tra.
 Expression Blend 4 for Windows Phone: là phần mềm không nằm trong
bộ SDK, nhưng cần thiết để hỗ trợ thiết kế giao diện, tích hợp chặt chẽ với
Visual Studio.

25


×