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 - 0812234Nguyễn Đình Luyến - 0812292 Loại đề tài: Tìm hiểu công nghệ và xây dựng ứng
Trang 1TRƯỜ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
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ẪNThS PHẠM MINH TUẤN
KHÓA 2008 – 2012
Trang 2TRƯỜ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
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ẪNThS PHẠM MINH TUẤN
KHÓA 2008 – 2012
Trang 3LỜ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
Trang 4ĐỀ 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 - 0812234Nguyễ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ànhcho 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ànhWindows 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:
Trang 5 Giai đoạn 1 (từ 16/12/2011 đến 16/1/2012): Tìm hiểu hệ điều hành WindowsPhone 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ốngquả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óndà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àngdà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ếtbá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
Ths Phạm Minh Tuấn
Ngày 22 tháng 6 năm 2012 Sinh viên thực hiện
Phạm Đăng Khoa
Nguyễn Đình Luyến
Trang 7MỤC LỤC
ĐỀ CƯƠNG CHI TIẾT iv
MỤC LỤC i
MỤC LỤC HÌNH v
MỤC LỤC BẢNG viii
TÓM TẮT KHÓA LUẬN x
Chương 1 Mở đầu 1
1.1 Giới thiệu ngữ cảnh đề tài 1
1.2 Lý do chọn đề tài 2
1.2 Mục tiêu đề tài 2
1.3 Đối tượng, phạm vi nghiên cứu 3
Chương 2 Tổng quan về Windows Phone 4
2.1 Tổng quan về hệ điều hành di động 4
2.1.1 Cuộc cách mạng di động 4
2.1.1 Các hệ điều hành dành cho Smartphone 4
2.2 Hệ điều hành Windows Phone 7
2.2.1 Giới thiệu 7
2.2.2 Các phiên bản Windows Phone 8
2.2.3 So sánh Windows Phone 7 với các hệ điều hành di động khác 9
2.3 Windows Phone SDK 11
2.3.1 Giới thiệu 11
2.3.2 Các tính năng được bổ sung trong SDK 7.1 11
2.3.3 Các thành phần trong Windows Phone SDK 12
2.4 Hệ thống Windows Phone 14
2.4.1 Tổng quan 14
2.4.2 Hệ thống 15
2.4.4 Quy trình phát triển ứng dụng 17
2.4.5 An toàn và bảo mật 18
2.5 Kiến trúc hệ điều hành Windows Phone 7 21
2.5.1 Kiến trúc 21
Trang 82.5.2 Silverlight và XNA framework 22
Chương 3 Kiến thức nền tảng Windows Phone 33
3.1 Mô hình thực thi ứng dụng 33
3.1.1 Tổng quan 33
3.1.2 Các khái niệm 34
3.1.3 Chu trình sống của ứng dụng 35
3.1.4 Mô hình trang 37
3.1.5 Ngăn xếp các trang 38
3.2 Kiến trúc chung của một ứng dụng Windows Phone 7 39
3.2.1 Kiến trúc chung 39
3.2.2 Các thành phần cơ bản 41
3.3 Lưu trữ cục bộ 51
3.3.1 Tổng quan 51
3.3.2 Lưu trữ theo cặp khóa – giá trị 52
3.3.3 Lưu trữ tập tin và thư mục 52
3.3.4 Lưu trữ cơ sở dữ liệu 53
3.4 Thao tác với kết nối mạng và Web service 57
3.4.1 Tổng quan 57
3.4.2 Thao tác với kết nối mạng 57
3.4.3 Gọi Web service 58
3.4.4 Bảo mật khi gọi Web service 61
3.5 Theme 61
3.5.1 Tổng quan 61
3.5.2 Sử dụng tài nguyên Theme 62
3.6 Tiểu trình 63
3.6.1 Tổng quan 63
3.6.2 Tiểu trình UI 63
3.6.3 Tiểu trình Composition 64
3.6.4 Tiểu trình Background 64
Chương 4 Tổng quan về ứng dụng minh họa 66
4.1 Các phần mềm quản lý nhà hàng hiện có 66
4.1.1 Giới thiệu 66
Trang 94.1.2 Khảo sát 66
4.1.3 Phân tích 68
4.2 Xây dựng ứng dụng minh họa 70
4.2.1 Giới thiệu 70
4.2.2 Phân tích chức năng 71
4.3 Sơ đồ nghiệp vụ 72
4.3.1 Giới thiệu 72
4.3.2 Sơ đồ 72
4.4 Mô hình Use case tổng thể 74
4.3.1 Mô hình 74
4.3.2 Danh sách các Actor 74
4.3.3 Ý nghĩa tên gọi các Use case tổng thể 75
Chương 5 Yêu cầu chi tiết của hệ thống e-Menu 76
5.1 Server trung tâm 76
5.1.1 Giới thiệu 76
5.1.2 Mô hình Use case 77
5.1.3 Đặc tả các Use case chính 80
5.2 Mobile phục vụ 87
5.2.1 Giới thiệu 87
5.2.2 Mô hình Use case 88
5.2.3 Đặc tả các Use case chính 90
5.3 Mobile quản lý 95
5.3.1 Giới thiệu 95
5.3.2 Mô hình Use case 96
5.3.3 Đặc tả các Use case chính 97
Chương 6 Thiết kế hệ thống e-Menu 100
6.1 Kiến trúc hệ thống 100
6.1.1 Môi trường phát triển và cài đặt 100
6.1.2 Kiến trúc hệ thống 101
6.1.3 Mô hình cài đặt ứng dụng 102
6.1.4 Mô hình triển khai 104
6.2 Thiết kế giao diện 105
Trang 106.2.1 Server trung tâm 105
6.2.2 Bộ phận chế biến 108
6.2.3 Mobile phục vụ 109
6.2.4 Mobile quản lý 114
6.3 Thiết kế cơ sở dữ liệu 117
6.3.1 Server trung tâm 117
6.3.2 Mobile phục vụ 119
6.3.3 Mobile quản lý 120
6.4 Các vấn đề và giải pháp kỹ thuật 120
6.4.1 Xây dựng Server trung tâm 120
6.4.2 Truyền dữ liệu giữa Server và Mobile 122
6.4.3 Lưu trữ dữ liệu ở Mobile 124
6.4.4 Màn hình kích thước nhỏ của Mobile 126
6.5 Đánh giá ứng dụng 128
Chương 7 Tổng kết đề tài 130
7.1 Một số kết quả đạt được 130
7.2 Hướng phát triển 131
Trang 11MỤ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
Trang 12Hì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
Trang 13Hì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
Trang 14MỤ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
Trang 15Bả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
Trang 16Cá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
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
Trang 17Nội dung luận văn gồm 7 chương:
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
Trang 18Chương 1 Mở đầu
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ủaCô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ảitiế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ộtchiế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 độngkhông những phục vụ cho từng cá nhân, mà còn được ứng dụng vào hoạt động kinhdoanh nữa Điểm nhấn là sự gia tăng tốc độ triển khai ứng dụng di động trong cácdoanh 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ềuhà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ăngtrưởng trong tương lai Bên cạnh đó, Microsoft cung cấp bộ công cụ phát triển ứngdụ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áttriển ứng dụng hơn
Trang 191.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 caokhả 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 ứngdụng “Thực đơn điện tử” làm ứng dụng minh họa của mình
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 WindowsPhone 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ệnthoại với phần mềm chạy trên nền Windows Phone 7 làm trung tâm trong việcphục vụ đặt món của khách và trao đổi dữ liệu với Server Ứng dụng sau khihoà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áttriể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
Trang 201.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ănnà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 ứngdụ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ậtquan 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ậptrung ở 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
Trang 21Chương 2 Tổng quan về Windows Phone
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
Trang 22Sự 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òngsả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ấtnhiề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 mualạ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áttriển ứng dụng cho thiết bị di động) Từ tháng 10/2008, hệ điều hành Android đã chínhthứ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ớinhấ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à GooglePlay, vừa đạt mốc 15 tỉ lượt download tính đến 5/2012
Trang 23thố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àntoà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ớinhấ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ơitạ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ảng650.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ảnphẩm cầm tay Blackberry Đây là dòng điện thoại hướng dẫn khách hàng doanhnghiệ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 đổithô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ăngmớ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ônngữ Java kèm theo các tool được cung cấp, sau đó đưa lên App World để đến tay ngườidùng Đầu tháng 5/2012, RIM còn công bố nền tảng Blackberry 10 mới, cung cấpnhững trải nghiệm mạnh mẽ cho người dùng Đi kèm với đó bộ công cụ Blackberry 10Native SDK với Cascades, cho phép các nhà phát triển tạo ra các hình ảnh đồ họaphong phú, các ứng dụng hiệu suất cao có nguồn gốc trong C/C++ sử dụng Qt
Trang 242.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êngọi là Windows Phone 7, tập trung vào sự phát triển Marketplace, nơi các nhà pháttriể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ộtlợi thế cạnh tranh cho hệ điều hành này so với iOS và Android Theo dự báo củaGartner và IDC (9/2011) Windows Phone sẽ đứng thứ 2 thị trường hệ điều hànhSmartphone vào năm 2015 với 20% thị phần
Trang 25Thá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ăngmới như Internet Explorer 9, hỗ trợ đồ họa và Web tốt hơn, khả năng chạy đa nhiệmhiệ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ạng4G 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ộcnhư 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 cungcấp như Windows Phone SDK, Visual Studio, Expression Blend, … Chợ ứng dụngWindows 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, WindowsPhone sẽ trở thành một thế lực mạnh trên thị trường smartphone Tương lai đầy hứahẹ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 địnhchọ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 WorldCongress 2010 ở Barcelona (Tây Ban Nha) và đã tiết lộ chi tiết về hệ điều hành di độngmớ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ênnà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áthành, sử dụng Windows Phone OS 7.1 (bản build 7.10.7720) Phiên bản này bổ sungthê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ạmngừ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 ứngdụng cho cả Windows Phone 7 và 7.5
Trang 26Thá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ày26/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ạiWindows Phone 256MB RAM.
Windows Phone release Hệ điều hành Phiên bản SDKWindows Phone 7 Windows Phone OS 7.0 7.0
Windows Phone 7.5 (Mango) Windows Phone OS 7.1 7.1
Windows Phone 7.5 Refresh
(Tango)
Windows Phone OS 7.1.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ềuhà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 iOS 5 Android 4.0 Windows Phone 7.5
Hỗ trợ mạng GSM, CDMA GSM, CDMA GSM, CDMA
Trang 27Đồng bộ nhạc,
phim
Social game Game Center Không có XBOX Live
Trình duyệt Mobile Safari Chrome-based Internet Explorer 9
Hơn 650.000 Hơn 500.000 Hơn 100.000
Thông báo Cửa sổ kéo xuống Cửa sổ kéo xuống Toast
Kho sách iBooks Google Books Không có
Giao diện Icon Icon + widget 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.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 WindowsPhone 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
Trang 28Phiê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óingôn ngữ, bổ sung thêm nhiều tính năng và emulator được cải thiện nhiều hơn
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ựngcá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 WindowsPhone 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à XNAFramework để xây dựng ứng dụng Khả năng tương thích với Windows Phone
Background Agents: Hỗ trợ viết code chạy nền (background) ngay cả khi ứngdụng không còn hiển thị (foreground) Có 2 dạng là Chạy theo một chu kỳ thờigian (Periodic agent) và chạy theo điều kiện tài nguyên máy (Resource intensiveagent)
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 (pagenavigation model) của Silverlight và sức mạnh đồ họa của XNA Frameworktrong một ứng dụng
Trang 29 Local database: Hỗ trợ lưu trữ dữ liệu quan hệ (relational database) trong vùnglư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ợ chocác ngôn ngữ Đông Nam Á trong việc đọc và hiển thị font
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à Toolboxchứa nhiều control chuẩn Nếu trong máy đã có Visual Studio 2010Professional hoặc cao hơn, Windows Phone Add-in for Visual Studio 2010
sẽ được cài
Trang 30 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ụngWindows Phone Emulator giả lập gần như điện thoại thật với nhiều tínhnă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 PhoneMarket 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ớiVisual Studio
Các công cụ này giúp nhiều người cùng tham gia phát triển nhưng vẫn tích hợpchặt chẽ với nhau
Hình 2-4 Cộng tác khi sử dụng các công cụ SDK
Trang 312.4 Hệ thống Windows Phone
2.4.1 Tổng quan
Hệ thống Windows Phone hỗ trợ phát triển ứng dụng bằng cách cung cấp
Môi trường quen thuộc
Tập API được tổ chức hợp lý
Mỗi ứng dụng chạy trong một không gian riêng biệt (isolated sandbox)
Hỗ trợ truy cập vào các web service của Microsoft như Xbox LIVE,Windows Azure
Hỗ trợ truy cập vào các web service dùng WCF (Windows CommunicationFoundation) và REST (Representational State Transfer)
Windows Phone Market Place để phát hành ứng dụng
Mục tiêu
Phát triển ứng dụng tốt hơn
Hỗ trợ trao đổi dữ liệu giữa nhiều thiết bị
Cung cấp các công cụ phát triển ứng dụng
Triển khai chợ ứng dụng
Trang 32Hình 2-5 Hệ thống Windows Phone
Người dùng ngày càng sử dụng nhiều loại thiết bị để sinh hoạt và làm việc, nhucầu trao đổi dữ liệu cũng tăng Giao diện thống nhất giúp sử dụng linh hoạt nhiều loạithiết bị, nền tảng phát triển thống nhất giúp xây dựng ứng dụng tương thích với nhiềuthiết bị hơn Đây là hướng mà hệ thống Windows Phone đang được phát triển
2.4.2 Hệ thống
Kiến trúc của hệ thống Windows Phone gồm 4 thành phần
Hình 2-6 Kiến trúc hệ thống Windows Phone ( http://msdn.microsoft.com/en-us/library/ff402531(v=vs.92) )
Runtimes: Gồm Silverlight và XNA Framework, giúp xây dựng ứng dụng
nhanh, bảo mật với managed programming và môi trường chạy độc lập Nhữngứng dụng đã viết trên Silverlight và XNA có thể được chạy trên WindowsPhone với rất ít sửa đổi Ngoài ra còn có một số tính năng được cung cấp nhưSensors, Media, Location … và Common Base Class Library chứa nhiều lớphữu ích
Trang 33Hình 2-7 Kiến trúc Runtimes ( http://msdn.microsoft.com/en-us/library/ff402531(v=vs.92) )
Tools: Gồm các công cụ phát triển như Visual Studio, Expression Blend, …
Ngoài ra còn có các tài liệu, hướng dẫn và cộng đồng trợ giúp
Cloud Services: Gồm Windows Azure, Xbox Live Services, Notification
service, Location service … giúp truy xuất dữ liệu từ web và chia sẻ dữ liệugiữa nhiều thiết bị
Portal Services: Thành phần chính là Windows Phone Marketplace cung cấp
các dịch vụ đăng ký, chứng thực và phát hành ứng dụng Người dùng vàoMarketplace để mua và nâng cấp ứng dụng
2.4.4 Quy trình phát triển ứng dụng
Mô hình sau trình bày qui trình phát triển ứng dụng trong hệ thống WindowsPhone
Trang 34Hình 2-8 Quy trình phát triển ứng dụng trong hệ thống Windows Phone
( http://msdn.microsoft.com/en-us/library/ff402531(v=vs.92) )
App Hub: là điểm bắt đầu dành cho nhà lập trình Tại đây lập trình viên đăng
ký tài khoản Windows Live ID Sau đó họ có thể mua bản quyền các công cụphát triển Visual Studio và Expression Blend bản xịn hơn Họ cũng cần đăng kýđiện thoại làm thiết bị kiểm tra để chạy các ứng dụng vừa được phát triển AppHub cũng là nơi chứa nhiều tài liệu và cộng đồng hỗ trợ rộng lớn
Xây dựng ứng dụng: Khi đã trở thành lập trình viên Windows Phone và có các
công cụ hỗ trợ, nhà phát triển có thể tiến hành xây dựng ứng dụng
Debug ứng dụng: Khi xây dựng ứng dụng, lập trình viên có thể debug bằng
thiết bị thật hoặc thiết bị giả lập (emulator) Hỗ trợ truy vết các lời gọi hàm,chạy từng dòng code và xem thông tin biến
Phát hành ứng dụng: Ứng dụng sau khi hoàn thành được đóng gói lại thành 1
tập tin duy nhất, có đuôi là xap Tập tin này được gởi lên App Hub để chứngnhận có đạt các tiêu chuẩn của Marketplace đưa ra hay không Nếu thành công,ứng dụng được phát hành trên Marketplace và người dùn có thể tải về
Trang 35 Quản lý các ứng dụng đã phát hành: Bằng cách vào App Hub.
2.4.5 An toàn và bảo mật
Hệ thống Windows Phone đề ra các quy tắc an toàn và bảo mật cho các ứngdụng, đảm bảo trải nghiệm tốt cho người dùng
2.4.5.1 Mục tiêu
Khi người dùng download ứng dụng, họ quan tâm các vấn đề sau
Chất lượng trải nghiệm: Ứng dụng phải dễ dùng, không làm ảnh hưởng xấuđến các chức năng hệ thống và can thiệp đến các ứng dụng khác Ngoài raphải có khả năng xóa hoàn toàn ứng dụng
Truy cập thông tin trong máy: Ứng dụng cần phải xin phép hoặc thông báongười dùng khi muốn truy cập các thông tin như danh bạ, hình ảnh, địa điểm
…
Phát sinh các thao tác tính phí: Ứng dụng cần phải xin phép khi muốn phátsinh các thao tác tính phí, như gởi tin nhắn, gọi điện …
2.4.5.2 Các biện pháp bảo vệ
Được hỗ trợ mặc định trong hệ thống và sự áp dụng của người lập trình
Người lập trình cần phải đăng ký để trở thành nhà phát triển Windows Phone
Sử dụng các công cụ được Microsoft cung cấp
Chỉ được lập trình với ngôn ngữ nền NET Điều này giúp ứng dụng kiểm tralỗi, quản lý bộ nhớ tốt hơn
Ứng dụng sau khi phát triển phải được kiểm tra và ký chứng nhận trước khiđưa lên Marketplace
Điện thoại Windows Phone kiểm tra chứng nhận của ứng dụng trước khi chophép cài đặt
Trang 36 Trình quản lý thực thi ứng dụng (execution manager) điều hành các ứngdụng đang chạy, quản lý tài nguyên được sử dụng.
Mỗi ứng dụng chạy trong một không gian riêng (sandbox), và chỉ cung cấp
đủ các chức năng (capability) cần thiết cho ứng dụng đó chạy Ứng dụng cóthể yêu cầu thêm các chức năng trong tập tin Manifest
2.4.5.3 Chambers
Hình sau minh họa mô hình phân cấp chức năng trong Windows Phone 7 Mỗimức được định nghĩa là một “chamber”, từ mức ít quyền nhất là LPC đến mức cao nhất
là TCB TCB có thể sử dụng gần như mọi chức năng của hệ thống
Hình 2-9 Mô hình phân cấp chức năng
( Windows Phone 7 Programming for Android and iOS developers, trang 258)
2.4.5.4 Áp dụng mô hình phát triển bảo mật SDL
Mô hình phát triển bảo mật (Security development lifecycle) gồm 7 giai đoạn,
đề ra các hoạt động cần có giúp xây dựng ứng dụng an toàn và bảo mật hơn
Trang 37Hình 2-10 Mô hình phát triển bảo mật ( http://www.microsoft.com/security/sdl/default.aspx )
Training: Những người tham gia vào việc phát triển ứng dụng (lập trình viên,
kiểm thử, quản lý dự án) cần được bổ sung các kiến thức về bảo mật
Requirement: Nắm rõ các yêu cầu về bảo mật Đề ra các tiêu chí tối thiểu cần
đạt được
Design: Thiết kế các đặc tả bảo mật Phân tích các điểm yếu của ứng dụng.
Implementation: Cài đặt ứng dụng dựa vào các phân tích yêu cầu và sử dụng
các công cụ cho phép Loại bỏ các phương thức không an toàn
Verification: Kiểm thử lại ứng dụng Áp dụng một số phương pháp kiểm thử.
Release: Phát hành ứng dụng Lưu trữ các thông tin thiết kế và phát triển để truy
Trang 382.5 Kiến trúc hệ điều hành Windows Phone 7
2.5.1 Kiến trúc
Kiến trúc hệ điều hành Windows Phone 7 gồm có các tầng sau
Hình 2-11 Mô hình kiến trúc
( Windows Phone 7 Development Internals, trang 8)
Tầng dưới cùng là Operating System Kernel, đây là phần nhân của hệ điều hành.Windows Phone 7 OS sử dụng nhân là Windows CE 6, cho phép chạy tới hơn 32000tiến trình và không gian bộ nhớ của mỗi ứng dụng lên tới 2GB Tầng này chịu tráchnhiệm quản lý các trình điều khiển phần cứng và cung cấp các dịch vụ về mạng, lưutrữ, bảo mật dữ liệu Ngoài ra còn tận dụng GPU trong việc xử lý Direct3D, hỗ trợ tốtviệc chạy các ứng dụng XNA và chuyển động Silverlight
Trang 39Tầng kế đến là Native Application Platform Gồm những trình quản lý các thaotác quan trọng của hệ thống Install/Update Manager hỗ trợ việc tạo mới và cập nhật cơ
sở dữ liệu trên Isolated Storage Execution Manager quản lý việc thực thi ứng dụng, nókiểm tra việc sử dụng tài nguyên của các ứng dụng chạy background, và có thể hủy cácứng dụng background này nếu các ứng dụng foreground cần tài nguyên hơn
Tầng trên cùng là Host Process, cung cấp môi trường để thực thi các ứng dụng.Gồm Native Application Runtime cho các ứng dụng native, đây là những ứng dụngđược viết sẵn bởi Microsoft, nhà sản xuất thiết bị hoặc nhà mạng và được đính kèmvào thiết bị khi sản xuất Thứ hai là Managed Runtime hỗ trợ thực thi các ứng dụngmanaged Windows Phone 7 chỉ cho phép phát triển ứng dụng managed, tức là các ứngdụng chạy trên nền NET với ngôn ngữ là C# và Visual Basic .NET framework giúp
dễ dàng phát triển bằng việc cung cấp Common Base Class Library, đây là tập thư viện
hỗ trợ XML, LINQ, đa tiểu trình, nhập xuất, xử lý ngoại lệ, bảo mật dữ liệu, …Windows Phone 7 hỗ trợ phát triển ứng dụng với Silverlight và XNA framework Đây
là 2 framework được chỉnh sửa từ bản Desktop để thích hợp với điện thoại Dù đượcphát triển theo kiểu này, ứng dụng vẫn có thể sử dụng các thư viện của WindowsPhone để thao tác với các sensor, camera, fm radio, dịch vụ địa điểm, Bing map, dịch
vụ push notification, …
2.5.2 Silverlight và XNA framework
2.5.2.1 Tổng quan
Windows Phone hỗ trợ phát triển ứng dụng theo 2 framework
Silverlight: thích hợp với ứng dụng hướng sự kiện (event-driven), giao
diện dựa trên XAML
Trang 40 XNA: thích hợp với ứng dụng giải trí, game Xử lý vòng lặp và yêu cầu
đồ họa cao
Một số tiêu chí khi lựa chọn một trong hai framework, hoặc kết hợp cả hai
Giao diện XAML, hướng
sự kiện
Phát triển game với hiệunăng cao
Cả 2 tiêu chí
Giao diện đẹp giống các
ứng dụng web RIA (Rich
Cả 2 tiêu chí
Nhúng video vào ứng
dụng
Sử dụng Sprite font vàSilverlight để hiện thị chữ
Sử dụng Web browser
control
Sử dụng mô hình điều hướngtrang (page navigationmodel) trong Silverlight vàsức mạnh đồ họa của XNA
Bảng 2-3 So sánh các Framework
2.5.2.2 Silverlight
Giới thiệu