CHƯƠNG 2 : WINDOWS PHONE 7 VÀ CÔNG NGHỆ SILVERLIGHT
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:
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 2.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.
a) Dùng Javascript API.
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
Ngồi ra cịn có:
- Image Cache. - Text Engine. - Glyph Cache. - Media Pipeline.
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ề khn 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 2.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, ngồ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.
.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 3.3. Bảng mô tả .Net Framework cho Silverlight 2.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.
Silverlight 2.0:
Ngày 13 tháng 10 năm 2008, Microsoft đã giới thiệu phiên bản thứ 2 của
Silverlight – một trong những giải pháp toàn diện nhất để trải nghiệm sức mạnh
của truyền thông đa phương tiện và phát triển các ứng dụng dành cho web. Một số tính năng nổi bật của Silverlight 2:
Hỗ trợ .NET Framework với một thư viện phong phú, hồn tồn tương thích
với mơi trường .NET Framework.
Các trình điều khiển mạnh. Bao gồm: DataGrid, ListBox, Slider,
ScrollViewer, Calendar và nhiều trình điều khiển khác.
Cung cấp nhiều thư viện mẫu. Dễ dàng xây dựng và điều chỉnh các ứng
dụng .
Siêu Zoom. Tính năng này sẽ hỗ trợ rất tốt những hình ảnh có độ phân giải
cực cao đang dần trở nên phổ biến.
Hỗ trợ toàn diện các hệ thống mạng .REST, WS*/SOAP, POX, RSS và tất
nhiên là cả HTTP, tính năng này sẽ giúp những ứng dụng dễ dàng tích hợp được với các hệ thống sẵn có.
Hỗ trợ nhiều ngơn ngữ lập trình. Khơng chỉ hỗ trợ các ngơn ngữ .NET
Framework, Silverlight 2 có thể hỗ trợ rất nhiều ngơn ngữ lập trình như Visual Basic, C#, JavaScript, IronPython và IronRuby. Điều này sẽ giúp các nhà phát triển dễ dàng hơn trong việc lập trình dựa trên các kỹ năng sẵn có.
Bảo mật nội dung. Tính năng này được tích hợp sẵn trong Silverlight DRM,
cung cấp bởi PlayReady, mang đến khả năng bảo mật mạnh mẽ.
Tăng khả năng lưu trữ cho máy chủ và tạo ra các hội quảng cáo mới.
Tính năng này giúp việc truyền tải dữ liệu tốt hơn dựa trên, tối ưu hóa các
cơng cụ tìm kiếm, hỗ trợ các hình thức quảng cáo thế hệ tiếp theo.
Silverlight 2 có khả năng tương thích với các hệ điều hành phổ biến như Mac, Windows hay Linux, đồng thời nó cũng có thể dễ dàng tích hợp vào các trình duyệt như Firefox, Safari và Windows Internet Explorer.
Những khách hàng đang sử dụng các phiên bản cũ hơn sẽ được tự động cập
nhật lên Silverlight 2. Silverlight 3.0:
Một số đặc điểm bổ sung cho Silverlight ở phiên bản này là việc hỗ trợ cảm ứng đa
điểm (multi-touch), cải thiện chất lượng chữ viết, hỗ trợ cho một số định dạng video mới (chẳng hạn như H.264,MP4, ACC), trình diễn hình ảnh 3D được hồn hảo hơn, tự động tối ưu hóa cộng cụ tìm kiếm và có kích thước nhỏ gọn. Bên cạnh đó, người dùng có thể tương tác cùng ứng dụng Silverlight - hoạt động riêng rẽ với trình duyệt, tức đóng vai trị là một ứng dụng offline.
Silverlight 3 cho phép các nhà phát triển và thiết kế tạo ra những ứng dụng web có tính chất đột phá nhằm mang đến cho khách hàng những trải nghiệm tốt trong môi trường web.
Silverlight 4.0:
Hôm 17/5/2010, Microsoft đưa ra Silverlight 4 Tools for VisualStudio 2010, gói add-on cho Visual Studio 2010 IDE, cung cấp công cụ cho nền tảng Silverlight 4. Nó cung cấp một bộ đầy đủ các tính năng mạnh mẽ để phát triển ứng dụng kinh doanh. Silverlight cung cấp một nền tảng lý tưởng cho việc phát triển và triển khai các ứng dụng kinh doanh hiện đại cho cả hai mặt: khách hàng và nhân viên, các ứng dụng.
Tính năng mới cho các nhà phát triển ứng dụng:
Hỗ trợ in ấn toàn diện cho phép báo cáo bản in và các tài liệu cũng như in
xem ảo, độc lập với nội dung màn hình.
Một tập hợp đầy đủ các hình thức điều khiển với hơn 60 tùy chỉnh, các
thành phần styleable. Nút điều khiển bao gồm RichTextbox với các siêu liên kết, hình ảnh, điều khiển trong dịng, và chỉnh sửa. Tăng cường kiểm soát bao gồm DataGrid với sortable/resizeable cột và copy/paste.
WCF RIA dịch vụ giới thiệu mạng lớp doanh nghiệp và truy cập dữ liệu cho
việc xây dựng các ứng dụng bao gồm cả giao dịch, phân trang dữ liệu, WCF và HTTP cải tiến.
Được xây dựng trong dự án hỗ trợ cho các ứng dụng Silverlight.
Editor với intellisense đầy đủ cho XAML và ngôn ngữ C#,VB. Silverlight 4
mở rộng khả năng cung cấp của một tầng lớp mới của ứng dụng Rich Internet để làm việc trên máy tính để bàn mà khơng có mã bổ sung hoặc runtimes.
Silverlight 5.0:
Silverlight 5 sẽ có 40 tính năng mới. Một số điểm đáng chú ý của Silverlight 5 bao gồm:
Hỗ trợ giải mã Video và đồ họa 3D.
Hỗ trợ cho hệ điều hành 64 bit.
Hỗ trợ điều khiển từ xa.
Cải thiện khả năng tiết kiệm điện năng bằng cách kích hoạt“screen saver”
khi xem video và giúp máy tính chuyển sang chế độ Sleep khi video không chạy.
Tính năng TrickPlay cho phép video có thể được chơi ở nhiều tốc độ khác
CHƯƠNG 3 : GIỚI THIỆU ỨNG DỤNG “HỌC NGỮ PHÁP TIẾNG ANH”
3.1 Phát biểu bài toán
3.1.1. Khảo sát hiện trạng
Nhu cầu thực tế của đề tài
Hiện nay, đối với học sinh, sinh viên và cơng chức thì việc thơng thạo tiếng Anh là một nhiệm vụ gần như là tối thiểu và bắt buộc. Với việc Việt Nam gia nhập WTO và ngày càng giao thương nhiều với nước ngồi thì phần lớn tất cả công ty, tập đồn trong cũng như: ngồi nước đều địi hỏi người làm việc cho họ phải thơng thạo tiếng Anh. Do đó, nhu cầu học tiếng Anh trở nên cấp thiết và là xu thế chung của xã hội hiện nay. Tuy nhiên hiện nay học tiếng anh với ai, ở đâu và như thế nào để tiết kiệm nhất và có hiệu quả cao nhất ln là một câu hỏi khó dành cho các học viên.
Các phần mềm cùng loại hiện có “EnglishGrammar” của
WGAmod chạy trên
Windows Phone
“EnglishGrammar” của TFLAT chạy trên Android
Bảng 3.1. Minh họa các phần mềm học ngữ pháp tiếng anh hiện nay
“EnglishGrammar” của
WGAmod chạy trên
Windows Phone
“EnglishGrammar” của TFLAT chạy trên Android
Cách dùng Gần như đầy đủ các tính năng Đơn giản
Giao diện Chưa sinh động và trực quan. Trực quan chưa sinh động
Ngôn ngữ hổ trợ học Anh-Anh Anh-Việt
Bảng 3.2. So sánh các phần mềm học ngữ pháp tiếng anh hiện nay
Nhóm lập trình chúng em sẽ cố gắng khắc phục các nhược điểm của các phần mềm cùng loại hiện có.
Ngồi ra, chúng em cũng cố gắng xây dựng thêm một số tính năng riêng biệt để phần mềm thêm đặc sắc.
3.1.2. Xác định yêu cầu hệ thống :
* Phần mềm ngữ pháp tiếng anh gồm các chức năng chính sau:
Khởi tạo:
- Hệ thống sẽ phát sinh ra danh sách các ngữ pháp. - Màn hình phát sinh như sau:
Hình 3.1.Hình ảnh danh sách các ngữ pháp Tìm kiếm:
- Người chơi sẽ nhập một chuổi kí tự.
- Hệ thống sẽ tự động tìm kiếm tất cả các nội dung ngữ pháp khi người dùng nhập từng kí tự.
Đánh dấu trang:
- Khi người dùng muốn đánh dấu trang mình đọc chưa hết. - Mỗi lần chỉ có thể đánh dấu 1 trang
- Hệ thống sẽ đánh dấu trang người dùng chưa đọc hết và lần dùng tiếp theo người dùng có thể đọc tiếp
Xem hướng dẫn:
- Người chơi có thể xem hướng sử dụng phần mềm.
3.2. Mơ hình Usecase
3.2.1. Sơ đồ Use-case
Hình 3.2. Sơ đồ Use case phần mềm Ngữ Pháp Tiếng Anh 3.2.2. Danh sách các Actor:
Người Dùng Người dùng điều khiển toàn bộ phần mền.
3.2.3. Danh sách các Use-case:
3.2.4. Đặc tả Use-case
Use-case “Tìm Kiếm”
Người Sử Dụng Tìm Kiếm
stt Tên Use-case Ý nghĩa / Ghi chú
1 Tìm Kiếm
Use-case giúp người dùng tìm kiếm cú pháp những nội dung mà người dùng muốn tìm kiếm.
2 Bookmark
Use-case giúp người sử dụng đánh dấu lại những trang mà người sử dụng đang xem và muốn quay trở lại.
3 Học Ngữ Pháp
Use-case hệ thống sẽ liệt kê ra ngữ cú pháp ngữ pháp để người sử dụng dễ học.
4 Hướng Dẫn
Use-case hệ thống sẽ hiện một bảng hướng dẫn sử dụng giúp người sử dụng dễ dàng trong việc sử dụng phần mền hơn.
Hình 3.3. Sơ đồ Use case “Tìm Kiếm”
Tóm tắt: Use case giúp người sử dụng tìm kiếm những cú pháp nội dung
tiếng anh.
Các dịng sự kiện chính:
B1 : Người chơi nhấn vào nút “Tìm Kiếm”.
B2 : Hệ thống sẽ đưa người sử dụng vào mục tìm kiếm .
Các dịng sự kiện khác: Nếu người sử dụng khơng nhấn vào nút tìm kiếm
thì khơng thể thực hiện Use case.
Các yêu cầu đặc biệt: Yêu cầu người dùng nhấn vào nút Tìm Kiếm.
Trạng thái hệ thống khi bắt đầu thực hiện Use-case: Yêu cầu người dùng
nhấn vào nút Tìm Kiếm.
Trạng thái hệ thống sau khi thực hiện Use-case: Người sử dụng bước vào
tìm kiếm.
Use-case “Bookmark”
Người Sử Dụng Bookmark
Hình 3.4. Sơ đồ Use case “Bookmark”
Tóm tắt: Use case hệ thống sẽ cho người sử dụng đánh dấu lại trang.
Các dịng sự kiện chính:
B1 : Người sử dụng nhấn vào nút đánh dấu “bookmark”. B2 : Hệ thống sẽ lưu lại trang vừa đánh dấu.
B3 : Tìm kiếm gồm : các cú pháp,ngữ pháp, nội dung tiếng anh …
Các dòng sự kiện khác: Nếu người dùng khơng nhấn vào nút tìm kiếm thì
khơng thể thực hiện Use case.
Các yêu cầu đặc biệt: Yêu cầu người sử dụng vào nút Bookmark.
Trạng thái hệ thống khi bắt đầu thực hiện Use-case: Yêu cầu người dùng
nhấn vào nút Bookmark.
Trạng thái hệ thống sau khi thực hiện Use-case: Trang được đánh dấu sẽ
được lưu lại trong Bookmark. Điểm mở rộng : Khơng có.
Use-case “Học Ngữ Pháp”
Người Sử Dụng Học Ngữ Pháp
Hình 3.5. Sơ đồ Use case “Học Ngữ Pháp”
Tóm tắt: Use case hệ thống sẽ liệt kê ra những cú pháp ngữ pháp.
Các dịng sự kiện chính: