Tải bản đầy đủ (.doc) (108 trang)

LẬP TRÌNH DI ĐỘNG và bài TOÁN ỨNG DỤNG GAME bắn XE TĂNG

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.71 MB, 108 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP.HCM
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN

KHÓA LUẬN TỐT NGHIỆP
LẬP TRÌNH DI ĐỘNG VÀ BÀI
TOÁN
ỨNG DỤNG “GAME BẮN XE TĂNG”
Giảng viên hướng dẫn : Thạc sĩ PHẠM ĐỨC THÀNH
Giảng viên hướng dẫn : Thạc sĩ PHẠM ĐỨC THÀNH
Sinh viên thực hiện :
Sinh viên thực hiện :
1 . NGUYỄN HOÀNG ANH TÚ – 3.09.01.675
1 . NGUYỄN HOÀNG ANH TÚ – 3.09.01.675
2 . HUỲNH NHỰT PHƯƠNG – 3.09.01.337
2 . HUỲNH NHỰT PHƯƠNG – 3.09.01.337
Ngành : CÔNG NGHỆ PHẦN MỀM
Ngành : CÔNG NGHỆ PHẦN MỀM
Khóa : 2009 - 2012
Tp. Hồ Chí Minh, tháng 7 năm 2012
MỞ ĐẦU
Research2guidance dự đoán thị trường ứng dụng cho điện thoại di động sẽ có tốc
độ tăng trưởng rất nhanh trong vòng một vài năm tới. Lợi nhuận sẽ tăng gấp 8 lần sau 5
năm, từ 1,95 tỉ USD năm 2009 lên 15,65 tỉ USD năm 2013.
Ngoài việc dự đoán mức tăng trưởng về lợi nhuận thì Research2guidance cũng
dự đoán về số người dùng smartphone trong 5 năm tới, yếu tố giúp thị trường ứng dụng
cho di động tăng trưởng. Theo đó, số người dùng smartphone sẽ tăng từ 100 triệu người
năm 2009 lên 1 tỉ người năm 2013.


Điện thoại thông minh phát triển mạnh ở Việt Nam đang được đánh giá là thiên
đường để cho các nhà phát triển ứng dụng di động.
Hệ điều hành Windows Phone là một hệ điều hành khá mới và có nhiều thú vị
với thị trường Việt Nam. Thị trường Windows Phone đang được phát triển rất rộng và
tiềm năng. Các ứng dụng trên nền Windows Phone cũng đang được chú trọng phát triển
và đây sẽ là mảnh đất màu mỡ cho các nhà phát triển ứng dụng cho dòng Smartphone.
Có một điều dễ dành nhận thấy là Việt Nam có thể là “mỏ” cho thị trường game
di động - với hơn 11 triệu thuê bao điện thoại và tốc độ tăng trưởng đang đạt mức khá
cao. Đây thực sự đây là một mảnh đất màu mỡ không chỉ cho các nhà cung cấp game
nói riêng mà còn cho các nhà cung cấp dịch vụ nội dung nói chung. Điểm đáng ghi
nhận là các nhà cung cấp trò chơi cho điện thoại đang cố gắng thu hút khách hàng bằng
nhiều hình thức khác nhau trong đó có việc cung cấp ngày càng nhiều trò có nội dung
hấp dẫn với hình ảnh đẹp và âm thanh chất lượng cao
LỜI CẢM ƠN
Kính Thưa các thầy cô khoa Công nghệ thông tin và thầy Phạm Đức Thành giáo
viên hướng dẫn và các bạn học cùng khóa.
Vậy là đã thấm thoát 3 năm học kể từ ngày chúng em vừa mới chập chững bước
chân vào ngôi trường hoàn toàn xa lạ Cao đẳng Công Nghệ Thông Tin. Nhưng giờ đây
chúng em sắp phải nói lời chia tay với thầy cô, bạn bè và ngôi trường đã gắn bó với
mình trong một khoảng thời gian khá dài. Chúng ta sắp phải bước qua một ngưỡng cửa
khác của cuộc đời mình. Chúng em luôn quan niệm rằng thành công của chúng em
trong tương lai không chỉ là do nỗ lực của bản thân chúng em mà còn là do sự tận tâm
chỉ dẫn từ thầy cô và bạn bè nữa.
Đầu tiên, chúng em xin gửi lời cám ơn chân thành đến toàn bộ thầy cô Khoa
Công Nghệ Thông Tin. Trong nhiều năm qua, thầy cô là những người thầy cô rất tận
tâm và ưu tú trong giảng dạy. Thầy cô đã giúp chúng em rất nhiều trên con đường chinh
phục miền tri thức vô tận này.
Chúng em xin cám ơn thầy Phạm Đức Thành đã nhận trọng trách vất vả là giáo
viên hướng dẫn cho chúng em trong suốt thời gian qua. Thành quả của chúng em đạt
được qua đề án là nhờ một phần không nhỏ công sức của thầy. Chúc thầy được nhiều

sức khỏe và thành công trên con đường cao cả mà thầy đã lựa chọn.
Cuối cùng và quan trọng nhất, chúng con xin dành tất cả sự tri ân và biết ơn cho
gia đình yêu quý, nơi sinh ra con người, tài năng và nhiệt huyết của chúng em. Xin cám
ơn những con người đóng góp thầm lặng cho thành quả của chúng em ngày hôm nay.
Một lần nữa, chúng em xin cám ơn tất cả mọi người, chúc mọi người được dồi
dào sức khỏe. Chúc cho khóa học kết thúc tốt đẹp. Chúc cho Công nghệ thông tin Việt
Nam mau chóng sánh ngang cùng các cường quốc năm châu trên thế giới.
TP. Hồ Chí Minh, tháng 07 năm 2012
NHẬN XÉT
CỦA GIÁO VIÊN HƯỚNG DẪN
























NHẬN XÉT
CỦA GIÁO VIÊN PHẢN BIỆN























MỤC LỤC
MỞ ĐẦU 1

2
LỜI CẢM ƠN 2
CHƯƠNG 1 : WINDOWS PHONE 7 VÀ CÔNG NGHỆ SILVERLIGHT 1
1.1 Giới thiệu 1
1.2 Lịch sử các phiên bản phát triển của Windows Phone 2
1.3 Kiến trúc 3
1.4 Vòng đời phát triển của 1 ứng dụng Windows Phone 4
1.4.1 Bắt đầu với App Hub 4
1.4.2 Thiết kế một ứng dụng và sản sinh ra một gói ứng dụng 5
1.4.3 Gỡ lỗi 1 ứng dụng 5
1.4.4 Xuất bản một ứng dụng 5
1.4.5 Quản lý xuất bản ứng dụng 6
1.5 Giới thiệu công nghệ Silverlight 6
1.5.1 Tổng quan 6
1.5.2 Silverlight là gì ? 7
1.5.3 Các đặc tính của Silverlight 7
1.6 Nghiên cứu công nghệ Silverlight 10
1.6.1 Kiến trúc tổng thể và các thành phần Siverlight 10
Bảng 1.3. Bảng mô tả .Net Framework cho Silverlight 15
1.6.2 Các phiên bản và mô hình lập trình Silverlight 15
CHƯƠNG 2 : GIỚI THIỆU NỀN TẢNG XNA 19
2.1 Tổng quan về XNA 19
2.1.1 XNA là gì ? 19
2.1.2 Tại sao nên sử dụng XNA ? 19
2.1.3 Các phiên bản XNA 19
2.2 Kiến trúc của XNA 21
2.2.1 Kiến trúc của XNA 21
2.3 Các thành phần trong XNA 23
CHƯƠNG 3 : GIỚI THIỆU BÀI TOÁN ỨNG DỤNG “GAME BẮN XE TĂNG”
25

3.1 Phát biểu bài toán 25
3.1.1. Khảo sát hiện trạng 25
3.1.2. Xác định yêu cầu hệ thống : 27
3.1.3. Cốt truyện trò chơi 29
3.2. Mô hình Usecase 30
3.2.1. Sơ đồ Use-case 30
3.2.2. Danh sách các Actor 31
3.2.3. Danh sách các Use-case 31
3.2.4. Đặc tả Use-case 32
CHƯƠNG 4 : THIẾT KẾ CHƯƠNG TRÌNH 42
4.1. Hồ sơ phân tích 42
4.1.1. Sơ đồ lớp 42
4.1.2. Sơ đồ trạng thái: 46
4.2. Thiết kế dữ liệu 48
4.2.1. Mô tả cấu trúc file dùng để lưu trữ 48
4.2.2. Ví dụ về nội dung tập tin lưu trữ 48
4.3. Thiết kế kiến trúc 49
4.3.1. Kiến trúc hệ thống 49
4.3.2. Mô tả chi tiết từng thành phần 49
4.4. Thiết kế giao diện 51
4.4.1. Danh sách các màn hình 51
4.4.2. Mô tả chi tiết mỗi màn hình 52
CHƯƠNG 5 : KẾT LUẬN 55
5.1. Về mặt lý thuyết 55
5.2. Về mặt ứng dụng 55
5.3. Hướng phát triển: 56
PHỤ LỤC 56
Ưu điểm khi sử dụng mô hình 3 layer : 93
DANH MỤC CÁC HÌNH, BẢNG BIỂU VÀ SƠ ĐỒ
Hình 1.1. Kiến trúc Windows Phone Application Platform 3

Hình 1.2. Vòng đời phát triển của 1 ứng dụng Windows Phone 4
Hình 1.3. Kiến trúc tổng thể và các thành phần Silverlight 10
Hình 2.1. Cấu trúc của XNA 20
Hình 2.2. Pipeline Content 21
Hình 2.3. Hệ trục tọa độ 2D 24
Hình 2.4. Hệ trục toa độ hệ thống 24
Hình 3.1. Hình ảnh bản đồ game và vị trí sắp xếp các xe tăng 26
Hình 3.2. Sơ đồ Use case game XE TĂNG 29
Hình 3.3. Sơ đồ Use case “Vào trò chơi” 31
Hình 3.4. Sơ đồ Use case “Phát sinh bản đồ” 32
Hình 3.5. Sơ đồ Use case “Phát sinh xe tăng địch” 33
Hình 3.6. Sơ đồ Use case “Xe tăng địch di chuyển” 34
Hình 3.7. Sơ đồ Use case “Xe tăng địch bắn đạn” 35
Hình 3.8. Sơ đồ Use case “Di chuyển xe tăng mình” 35
Hình 3.9. Sơ đồ Use case “Bắn đạn” 36
Hình 3.10. Sơ đồ Use case “Phá hủy chướng ngại vật” 37
Hình 3.11. Sơ đồ Use case “Bắn chết xe tăng địch” 38
Hình 3.12. Sơ đồ Use case “Xem hướng dẫn” 39
Hình 3.13. Sơ đồ Use case “Thiết lập tùy chọn” 39
Hình 4.1. Sơ đồ lớp game XE TĂNG 41
Hình 4.2. Sơ đồ trạng thái lớp BẢN ĐỒ 45
Hình 4.3. Sơ đồ trạng thái lớp VIÊN ĐẠN 45
Hình 4.4. Sơ đồ trạng thái lớp XE TĂNG 46
Hình 4.5. Sơ đồ trạng thái lớp VẬT PHẨM 46
Hình 4.6. Sơ đồ kiến trúc hệ thống 48
Hình 4.7. Sơ đồ class GUI 48
Hình 4.8. Sơ đồ class BUS 49
Hình 4.9. Sơ đồ class DTO 50
Hình 4.10. Giao diện menu chính 51
Hình 4.11. Giao diện chơi game 52

Hình 4.12. Giao diện Thông tin 53
Hình 4.13. Giao diện Tùy Chọn 54
Hình 6.1. Hướng dẫn tạo Project 57
Hình 6.2. Chọn loại ứng dụng 57
Hình 6.3. Giao diện khi tạo xong Project 58
Hình 6.4. Mô tả control Image 60
Hình 6.5. Mô tả control Button 60
Hình 6.6. Miêu tả control TextBlock 61
Hình 6.7. Miêu tả control ProgressBar 61
Hình 6.8. Miêu tả control Slider 62
Hình 6.9. Demo vẽ 1 Sprite 65
Hình 6.10. Demo 1 vẽ với SpriteBatch 67
Hình 6.11. Giao diện ứng dụng 76
Hình 6.12. Giao diện công cụ MapDesigner 79
Hình 6.13. Cây thư mục ứng dụng 92
Bảng 1.1. Bảng mô tả các thành phần chính của Silverlight 11
Bảng 1.2. Bảng các nền tảng cơ sở trong Silverlight 13
Bảng 1.3. Bảng mô tả .Net Framework cho Silverlight 14
Bảng 3.1. So sánh các phần mềm game Xe tăng hiện nay 25
CHƯƠNG 1 : WINDOWS PHONE 7 VÀ CÔNG NGHỆ SILVERLIGHT
1.1 Giới thiệu
Windows Phone 7 là thế hệ kế tiếp của dòng điện thoại chạy hệ điều
hành Microsoft Windows Mobile. Windows Phone 7 được phát triển dựa trên phần lõi
là Windows CE 7 giống Zune HD, trong khi các phiên bản trước lại dựa trên Windows
CE 5.
Windows Phone 7 được Microsoft phát triển để thay thế cho hệ điều hành di
động Windows Mobile trước đây. Windows Phone bắt đầu từ phiên bản thứ 7 (khi ra
mắt, Microsoft gọi nó là Windows Phone 7, còn hiện giờ nó đã lên đến 8.0). Được biết,
do phát triển trong thời gian ngắn nên Windows Phone rất hạn chế trong việc tương
thích ngược với các nền tảng Windows Mobile trước đó. Một lý do nữa để Microsoft

không quan tâm nhiều đến nền tảng cũ đó là vì màn hình cảm ứng bằng ngón tay ngày
càng phổ biến hơn trên điện thoại và Windows Mobile vốn thiết kế cho bút stylus đã trở
nên rất lỗi thời.
Windows Phone 7 bắt đầu được ra mắt chính thức vào tháng 2/2010 ở triển lãm
Mobile World Congress diễn ra ở Barcelona, Tây Ban Nha. Đến tháng 10 cùng năm,
CEO Steve Ballmer của Microsoft ra mắt 10 thiết bị Windows Phone đầu tiên đến từ
HTC, Dell, Samsung, LG. Vài tuần sau, máy bắt đầu được bán ra ở Mỹ và Châu Âu.
Tháng 5 cùng năm, Microsoft tuyên bố hợp tác với một số nhà sản xuất khác là Acer,
Fujitsu và ZTE.
Windows Phone 7 được Microsoft thiết kế dựa trên tiêu chí giúp lập trình viên
dễ dàng hơn trong việc tạo nên các ứng dụng RIA (Rich Internet Application) với công
nghệ nền tảng dựa trên .Net, Silverlight và XN Frame Work, với những lập trình viên
đã từng làm qua Silverlight thì việc chuyển sang Windows Phone 7 là một việc rất dễ
dàng, không chỉ có thế Microsoft còn ưu ái cho các nhà sản xuất với việc tạo nên một
môi trường phát triển và thiết kế cực kỳ đơn giản và có thể chạy được trên phần cứng
của nhiều hãnh khác nhau như HTC, Sony, LG….
Với Windows Phone, Microsoft cung cấp một giao diện người dùng mới với
ngôn ngữ thiết kế của hãng có tên là Metro. Nó tích hợp hệ điều hành với các dịch vụ
khác của Microsoft, các bên thứ ba và điều khiển phần cứng nó chạy trên đó.
Một cột mốc quan trọng của Windows Phone đó là sự hợp tác giữa Microsoft
với Nokia sau khi hãng điện thoại Phần Lan này quyết định không còn tập trung vào
1
điện thoại Symbian nữa. Kết quả của sự hợp tác này đó là dòng Nokia Lumia ra đời ở
sự kiện Nokia World 2011. Đến CES 2012, Nokia tiếp tục ra mắt hai máy Lumia mới
nữa (mình sẽ đề cập ở phần sau). Việc tích hợp các dịch vụ của Microsoft (Bing, Bing
Maps, Windows Phone Marketplace,…) lên thiết bị Nokia được cho là sẽ tạo nên lợi
thế cạnh tranh cho Windows Phone với hai đối thủ lớn hiện thời là iOS và Android.
Microsoft phát triển Windows Phone 7 dựa trên hai công nghệ Silverlight và XNA:
 Silverlight: một sáng kiến phía client dựa trên Windows Presentation Foundation
(WPF) đã tạo ra một sức mạnh chưa từng có cho các nhà phát triển website để tạo ra

các giao diện người dùng tinh vi với sự kết hợp của các control sẵn có, các kí tự chất
lượng cao, các vector graphic, media, animation và data binding có thể chạy trên đa
platform và đa trình duyệt. WP7 đã mang sức mạnh của Silverlight đến với các thiết
bị mobile.
 XNA: là một game platform hỗ trợ cả 2 thể loại game 2D và 3D với kiến trúc
game-loop truyền thống. Mặc dù XNA được phục vụ chủ yếu cho việc phát triển
game trên console Xbox360 nhưng XNA cho phép các developer có thể dùng nó để
phát triển trên PC hoặc ZuneHD.
Tóm gọn lại Microsoft thiết kế Windows Phone 7 với ba tiêu chí chính:
 Design: End Users Come First (Có thể hiểu là chú trọng về cách dễ dùng nhất cho
người dùng).
 PlaftForm: Fun and Easy to build complelting Apps and Games.
 Hardware: Optermized and sandardized.
1.2 Lịch sử các phiên bản phát triển của Windows Phone
 7.0.7004: phiên bản đầu tiên của Windows Phone 7.
 7.0.7008: nâng cấp và cải thiện một vài điểm.
 7.0.7390: bản cập nhật với tên mã NoDo, hỗ trợ mạng CDMA, copy và paste,
tốc độ chạy ứng dụng nhanh hơn, tích hợp Facebook sâu hơn.
 7.0.7392: sửa các lỗi liên quan đến chứng nhận bảo mật.
 7.0.7403: bản tiền nâng cấp để chuẩn bị bước sang một đợt nâng cấp lên.
 7.10.7720: đây là Windows Phone 7.5 với tên mã Mango, được giới thiệu
2/2011. Các tính năng mới được thêm vào như Internet Explorer 9 hỗ trợ đồ họa và
chuẩn web tốt hơn, Twitter tích hợp vào People Hub, chạy đa nhiệm cho các ứng
dụng bên thứ ba bằng cách tạm ngừng chúng.
 7.10.7740: sửa lỗi Microsoft Exchange Server 2003 và cảnh báo hộp thư thoại.
 7.10.8107: hỗ trợ kết nối LTE, sửa lỗi bàn phím bị biến mất và nhiều vấn đề
khác.
 7.10.8112: bản cho Lumia 900 và HTC Titan II của nhà mạng AT&T.
2
 7.10.8773: còn gọi là Windows Phone 7.5 Refresh với tên mã Tango. Nhiều tính

năng mới xuất hiện như MMS tốt hơn, biểu tượng cho việc dò vị trí, xuất và quản lí
danh bạ vô SIM, hỗ trợ điện thoại giá rẻ với 256MB RAM và xung nhịp CPU chậm.
 7.10.8779: sửa lổi, cải thiện và nâng cấp.
1.3 Kiến trúc
Windows Phone Application Platform kiến trúc được tạo thành từ bốn thành
phần chính:
Hình 1.1. Kiến trúc Windows Phone Application Platform
 Runtimes (Runtimes): Silverlight và khung XNA, cùng với Windows tính năng
điện thoại cụ thể, kết hợp để cung cấp một môi trường trưởng thành trong việc xây
dựng an toàn, các ứng dụng đồ họa phong phú.
 Tools (Công cụ): Visual Studio và Expression Blend, và các công cụ và tài liệu liên
quan của chúng, tạo ra một trải nghiệm phát triển hoàn chỉnh để nhanh chóng tạo ra
ứng dụng, gỡ lỗi, triển khai và cập nhật các ứng dụng.
 Cloud (Dịch vụ điện toán đám mây): Windows Azure, Xbox LIVE, thông báo
dịch vụ, và dịch vụ định vị, cùng với một loạt các dịch vụ web khác, cho phép các
nhà phát triển để chia sẻ dữ liệu qua các đám mây và lợi ích người tiêu dùng bằng
3
cách cung cấp một trải nghiệm liền mạch trên thiết bị bất cứ điều gì họ đang sử
dụng. Kết nối với các dịch vụ web của bên thứ ba cũng hỗ trợ đầy đủ.
 Portal Services (Dịch vụ cổng thông tin): điện thoại Windows Marketplace cung
cấp các dịch vụ mạnh mẽ cho phép các nhà phát triển đăng ký, xác nhận, và thị
trường ứng dụng của họ.
1.4 Vòng đời phát triển của 1 ứng dụng Windows Phone
Hình 1.2. Vòng đời phát triển của 1 ứng dụng Windows Phone
1.4.1 Bắt đầu với App Hub
App Hub sẽ là điểm khởi đầu cho các nhà phát triển. Các nhà phát triển có thể
bắt đầu bằng cách đăng ký cho một ID Windows Live. Tiếp theo, họ có thể đăng ký để
có được SDK Windows Phone và cấp giấy phép liên quan để phát triển các ứng dụng
bằng cách sử dụng Visual Studio và Expression Blend. Đây sẽ là một download duy
nhất có chứa tất cả mọi thứ phát triển đòi hỏi phải xây dựng một ứng dụng cho

Windows Phone. Nhà phát triển cũng có thể đăng ký một hoặc nhiều điện thoại để sử
dụng như là phần cứng thử nghiệm xác nhận các ứng dụng mà họ đang xây dựng. Bất
kỳ điện thoại Windows bán lẻ có thể được đăng ký như là một thiết bị thử nghiệm.
4
Trung tâm ứng dụng có chứa mẫu, tài liệu, và cộng đồng nhà phát triển hoạt
động giúp làm cho các nhà phát triển điện thoại Windows thành công.
1.4.2 Thiết kế một ứng dụng và sản sinh ra một gói ứng dụng
Một khi các nhà phát triển đã đăng ký là nhà phát triển một Windows Phone và
đã cài đặt công cụ phát triển, họ có thể bắt đầu phát triển các ứng dụng của họ. Trò chơi
và các ứng dụng đồ họa chuyên sâu được tạo ra trong Visual Studio bằng cách sử dụng
các thư viện 2D và 3D của XNA Framework.
Thiết kế hình ảnh cho các ứng dụng dựa trên XAML cho Silverlight được tạo ra
trong Visual Studio và/hoặc Expression Blend. XAML tài liệu kết quả có chứa đánh
dấu sau đó được giải thích bởi các công cụ trình bày Silverlight và các thành phần khác
của ứng dụng điện thoại nền tảng Windows.
Với Windows Phone 7.5, bây giờ bạn có thể kết hợp Silverlight và XNA
Framework vào một ứng dụng duy nhất.
Visual Studio IDE được sử dụng để viết mã quản lý xác định hành vi hình ảnh
của tất cả các ứng dụng Windows Phone. Khi ứng dụng được hoàn tất, một gói được
tạo ra trong đó bao gồm tất cả mọi thứ nhu cầu ứng dụng.
1.4.3 Gỡ lỗi 1 ứng dụng
Trong khi tạo ra một ứng dụng Windows Phone, một nhà phát triển có thể gỡ lỗi
các chương trình trên điện thoại hoặc trong giả lập điện thoại Windows. Gỡ lỗi các ứng
dụng liên quan đến việc tạo ra một gói phần mềm nhắm mục tiêu nền tảng gỡ lỗi và sau
đó sử dụng Visual Studio để triển khai các gói phần mềm. Biểu hiện đánh giá, bước mã
nguồn, và cửa sổ đồng hồ biến được tất cả các hỗ trợ.
1.4.4 Xuất bản một ứng dụng
Sau khi một ứng dụng đã được hoàn thành, một nhà phát triển có thể làm cho
chương trình có sẵn cho người dùng khác trên Windows Phone Marketplace. Để xuất
bản Windows Phone Marketplace, các nhà phát triển gửi một tập tin .XAP. Các tập tin

.XAP là một tập tin nén chứa tất cả các thông tin cần thiết cho ứng dụng. Điều này bao
5
gồm một biểu tượng ứng dụng, gói bắt đầu, siêu dữ liệu, và các điều khoản cấp phép để
xác định chương trình của họ có thể được sử dụng như thế nào.
Tiếp theo, các dấu hiệu phát triển vào App Hub và gửi các gói ứng dụng xác
nhận. Đây là cách duy nhất để làm cho một ứng dụng có sẵn cho người tiêu dùng. Quá
trình cấp giấy chứng nhận sẽ kiểm tra xem ứng dụng là cách cư xử, làm việc cho các
ngôn ngữ và thị trường chỉ ra, và không ảnh hưởng xấu đến sức khỏe tổng thể của điện
thoại.
Một khi các gói phần mềm đã đáp ứng các yêu cầu điện thoại xác nhận Windows
Marketplace, nhà phát triển được thông báo và có thể công bố ứng dụng Windows
Marketplace điện thoại thông qua App Hub. Các ứng dụng sau đó làm sẵn có cho người
tiêu dùng tải về trong Windows Phone Marketplace. Thẻ tín dụng và hoạt động thanh
toán điện thoại di động điều hành được hỗ trợ.
1.4.5 Quản lý xuất bản ứng dụng
Sau khi một ứng dụng Windows Phone được công bố Thị trường điện thoại
Windows, nhà phát triển sử dụng App Hub để quản lý các phiên bản của ứng dụng có
sẵn để mua.
1.5 Giới thiệu công nghệ Silverlight
1.5.1 Tổng quan
Microsoft Silverlight là một công nghệ đa nền, đa trình duyệt dựa trên nền .NET
dùng để xây dựng và phát triển một thế hệ ứng dụng Web và thiết bị mới, đầy tính
tương tác và hỗ trợ tối đa về media. Hiện nay Silverlight đã có 5 phiên bản dùng phát
triển ứng dụng bằng ngôn ngữ Javascript và bằng các ngôn ngữ .NET framework như
C# hay VB.NET , Bên cạnh đó công nghệ Silverlight còn được hỗ trợ bởi ngôn
ngữ đánh dấu XAML đầy sức mạnh trong việc thể hiện giao diện người dùng. Có thể
nói công nghệ Silverlight đã thống nhất được tất cả các khả năng của server, Web và
ứng dụng desktop, của code .NET, của ngôn ngữ hình thể và ngôn ngữ truyền thống và
sức mạnh của Windows Presentation Foundation (WPF). Để cuối cùng tạo ra một ứng
dụng mà người dùng phải thấy thích. Một số người cho rằng công nghệ Silverlight của

Microsoft sẽ là “sát thủ” của Adobe Flash. Nhưng hiện tại thì chưa thể biết được điều gì,
vì cả hai công nghệ này đều được sử dụng bằng plug-in của trình duyệt, cả hai đều hỗ
6
trợ đồ họa vector, âm thanh, phim ảnh, animation và ngôn ngữ script. Dù người phát
triển ứng dụng là người phát triển web hay người thiết kế đồ họa thì Silverlight đều tạo
điều kiện tốt nhất để người đó có thể phát huy tối đa khả năng của mình. Hiện nay
Silverlight đang là công nghệ hot trong thế giới web. Đây là một công nghệ khá tốt của
Microsoft trong việc thiết kế và phát triển các dự án web. Vì vậy có khả năng nó sẽ phát
triển mạnh hơn nữa.
1.5.2 Silverlight là gì ?
Silverlight là một công nghệ đa nền tảng, đa trình duyệt được đưa ra bởi
Micrososft, cho phép xây dựng các ứng dụng trên web (không phụ thuộc vào trình
duyệt) và tương tác với Server. Silverlight cung cấp một mô hình lập trình mềm dẻo và
đồng nhất, nó hỗ trợ Ajax, Python, Ruby và các ngôn ngữ lập trình .Net như C#, Visual
basic Khả năng đa phương tiện của Silverlight thể hiện ở mức độ truyền tải âm thanh
và hình ảnh chất lượng cao một cách nhanh chóng và hiệu quả trên tất cả các trình
duyệt (Internet Explorer, Firefox, Safari, Opera ). Điểm mạnh của Silverlight đó là
cung cấp những thuộc tính thiết kế giao diện, tạo những hiệu ứng (hoạt ảnh) một cách
dễ dàng.
1.5.3 Các đặc tính của Silverlight
Silverlight kết hợp nhiều công nghệ vào một nền tảng phát triển, nó cho phép bạn
được lựa chọn nhiều công cụ và ngôn ngữ lập trình thích hợp để giải quyết bài toán của
bạn. Silverlight cung cấp các tính năng sau:
 Sự kết hợp của WPF và XAML: Silverlight là một gói nhỏ của công nghệ WPF
(Windows Presentation Foundation). WPF cho phép bạn tạo ra đồ họa ba chiều,
hình ảnh động, đa phương tiện và nhiều tính năng phong phú khác. Các ứng dụng
tạo ra bởi WPF chủ yếu là các phần mềm đóng gói. Silverlight kế thừa một số thuộc
tính của WPF và nó được mở rộng nhiều hơn ở một số các phần tử để tạo ra giao
diện cho người dung trên trình duyệt web. Tuy nhiên Silverlight cũng mang một số
điểm hạn chế hơn WPF về tính linh động (tùy biến) trong việc thiết kế giao diện và

hiệu ứng. Cả Silverlight và WPF đều dựa trên cùng một nền tảng là XAML
(Extensible Application Markup Language) cung cấp các cú pháp đánh dấu đặc
trưng cho việc tạo các Element.
7
 Mở rộng ngôn ngữ đa kịch bản: Silverlight cung cấp việc mở rộng cho các ngôn
ngữ đa kịch bản (Javascript) ở một số các trình duyệt phổ biến để thể hiện việc trình
bày giao diện và thao tác người dùng một cách phong phú hơn.
 Tích hợp các ứng dụng đã có: Silverlight là sự tích hợp liền mạch với ngôn ngữ
Javascript và mã Ajax sẵn có của Asp.Net để bổ sung các chức năng bạn đã xây
dựng được. Bạn có thể tạo những tài nguyên trên nền máy chủ có trong ASP.NET
và sử dụng các khả năng của Ajax trong ASP.NET để tương tác với tài nguyên trên
nền máy chủ đó mà không làm gián đoạn người dùng. Các ứng dụng Silverlight có
khả năng tương tác với máy chủ, xử lý các sự kiện một cách bất đồng bộ. Điều này
không làm gián đoạn thao tác của người dùng cuối. Nếu như bạn đã từng tạo ra các
dự án web sử dụng Ajax, chắc hẳn bạn sẽ cảm thấy dễ dàng hiểu cơ chế xử lý bất
đồng bộ trong Silverlight.
8
 Sử dụng mô hình ngôn ngữ lập trình trên nền tảng .Net framework và các công
cụ để kết hợp: Bạn có thể tạo các ứng dụng trên nền tảng Silverlight bằng cách sử
dụng các ngôn ngữ động như InronPython cũng như các ngôn ngữ như C#, Visual
Basic. Microsoft đã đưa ra một sự kết hợp nhuần nhuyễn cho việc tạo ra các ứng
dụng Silverlight thông qua hai bộ công cụ: Visual Studio 2008 và Expression Blend.
Sự đồng bộ công cụ này tạo nên sự thuận lợi tối đa cho các nhà phát triển.
 Hỗ trợ mạng: Silverlight hỗ trợ HTTP thông qua giao thức TCP. Nó có thể thực
hiện các kết nối tới các dịch vụ của WCF, SOAP, ASP.NET và nhận về các định
dạng theo cấu trúc XML, JSON hay dữ liệu RSS.
 Hỗ trợ ngôn ngữ tích hợp truy vấn (LINQ): Silverlight cho phép thực hiện những
truy vấn dữ liệu bằng cách sử dụng cú pháp trực quan và mạnh mẽ thông qua
LINQ (Language Integrated Query – ngôn ngữ truy vấn tích hợp). LINQ cho phép
bạn tạo những truy vấn ngay trên công cụ lập trình (Visual Studio) như trong SQL

và được tích hợp trong bộ .NET Framework 3.0 trở lên. Có ba điều mà bạn nên
quan tâm về LINQ là: LINQ to Objects – LINQ to XML và LINQ to SQL.
 Thể hiện được các nội dung phức tạp: Silverlight có thể tạo ra các nội dung phức
tạp, gồm video, animation, text, đồ họa hai chiều, các hiệu ứng hình ảnh trên trang
web.
 Plug-in nhỏ gọn: Chỉ mất ít phút để có thể cài plugin vào trình duyệt và sử dụng
công nghệ Silverlight.
9
1.6 Nghiên cứu công nghệ Silverlight
1.6.1 Kiến trúc tổng thể và các thành phần Siverlight
Dưới đây là hình ảnh mô tả những thành phần trong kiến trúc của Silverlight
cùng với các thành phần và dịch vụ liên quan khác:
10
Hình 1.3. Kiến trúc tổng thể và các thành phần Silverlight
11
Về cơ bản Silverlight là một nền tảng thống nhất của nhiều thành phần khác nhau.
Dưới đây là các thành phần chính của Silverlight:
Thành phần Diễn tả
Nền tảng trình bày cơ sở Các thành phần và dịch vụ hướng tới giao
diện người dùng và tương tác người dùng, bao gồm
các control dữ liệu cho người dùng nhập, thiết bị đa
phương tiện, quản lý phân quyền số, trình bày dữ
liệu, đồ họa vector, chữ, hình ảnh động và bao gồm
cả XAML để đặc tả việc bố trí giao diện.
.Net Framework cho Silverlight Là một gói nhỏ trong .Net Framework, bao gồm các
thành phần và các thư viện, kể cả trong việc tương
tác dữ liệu, khả năng mở rộng các control, mạng,
garbage collection, và CLR.
Cài đặt và cập nhật Là thành phần để xử lý các tiến trình cài đặt làm
sao để đơn giản hóa cho lần cài đặt đầu tiên, tiếp

sau đó chỉ cung cấp cơ chế tự động cập nhật và
tương tác ở mức thấp.
Bảng 1.1. Bảng mô tả các thành phần chính của Silverlight
Kiến trúc Silverlight:
 Browser Plug-in:
Plug-in này cung cấp những cơ chế như sau:
1) Thiết lập và thay đổi nội dung XAML thực thi nó runtime.
2) Lấy những đối tượng tại thời điểm runtime, thao tác thông qua javascript.
3) Tăng khả năng download nội dung.
 Element Tree:
1) Nó chính là cây của những đối tượng như: đối tượng Path, đối tượng Image và đối
tượng MediaElement mà bạn tạo ra để xây dựng ứng dụng và nó tương tự như là cây
HTML. Tuy nhiên, nó có nhiều graphics element hơn so với HTML, và mô hình để
lập trình thì giống như DOM. Để có thể xây dựng Element Tree, chúng ta có thể
dùng XAML parser được cung cấp bởi Silverlight sử dụng hàm CreateFromXaml.
2) Để có thể thay đổi Element Tree thì:
a) Dùng Javascript API.
b) Sử dụng Animation System để thay đổi giá trị over time.
12
 Rendering Engine
Các tính năng:
1) Tăng tính redraw giữa những frame, hạn chế số pixel vẽ dựa vào nội dung mà thay
đổi.
2) Chỉ render những nội dung visible, không render những nội dung transparent.
3) Dựa vào sự thuận lợi của CPU mà chúng cải thiện render.
Đặc trưng của Render Engine:
 Hỗ trợ hình cơ bản như: hình chữ nhật, Ellipse, Image.
 Hỗ trợ Brush.
 Hỗ trợ Text Render.
 Transform.

 Hỗ trợ độ trong suốt.
- Input and Events: Cung cấp sự kiện.
- Animation System: Animation tăng tính linh hoạt GUI.
- Downloader and Packaging: XAML, images, fonts được đóng gói vào bên trong file
*.zip dựa vào đối tượng Downloader.
- Ink Support: hỗ trợ vẽ nội dung sử dụng Pen, tương tự như Paint
Ngoài ra còn có:
- Image Cache.
- Text Engine.
- Glyph Cache.
- Media Pipeline.
13
Nền tảng của Silverlight:
Bao gồm 2 phần chính
 Các nền tảng trình bày cơ sở trong Silverlight:
Tính năng Mô tả
Dữ liệu vào (Input) Xử lý dữ liệu đầu vào từ các thiết bị
phần cứng như bàn phím, chuột, bảng
vẽ hoặc các thiết bị đầu vào khác.
Trình bày giao diện người dùng (UI
Rendering)
Trình bày vector và các đồ họa ảnh
bitmap, ảnh động và văn bản …
Thiết bị nghe nhìn (Media) Các tính năng quản lý và phát 1 vài
file hình ảnh và âm thanh.
Controls Hỗ trợ mở rộng cho các control để có
khả năng tùy chỉnh về khuôn mẫu.
Xếp đặt layout Cho phép khả năng xếp đặt vị trí động
các thành phần giao diện người dùng
Trình bày dữ liệu (Data Binding) Cho phép việc kết nối dữ liệu của các

đối tượng và các thành phần giao diện
người dùng
DRM Khả năng Quản lý phân quyền số
XAML Cung cấp trình phân tách cho XAML
Bảng 1.2. Bảng các nền tảng cơ sở trong Silverlight
Các lập trình viên có thể tương tác với thành phần “nền tảng trình bày cơ sở”
trên bằng cách sử dụng XAML để đặc tả. XAML là một yếu tố quan trọng nhất trong
việc tương tác giữa .Net Framwork và các kiểu trình bày Layout, ngoài ra các lập trình
viên cũng có thể sử dụng cơ chế quản lý code bên trong để thao tác với lớp trình bày.
14
 .Net Framework cho Silverlight:
Tính năng Mô tả
Data Hỗ trợ ngôn ngữ truy vấn tích hợp (LINQ)
và LINQ với đặc tả XML, dễ dàng xử lý
việc tích hợp và làm việc với dữ liệu từ
nhiều nguồn khác nhau.
Base class library Nó cung cấp các chức năng lập trình chủ
yếu như việc xử lý chuỗi, biểu thức chính
quy, đầu vào và đầu ra, ánh xạ, tập hợp và
toàn cục hóa.
Window Communication Foundation
(WCF)
Cơ chế này bao gồm một đối tượng trình
duyệt, HTTP request và HTTP Response,
RSS, JSON, POX, và các SOAP.
Common language runtime (CLR) Cung cấp việc quản lý bộ nhớ, dọn dẹp bộ
nhớ thừa, xử lý ngoại lệ …
Windows Presentation Foundation
controls (WPF)
Cung cấp các control giàu tính năng như

Button, Calendar, CheckBox, DataGrid,
DatePicker, HyperlinkButton,
Dynamic language runtime (DLR) Hỗ trợ việc biên dịch và thi hành với tính
năng động của các ngôn ngữ kịch bản như
Javascript và IronPython cho các chương
trình trên nền tảng Silverlight.
Bảng 1.3. Bảng mô tả .Net Framework cho Silverlight
1.6.2 Các phiên bản và mô hình lập trình Silverlight
 Silverlight 1.0:
Sau 6 tháng thử nghiệm, tháng 11/2007 Silverlight 1.0 đã được Microsoft chính
thức ra mắt trước xu hướng nội dung Web tương tác đang thịnh. Là một plug-in của trình
duyệt, Silverlight 1.0 mang sức mạnh âm thanh và video cải tiến đến với các ứng dụng
Web, nó cũng được coi là lời phúc đáp của Microsoft với công nghệ Flash (của đối thủ
Adobe) đang rất phổ biến. Silverlight có thể giúp cho Microsoft gây dựng thanh
thế trong lĩnh vực thiết kế giao diện Web và cạnh tranh với Flash như một nền tảng cho
ứng dụng Web trong tương lai. Silverlight 1.0 bao gồm framework thuyết trình, có thể
xử lý hình ảnh, chữ, hình họa, âm thanh, hình ảnh cùng lúc, đồng thời thiết kế giao diện
người dùng bằng ngôn ngữ đánh dấu XAML của Microsoft. Các nhà phát triển có thể
tạo ra các ứng dụng Silverlight nhờ một add-on miễn phí bên trong phần mềm Visual
Studio 2008 sắp phát hành.
15

×