BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THƠNG TIN TP.HCM
KHOA CƠNG NGHỆ THƠNG TIN
--------
BÁO CÁO ĐỀ ÁN
TÌM HIỂU
CÔNG NGHỆ
WINDOWS
AZURE
XÂY DỰNG ỨNG DỤNG HỌC NGỮ PHÁP
TIẾNG ANH TOIEC CHẠY TRÊN HĐH
WINDOWS PHONE 7
Giảng viên hướng dẫn : VŨ MINH ĐỨC
Sinh viên thực hiện :
1 . LÊ VĂN CẢNH (NT) – 11100497
2 . TRẦN SƠN HẢI – 11100504
3 . TRẦN VĂN CỬ – 11000379
Ngành : CƠNG NGHỆ PHẦN MỀM
Nhóm: 2
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.
Ngồi việc dự đốn mức tăng trưởng về lợi nhuận thì Research2guidance cũng
dự đố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 phần
mềm 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 phần mềm 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...
TP. Hồ Chí Minh, tháng 12 năm 2013
MỤC LỤC
MỞ ĐẦU....................................................................................................................... 2
...................................................................................................................................... 2
CHƯƠNG 1: GIỚI THIỆU VỀ WINDOWS AZURE.............................................1
1.1. Tổng quan Windows Azure ...........................................................................1
1.2. Các thành phần Windows Azure ...................................................................2
1.2.2. Dịch vụ lưu trữ (Storage Service) .......................................................4
1.2.3. Windows Azure Fabric .......................................................................5
CHƯƠNG 2 : WINDOWS PHONE 7 VÀ CÔNG NGHỆ SILVERLIGHT..........10
2.1 Giới thiệu ......................................................................................................10
2.2 Lịch sử các phiên bản phát triển của Windows Phone .................................11
2.3 Kiến trúc .......................................................................................................13
2.4 Vòng đời phát triển của 1 ứng dụng Windows Phone ..................................14
2.4.1 Bắt đầu với App Hub..........................................................................14
2.4.2 Thiết kế một ứng dụng và sản sinh ra một gói ứng dụng...................15
2.4.3 Gỡ lỗi 1 ứng dụng...............................................................................15
2.4.4 Xuất bản một ứng dụng......................................................................16
2.4.5 Quản lý xuất bản ứng dụng ...............................................................16
2.5 Giới thiệu công nghệ Silverlight ..................................................................16
2.5.1 Tổng quan...........................................................................................16
2.5.2 Silverlight là gì ?................................................................................17
2.5.3 Các đặc tính của Silverlight................................................................18
2.6 Nghiên cứu công nghệ Silverlight.................................................................20
2.6.1 Kiến trúc tổng thể và các thành phần Siverlight.................................20
2.6.2 Các phiên bản và mơ hình lập trình Silverlight..................................26
CHƯƠNG 3 : GIỚI THIỆU ỨNG DỤNG “HỌC NGỮ PHÁP TIẾNG ANH”....31
3.1 Phát biểu bài toán .........................................................................................31
3.1.1. Khảo sát hiện trạng ...........................................................................31
3.1.2. Xác định yêu cầu hệ thống :..............................................................33
3.2. Mô hình Usecase .........................................................................................34
3.2.1. Sơ đồ Use-case..................................................................................34
3.2.3. Danh sách các Use-case:...................................................................35
3.2.4. Đặc tả Use-case.................................................................................35
3.3. Hồ sơ phân tích............................................................................................42
3.3.1. Sơ đồ lớp............................................................................................42
3.3.2. Thiết kế dữ liệu..................................................................................46
3.3.2.1. Mô tả cấu trúc file dùng để lưu trữ.............................................46
3.3.3 Thiết kế giao diện...............................................................................46
3.3.3.1 Danh sách các màn hình..............................................................46
3.3.3.2. Mơ tả chi tiết mỗi màn hình.......................................................46
CHƯƠNG 4 : KẾT LUẬN........................................................................................52
4.1. Về mặt lý thuyết...........................................................................................52
4.2. Về mặt ứng dụng..........................................................................................53
4.3. Hướng phát triển:..........................................................................................53
PHỤ LỤC...................................................................................................................42
DANH MỤC CÁC HÌNH, BẢNG BIỂU VÀ SƠ ĐỒ
Hình 1.2- Các thành phần Windows Azure
Hình 1.3 – Ứng dụng Windows Azure có thể chứa Web role và Worker role
Hình 1.4 - Bộ lưu trữ Windows Azure: Blob, Table, Queue
Hình 1.5 - Fabric Controller
Hình 1.6 - Fabric Controller và Fault Domain
Hình 1.7 - Fabric Controller và Update Domain
Hình 2.1. Kiến trúc Windows Phone Application Platform
Hình 2.2. Vịng đời phát triển của 1 ứng dụng Windows Phone
Hình 2.3. Kiến trúc tổng thể và các thành phần Silverlight
Hình 3.1.Hình ảnh danh sách các ngữ pháp
Hình 3.2. Sơ đồ Use case phần mềm Ngữ Pháp Tiếng Anh
Hình 3.3. Sơ đồ Use case “Tìm Kiếm”
Hình 3.4. Sơ đồ Use case “Bookmark”
Hình 3.5. Sơ đồ Use case “Học Ngữ Pháp”
Hình 3.6. Sơ đồ Use case “Hướng Dẫn”
Hình 3.7. Sơ đồ lớp phần mềm EnglishGrammar
Hình 3.8. Giao diện chính
Hình 3.9. Giao diện tìm kiếm
Hình 3.10: Giao diện xem nội dung
Hình 3.11: Giao diện khi nhấn nút bookmark khi dang xem
Hình 3.12. Giao diện Booookmarks khi khơng đang xem nội dung
Hình 4.13. Giao diện Tùy Chọn
Hình 5.1. Hướng dẫn tạo Project
Hình 5.2. Chọn loại ứng dụng
Hình 5.3. Giao diện khi tạo xong Project
Hình 5.4. Mơ tả control Image
Hình 5.5. Mơ tả control Button
Hình 5.6. Miêu tả control TextBlock
Hình 5.7. Miêu tả control ProgressBar
Hình 5.8. Miêu tả control Slider
Bảng 2.1. Bảng mơ tả các thành phần chính của Silverlight
Bảng 2.2. Bảng các nền tảng cơ sở trong Silverlight
Bảng 2.3. Bảng mô tả .Net Framework cho Silverlight
Bảng 3.1. Minh họa các phần mềm học ngữ pháp tiếng anh hiện nay
Bảng 3.2. So sánh các phần mềm học ngữ pháp tiếng anh hiện nay
PHÂN CÔNG VIỆC
1) Trần Sơn Hải
Vẽ Use-case và mô tả Use-case.
2) Lê Văn Cảnh
Nhập liệu 100%.
Tìm hiểu cơng nghệ Windows Azure
3) Trần Văn Cử
Viết báo cáo
Viết ứng dụng
Làm 90% Công việc.
CHƯƠNG 1
CHƯƠNG 1: GIỚI THIỆU VỀ WINDOWS AZURE
1.1. Tổng quan Windows Azure
Nhìn một cách tổng quan, Windows Azure là một hệ điều hành dùng để chạy các
ứng dụng Windows và lưu dữ liệu của nó trên đám mây. Nhưng khác với một hệ điều
hành bình thường, người dùng phải cài đặt và chạy trên máy tính của mình, Windows
Azure là một dịch vụ: Khách hàng dùng nó để chạy ứng dụng và lưu trữ dữ liệu trên
các máy chủ ở trung tâm dữ liệu của Microsoft, có thể truy cập qua Interner. Các ứng
dụng này có thể cung cấp dịch vụ cho doanh nghiệp và khách hàng.
Hình 1.1 - Ứng dụng Windows Azure
1
CHƯƠNG 1
1.2. Các thành phần Windows Azure
Hình 1.2- Các thành phần Windows Azure
Dịch vụ tính tốn sẽ chạy ứng dụng, trong khi dịch vụ lưu trữ lưu dữ liệu.
Thành phần thứ ba, Windows Azure Fabric, cung cấp cách thức để quản lý và theo dõi
các ứng dụng sử dụng nền tảng đám mây này.
2.2.1. Dịch vụ tính tốn (Compute Service)
Dịch vụ tính tốn Windows Azure có thể chạy nhiều kiểu ứng dụng khác nhau.
Mục tiêu chính của kiến trúc này là hỗ trợ các ứng dụng có lượng người sử dụng truy
cập đồng thời cực lớn. Windows Azure được thiết kế để hỗ trợ chạy nhiều bản sao của
cùng một mã nguồn trên nhiều máy chủ khác nhau.
Để đạt được điều này, ứng dụng Windows Azure có thể có nhiều thể hiện, mỗi thể
hiện được thực thi trên một máy chủ ảo.
Dịch vụ tính tốn hỗ trợ 2 loại thể hiện : Web role và Worker role.
2
CHƯƠNG 1
Hình 1.3 – Ứng dụng Windows Azure có thể chứa Web role và Worker role
Một thể hiện Web role có thể chấp nhận một request HTTP/HTTPS. Để thực
hiện điều này, thể hiện Web role chạy trên một máy ảo có cài Internet Information
Services 7 (IIS 7). Lập trình viên có thể tạo ra Web role bằng ASP.NET, WCF, hay
bất kì kĩ thuật .NET khác có thể hoạt động được với IIS 7. Ngồi ra, lập trình viên có
thể viết các ứng dụng với native code, có nghĩa là có thể chạy các ứng dụng sử dụng
kĩ thuật khác như PHP, Java. Khi một request được gửi đến Web role, nó sẽ được
truyền qua bộ cân bằng tải đến các thể hiện của Web role trong cùng một ứng dụng. Do
đó, khơng đảm bảo rằng, các u cầu từ một người dùng có thể được gửi đến cùng một
thể hiện của ứng dụng.
Một thể hiện Worker role không giống như Web role, nó khơng chấp nhận
request từ bên ngồi, các máy ảo của nó khơng chạy IIS. Một Worker role cho bạn
khả năng để chạy các xử lý ngầm liên tục trên đám mây. Một Worker role có thể làm
việc với queue, table, blob trong dịch vụ lưu trữ. Nó chạy hoàn toàn độc lập với thể
hiện Web role, mặc dù có thể cùng thuộc một phần của dịch vụ. Việc liên lạc giữa
Web role và Worker role có thể thơng qua queue của dịch vụ lưu trữ .
Lập trình viên có thể chỉ sử dụng thể hiện Web role, hay Worker role, hoặc kết hợp
cả hai để tạo ra ứng dụng Windows Azure. Sử dụng Windows Azure portal để thay
đổi số lượng thể hiện của Web role, Worker role tùy theo yêu cầu của ứng dụng.
Khi chạy các thể hiện Web role hay Worker role, các máy ảo cũng chạy đồng
thời các Fabric agent. Các agent phục vụ cho việc tương tác giữa các thể hiện với
3
CHƯƠNG 1
Windows Azure Fabric. Các agent này trình bày các API được định nghĩa để các thể
hiện có thể làm một số việc như: ghi chép, tìm thư mục gốc của tài nguyên lưu trữ cục
bộ trên máy ảo của nó.
Windows Azure cho phép lập trình viên chọn cấu hình máy ảo: một nhân, hai
nhân, bốn nhân và tám nhân. Và để tăng hiệu suất, người sở hữu ứng dụng có thể tăng
số lượng thể hiện đang chạy được đặt tả trong tập tin cấu hình ứng dụng. Windows
Azure fabric sẽ thêm máy ảo mới, gán thêm nhân và bắt đầu chạy ứng dụng. Fabric
cũng dò khi một thể hiện Web role hoặc Worker role bị chết, nó sẽ tạo một thể hiện mới.
1.2.2. Dịch vụ lưu trữ (Storage Service)
Dịch vụ lưu trữ Windows Azure hỗ trợ 3 kiểu dịch vụ: blob, table, queue.
Hình 1.4 - Bộ lưu trữ Windows Azure: Blob, Table, Queue
Một cách đơn giản nhất để lưu trữ dữ liệu là sử dụng blob. Windows Azure blob
có kiến trúc đơn giản: một tài khoản lưu trữ có một hoặc nhiều container, mỗi
container có một hoặc nhiều blob. Blob có thể rất lớn - mỗi blob có thể chứa vài
terabyte dữ liệu. Blob có thể kết hợp với metadata, như thông tin về nơi chụp ảnh hoặc
người sáng tác bài hát.
Một cách khác để sử dụng blob là Windows Azure XDrive, được gắn với mỗi thể
hiện Web role và Worker role. Lưu trữ bên dưới một XDrive là một blob, như vậy mỗi
blob là một ổ đĩa được gắn kết, mỗi thể hiện có thể đọc và ghi dữ liệu như hệ thống tập
tin.
4
CHƯƠNG 1
Để cho phép ứng dụng làm việc với dữ liệu hiệu quả hơn, bộ lưu trữ Windows
Azure cung cấp table. Không giống với bảng quan hệ, các table lưu trữ một tập các
entity với các property. Một table không có giản đồ và các property có nhiều kiểu dữ
liệu khác nhau như int, string, bool, hoặc datetime. Một ứng dụng có thể truy xuất dữ
liệu của table sử dụng ADO.Net Data Service hoặc LINQ. Một table có thể rất lớn,
với vài triệu entity chứa vài terabyte dữ liệu, và bộ lưu trữ Windows Azure có thể
phân vùng nó qua nhiều máy chủ nếu cần cải thiện hiệu suất.
Blob và table tập trung vào lưu trữ dữ liệu, thành phần lưu trữ thứ ba là queue lại
có một mục đích khác. Mục đích chính của queue là cung cấp cách thức để thể hiện
Web role liên lạc với thể hiện Worker role. Ví dụ, một người dùng có thể gửi một
request để thực hiện các nhiệm vụ tính tốn chun sâu qua trang Web được
thực thi bởi Web role. Thể hiện Web role nhận request này và viết một message vào
queue - mô tả công việc được thực hiện. Một thể hiện Worker role đợi queue này, sau
đó đọc message và thực hiện nhiệm vụ.
Bộ lưu trữ Windows Azure có thể được truy xuất bởi một ứng dụng Windows
Azure hoặc bởi một ứng dụng khác. Cả 3 thành phần của bộ lưu trữ Windows Azure
đều sử dụng giao thức REST để truy xuất dữ liệu.
1.2.3. Windows Azure Fabric
Tất cả các ứng dụng Windows Azure và dữ liệu của nó đều tồn tại trên trung tâm
dữ liệu của Microsoft. Bên trong trung tâm dữ liệu này, một tập hợp các máy dành cho
Windows Azure được tổ chức thành một fabric.
5
CHƯƠNG 1
Hình 1.5 - Fabric Controller
Như hình trên, Windows Azure Fabric chứa một một nhóm các máy, tất cả các
máy được quản lý bởi một phần mềm gọi là fabric controller. Fabric controller được
tái tạo qua mỗi nhóm từ 5 đến 7 máy, nó sở hữu tất cả các tài ngun: máy tính,
switch, bộ cân bằng tải (load balancer),… Vì nó có thể giao tiếp với một fabric agent trên
mỗi máy tính nên nó nhận biết được tất cả các ứng dụng Windows Azure trong fabric.
Với các thơng tin có được, cho phép fabric controller có thể làm được nhiều việc
rất hữu ích. Nó theo dõi tất cả các ứng dụng đang chạy. Nó quản lý hệ điều hành, quản
lý việc vá lỗi cho phiên bản của Windows Server 2008. Nó quyết định khi một ứng
dụng mới được tải lên sẽ được chạy trên dịch vụ nào. Để làm được điều này, fabric
controller phụ thuộc vào tập tin cấu hình c ủa mỗi ứng dụng được tải lên. Trong đó, chỉ
ra bao nhiêu thể hiện cần được tạo ra và kích thước các máy ảo là thế nào. Dựa vào đó,
fabric controller tạo ra các máy ảo tương ứng. Khi tạo ra các máy ảo này, fabric
controller sẽ theo dõi các ứng dụng đó. Nếu một ứng dụng cần có 5 thể hiện và một
trong số đó có 1 thể hiện bị "chết", fabric controller sẽ tự động khởi tạo một thể hiện
mới. Nếu một máy ảo đang chạy bị chết, fabric controller sẽ tự động khởi tạo một thể
hiện khác của ứng dụng trên một máy ảo khác, sau đó khởi động lại bộ cân bằng tải để
chỉ đến máy mới này.
Nhằm phục vụ cho tính sẵn sàng của dịch vụ, fabric controller nhóm các máy nó
làm chủ thành một số miền gọi là fault domain. Mỗi miền là một phần của trung tâm dữ
liệu.
6
CHƯƠNG 1
Hình 1.6 - Fabric Controller và Fault Domain
Trong hình trên, giả sử ứng dụng cần 2 thể hiện Web role và trung tâm dữ liệu
được chia làm 2 miền lỗi. Khi fabric controller triển khai ứng dụng này, nó sẽ đặt mỗi
thể hiện Web role vào một miền. Khi có lỗi xảy ra ở một miền nào đó cũng sẽ khơng thể
làm chết hồn tồn ứng dụng của bạn.
Ngồi ra, fabric controller nhóm các thể hiện của ứng dụng thành các miền cập
nhật "update domain".
7
CHƯƠNG 1
Hình 1.7 - Fabric Controller và Update Domain
Khi mã của ứng dụng cần cập nhât, fabric controller sẽ thực hiện cập
nhật trong từng miền. Ví dụ trong hình trên, fabric controller sẽ tiến hành tắt hai
thể hiện 1 và 2 của ứng dụng trước, cập nhật và khởi động lại hai thể hiện này.
Sau đó, tiến hành tương tự cho 2 thể hiện ở miền cịn lại. Mục đích của việc này
là làm cho ứng dụng không bị gián đoạn, khi một ứng dụng đang cập nhật,
người dùng vẫn có thể truy cập đến với phiên bản cũ của ứng dụng cho đến khi
nó cập nhật xong.
9
CHƯƠNG 2
CHƯƠNG 2 : WINDOWS PHONE 7 VÀ CÔNG NGHỆ
SILVERLIGHT
2.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….
10
CHƯƠNG 2
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 đ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.
2.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.
11
CHƯƠNG 2
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.
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.
12
CHƯƠNG 2
2.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 2.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 hồ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 cách cung cấp một trải nghiệm liền mạch trên thiết bị
13
CHƯƠNG 2
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ọ.
2.4 Vòng đời phát triển của 1 ứng dụng Windows Phone
Hình 2.2. Vịng đời phát triển của 1 ứng dụng Windows Phone
2.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ó
14
CHƯƠNG 2
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.
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.
2.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 hồ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.
2.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ợ.
15
CHƯƠNG 2
2.4.4 Xuất bản một ứng dụng
Sau khi một ứng dụng đã được hồ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 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 tốn điện thoại di động điều
hành được hỗ trợ.
2.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.
2.5 Giới thiệu cơng nghệ Silverlight
2.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
16
CHƯƠNG 2
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ỗ 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.
2.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.
17
CHƯƠNG 2
2.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 tố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.
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 ngun 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.
18
CHƯƠNG 2
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.
19
CHƯƠNG 2
2.6 Nghiên cứu công nghệ Silverlight
2.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:
20