1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia

140 538 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Tác giả Thân Hoàng Lộc, Nguyễn Anh Việt, Lưu Xuân Việt
Người hướng dẫn TS. Nguyễn Chánh Thành
Trường học Trường Đại Học
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo đồ án tốt nghiệp
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 140
Dung lượng 3,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Silverlight là một nền chéo, nền trình duyệt chéo của RIAs - Silverlight hỗ trợ phát lại Windows Media và các file âm thanh trên PC và MAC mà không phụ thuộc vào Windows Media Player -

Trang 1

SVTH: Thân Hoàng Lộc Trang 1

Nguyễn Anh Việt

Lưu Xuân Việt

Phần I:

TỔNG QUAN VỂ SILVERLIGHT

Chương 1:

GIỚI THIỆU VỀ SILVERLIGHT

I KHÁI QUÁT SILVERLIGHT

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 (phương tiện truyền thông) Hiện nay Silverlight đang có hai phiên bản là Silverlight 1.0 dùng phát triển ứng dụng bằng ngôn ngữ Javascript và một phiên bản Silverlight 2.0 bằng các ngôn ngữ NET framework (khung) 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 (extensible application markup language – Ngôn ngữ đánh dấu mở rộng) đầ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

Về mặt căn bản thì công nghệ này có sự khác biệt Trong khi Flash sử dụng định dạng nhị phân semi-open, thì Silverlight dựa trên nền WPF Thực tế trước khi công nghệ mới này của Microsoft được đặt tên là Silverlight thì nó đã có tên mã là WPF/e (Windows Presentation Foundation Everywhere)

Trang 2

SVTH: Thân Hoàng Lộc Trang 2

Nguyễn Anh Việt

Lưu Xuân Việt

có gì mới, Microsoft đang nói về công nghệ gọi là WPF/e trước đây hơn 1 năm.Quan tâm đầy đủ thì đây là sự lẫn lộn xung quanh WPF/e có nghĩa là gì, tên cần thay đổi với cái gì

đó hoàn toàn khác, một tên mà không liên quan tới WPF/e với khách hàng thông minh, thế hệ kế tiếp của nền Giao diện người dùng (UI) Nền tảng biểu diễn Windows( WPF)

Ý tưởng của chữ e ở cuối WPF là chuyển WPF đi khắp mọi nơi Nhưng đây đơn giản không phải là một trường hợp WPF này là một phần nhân của NET 3.0 và yêu cầu 30MB khi chạy WPF/e có 2MB khi download, chạy trong bộ trình duyệt, và chạy trên nhiều nền tảng khác nhau.Và nhiều nền ở đây không có nghĩa là WindowsXP và WindowsVista; Nó có nghĩa là Windows và Apple Macintosh.Nó hoạt động trên bộ trình duyệt web safari trong Apple Macintosh được phục vụ từ một Máy chủ web Apache chạy trên Linux Tên WPF/e không phải là đại diện đầy đủ cho việc đáng kinh ngạc của công nghệ mới này, vì vậy mà SilverLight đựơc công bố như tên mới tại Mix’07

Kiến trúc của Silverlight cũng khá phức tạp Hệ thống đồ họa đảm bảo mọi thứ cho giao diện người dùng, như animation, text, âm thanh, hình ảnh Plug-in được tích hợp vào trình duyệt để thể hiện ứng dụng Silverlight, để giao tiếp bằng JavaScript DOM và ứng dụng Silverlight có thể gọi các hàm trên server như một dạng web service

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

Trang 3

SVTH: Thân Hoàng Lộc Trang 3

Nguyễn Anh Việt

Lưu Xuân Việt

1 Silverlight (Ánh sáng bạc) là gì?

SilverLight đơn giản là một nền Web được xây dựng để chạy RIAs Một phần của nền web đó thực chất là một Plug-in mà chạy bên trong bộ trình duyệt

- Silverlight là một nền chéo, nền trình duyệt chéo của RIAs

- Silverlight hỗ trợ phát lại Windows Media và các file âm thanh trên PC và MAC

mà không phụ thuộc vào Windows Media Player

- Sử dụng XAML, HTML, và JavaScript, nó hỗ trợ đồ họa, hoạt ảnh, đa phương tiện và mở rộng ra hơn những gì mà AJAX có thể hỗ trợ

về chi phí trên tất cả các trình duyệt chính như FireFox, Safari, và Internet Explorer chạy trên nền Mac hoặc Windows Với Expression Studio và Visual Studio, nhà phát triển và nhà thiết kế có thể hợp tác một cách hiệu quả, dùng các kỹ năng hiện có để phát triển các sản phẩm Web tương lai

2 Silverlight – Ứng dụng cơ bản với sự phong phú trong đồ họa và tương tác với người dùng (User)

Người lập trình Web và thiết kế đồ họa có thể tạo ra nhiều ứng dụng Silverlight cơ bản với sự đa dạng trong cách thể hiện Ta cũng có thể sử dụng Silverlight Markup để tạo

ra Media và Graphics và vận dụng chúng với sự đa dạng của ngôn ngữ và quản lý Code

Trang 4

SVTH: Thân Hoàng Lộc Trang 4

Nguyễn Anh Việt

Lưu Xuân Việt

Silverlight cũng cho phép bạn sử dụng những công cụ chất lượng chuyên nghiệp như Visual Studio cho coding và Microsoft Expression Blend cho thiết kế hình ảnh và giao diện

3 Nét đặc trưng của Silverlight.

Silverlight kết hợp nhiều kỹ thuật trong việc phát triển một nền tảng đơn mà cho phép ta chọn lựa những công cụ và ngôn ngữ lập trình thích hợp mà ta cần tới Các tính năng của Silverlight:

- WPF và XAML: Silverlight gồm có một tập kỹ thuật con WPF (Windows Presentation Foundation) gồm nhiều thành phần mở rộng trong trình duyệt dành cho UI WPF cho phép ta tạo ra những hình ảnh, hoạt cảnh (amination), media và nhiều nét đặc trưng phong phú trên máy trạm (Client), phần mở rộng của trình

duyệt cơ bản UI ngoại trừ những gì chỉ có hiệu lực với HTML XAML (Extensible Application Markup Language) cung cấp một cú pháp khai báo “Markup” tạo ra

các phần tử để xây dựng những ứng dụng Silverlight cơ bản như: text, controls, graphics, và animation

- Mở rộng với JavaScipt Silverlight không những cung cấp những phần mở rộng của các ngôn ngữ kịch bản trong nhiều trình duyệt phổ biến mà còn cung cấp các

“Control” bên trong trình duyệt UI, bao gồm cả khả năng làm việc với các phần tử

WPF

- Hỗ trợ những nền tảng (platform), trình duyệt đa nhiệm Silverlight chạy trên hầu hết các trình duyệt đa nhiệm (Bất kỳ nền tảng nào) Chúng ta có thể thiết kế và trình bày mà không phải lo lắng về vấn đề trình duyệt nào hoặc nền tảng nào

(platform) và người sử dụng có hay không

- Tương thích với mọi ứng dụng hiện tại Silverlight tương thích hoàn toàn với với

mã JavaScript, ASP.NET AJAX hiện nay kể cả những hàm mở rộng ta đã khởi tạo

Ta có thể khởi tạo một tài nguyên cơ bàn trên máy chủ (Server) trong ASP.NET và

Trang 5

SVTH: Thân Hoàng Lộc Trang 5

Nguyễn Anh Việt

Lưu Xuân Việt

- Mạng hỗ trợ Silverlight được hỗ trợ HTTP qua giao thức TCP Ta có thể kết nối những dịch vụ: WCF, SOAP, hoặc ASP.NET AJAX và thu nhận dữ liệu XML, JSON, hoặc RSS

4 Chạy Silverlight cơ bản

- Ứng dụng Silverlight cơ bản chạy trên các trình duyệt Những ứng dụng được tạo

ra trong Silverlight chắc chắn sẽ chạy được trên các trình duyệt mà không cần phải thêm một đoạn mã (Code) mới nào Để chạy được những ứng dụng Silverlight cơ bản này, người dùng (User) cần đến 1 trình nhúng (Plug-in) nhỏ vào trong trình duyệt Plug-in này hoàn toàn miễn phí Nếu người dùng chưa cài đặt Plug-in, chúng sẽ tự động nhắc người dùng cài đặt vào Việc tải về và cài đặt chỉ trong vòng vài giây và phụ thuộc vào việc mong muốn hay loại bỏ việc cài đặt phía người dùng

5 Tạo một ứng dụng Silverlight cơ bản

Chúng ta có thể tạo một ứng dụng Silverlight cơ bản sử dụng bất kỳ NET Framework nào với sự hỗ trợ của ngôn ngữ (bao gồm Visual Basic, C#, và JavaScript) Visual Studio 2008 và Expression Blend cung cấp và hỗ trợ cho sự phát triển ứng dụng Silverlight Chúng ta cũng có thể tạo một trang Web mà sử dụng cả hai phần tử WPF và HTML với Silverlight Cũng giống như HTML, XAML cũng cho phép ta tạo ra những UI cho những nền ứng dụng Web với những cú pháp đã khai báo Nhưng có sự khác biệt là XAML cung cấp nhiều phần tử mạnh mẽ hơn

Trang 6

SVTH: Thân Hoàng Lộc Trang 6

Nguyễn Anh Việt

Lưu Xuân Việt

II BẢN ĐỒ SILVERLIGHT

Chủ đề này cung cấp một cái nhìn tổng thể về những nét đặc trưng chính trong việc phát triển ứng dụng cơ bản Silverlight Nó bao gồm những bước phổ biến để tạo một ứng dụng cơ bản Silverlight với những đoạn code ví dụ giúp bạn trong những bước đầu viết code

Chủ đề này bao gồm những phần sau:

1 Yêu cầu cơ bản ( Prerequisites )

Bạn có thể chạy tất cả các ví dụ có trong chủ đề này mà không cần cài đặt thêm bất

cứ cái gì ngoại trừ trình thực thi Silverlight 2 Bên cạnh đó, nếu bạn muốn thêm vào hay sửa đổi ví dụ, bạn sẽ cần phải thêm những công cụ Silverlight và làm việc với một đề án (project) Silverlight

Chủ đề này sử dụng ứng dụng API cho Silverlight Bạn cũng cần phải trình bày ứng dụng nền Silverlight sử dụng JavaScript API cho Silverlight

Trang 7

SVTH: Thân Hoàng Lộc Trang 7

Nguyễn Anh Việt

Lưu Xuân Việt

XAML có trong Silverlight là một tập con của XAML trên NET 3.0, trong đó đã

bị hạn chế một số tính năng như đồ họa 3D nhằm giữ tính tương thích trên nhiều nền tảng

và trình duyệt khác nhau

Bạn có thể tạo tất cả các UI của mình trong XAML, hoặc bạn có thể sử dụng Microsoft Expression Blend để xây dựng các UI trong ứng dụng của mình Expression Blend là một bộ công cụ thiết kế với giao diện thiết kế WYSIWYG để tạo nên những trình ứng dụng nền Silverlight Expression Blend sinh ra một file XAML mà bạn có thể dùng để soạn thảo trực tiếp Bạn cũng có thể móc nối những sự kiện và viết code-behind với Expression Blend

4 Layout

Khi tạo một ứng dụng nền Silverlight, điều đầu tiên bạn cần phải làm là xác định việc bố trí giao diện (UI) như thế nào Silverlight cung cấp 3 loại panel bố trí để bạn có

Trang 8

SVTH: Thân Hoàng Lộc Trang 8

Nguyễn Anh Việt

Lưu Xuân Việt

thể sử dụng Trong 3 loại đó, panel Grid có tính chất mềm dẻo và mạnh mẽ nhất, do đó giá trị mặc định ban đầu là Grid

Container Mô tả

Canvas Vị trí tuyệt đối của những phần tử con trong không gian x,y

StackPanel Vị trí tương đối của 1 phần tử con với một phần tử khác theo chiều

ngang hoặc chiều dọc

Grid Vị trí của những phần tử con trong hàng và cột

Trong ví dụ dưới đây, một phần tử hình chữ nhật là chỗ ô 1,1 của 1 Grid Grid sử dụng chỉ mục bắt đầu là 0, vì vậy hình chữ nhật xuất hiện ở ô phải-dưới

Trang 9

Xuyên suốt Silverlight với những ví dụ mẫu mặc định cho mỗi loại Control và thấy được cách dùng những Control như thế nào Tuy nhiên, bạn cũng có thể tạo nên những mẫu riêng thay đổi sự xuất hiện và cách cách xử lí nhìn trực quan hơn đối với tất cả các Control

Tiếp theo ví dụ ở trên, Chúng ta thêm một Button vào ô 0,0 của Grid

XAML

Nguyễn Anh Việt

Lưu Xuân Việt

Trang 10

Nguyễn Anh Việt

Lưu Xuân Việt

Trang 11

SVTH: Thân Hoàng Lộc Trang 11

Nguyễn Anh Việt

Lưu Xuân Việt

6 Thêm những Code Logic (Adding Code Logic)

Mặc định, trong một đề án Visual Studio gồm có một tập tin mã (code file), đôi khi

sẽ gọi một tập tin code behind Tập tin code thuần một ngôn ngữ và được Silverlight hỗ

trợ (Support) trong suốt quá trình thực thi (CLR – Common Language Runtime) ví dụ

như: C# hoặc Visual Basic

Tên của tập tin Code-Behind là Page.xaml và nó gắn liền với loại ngôn ngữ đã được chọn

(Trong ví dụ này là Page.xaml.cs) Tập tin Code-Behind là nơi mà chúng ta có thể thay

đổi cấu trúc logic những đối tượng trong XAML Chúng ta có thể tạo những đối tượng UI

trong đoạn code và thêm chúng lên cây hiển thị các phần tử Trong việc thêm vào này,

chúng tạo nên những lớp bên trong tập tin code-behind (Hoặc bất kỳ tập tin code nào

trong đề án) có thể truy xuất được trong XAML

Trong ví dụ sau chúng ta thêm vào một sự kiện Click nhằm thay đổi màu của hình chữ

nhật thành màu xanh

Trong XAML, thêm một sự kiện click vào Button và thuộc tính x:Name vào Rectangle

X:Name cho phép chúng tham chiếu vào trong Rectangle trong tập tin Code-Behind:

Trang 12

SVTH: Thân Hoàng Lộc Trang 12

Nguyễn Anh Việt

Lưu Xuân Việt

7 Ngôn ngữ chức năng (Dynamic Languages)

Những công cụ trong Visual Studio cho Silverlight bao gồm ngôn ngữ thực thi chức năng (Dynamic Language Runtime - DLR) cho phép người dùng sử dụng các ngôn

ngữ chức năng như Python và Ruby để viết ứng dụng nền Silverlight Ngôn ngữ chức

năng là những gói mã nguồn ( Source code) không biên dịch trong quá trình lắp, nối (assemblies) và mã (code) của chúng có thể được sinh ra và biên dịch trong quá trình thực thi Chúng tương thích tốt và mền dẻo trong quá trình tương tác trình bày Silverlight bao gồm 3 ngôn ngữ chức năng: IronPython, IronRuby, and Managed Jscript

8 Đồ họa (Graphics)

Silverlight cung cấp nhiều tùy chọn trong việc thêm vào những tính năng trực quan trong ứng dụng của bạn Bạn có thể sử dụng thuật vẽ (Drawing), khuôn hình (Shapes), đường vẽ (paths) và những hình học phức tạp Khu vực khai báo hình học có thể được lấp đầy bởi nhiều hiệu ứng như: hình ảnh, độ nghiêng màu hoặc những Video clip

Bạn cũng có thể thêm vào hình ảnh hoặc hiệu ứng hình ảnh trong ứng dụng Silverlight cũng tính đến cách nhìn theo chiều sâu (Deep Zoom) cho phép bạn dễ dàng nhìn thấy và quét góc nhìn chi tiết những hình ảnh

Ví dụ đầy đủ về hình chữ nhật với những bút kẻ nghiêng (linear gradient brush):

Trang 13

SVTH: Thân Hoàng Lộc Trang 13

Nguyễn Anh Việt

Lưu Xuân Việt

<GradientStop Offset="0" Color="LightBlue"/>

<GradientStop Offset="0.4" Color="Blue"/>

<GradientStop Offset="0.8" Color="Purple"/>

<GradientStop Offset="1.0" Color="Lavender"/>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

9 Media và Animation (Media and Animation)

Ngoài việc thêm vào những hình tĩnh, bạn có thể thêm vào những ảnh động, âm thanh (audio) và video nhằm tạo nên nhiều tính năng và sự tương tác cho ứng dụng

Tiếp theo ví dụ tạo hình chữ nhật ở ví dụ trước Chúng sẽ tự phóng to và thu nhỏ cho tới khi nhấp vào button Stop

Trang 14

SVTH: Thân Hoàng Lộc Trang 14

Nguyễn Anh Việt

Lưu Xuân Việt

Storyboard.TargetProperty="Height"

From="0" To="100" AutoReverse="True" Duration="0:0:02"

RepeatBehavior="Forever"/>

<DoubleAnimation Storyboard.TargetName="rect1"

Storyboard.TargetProperty="Width"

From="0" To="100" AutoReverse="True" Duration="0:0:04"

Trang 15

SVTH: Thân Hoàng Lộc Trang 15

Nguyễn Anh Việt

Lưu Xuân Việt

Trang 16

SVTH: Thân Hoàng Lộc Trang 16

Nguyễn Anh Việt

Lưu Xuân Việt

Dữ liệu có thể mang vào trong ứng dụng từ những nguồn (Source) cung cấp dồi dào Chẳng hạn như nguồn cung cấp RSS, nhưng thường định dạng theo kiểu XML Silverlight bao gồm XmlReader và LINQ dùng cho việc phân tách dữ liệu XML LINQ thích hợp cho việc phân tách những phần dữ liệu nhỏ

11 Hệ thống mạng (Networking)

Silverlight cung cấp vài nét đặc trưng trong sự kết nối truyền thông Lớp WebClient điều khiển sự truyền tải nội dung tới máy trạm (Client) Bạn cũng có thể sử dụng lớp WebClient để gởi và nhận một thông điệp XML đơn giản Ứng dụng nền

Trang 17

SVTH: Thân Hoàng Lộc Trang 17

Nguyễn Anh Việt

Lưu Xuân Việt

Silverlight cũng có thể truy xuất Web Service như là WCF (Windows Communication Foundation), SOAP, và ASP.NET AJAX

III KIẾN TRÚC SILVERLIGHT (Silverlight Architecture)

Silverlight không chỉ là một bức tranh đa dạng quyến rũ, tương tác với Web và chứa đựng Media đến với người dùng cuối (end user) Mà sức mạnh của nó là yêu cầu nền tảng phát triển nhẹ nên tính linh động cao, nền tảng đa nhiệm, ứng dụng mạng tích hợp nhiều dữ liệu và dịch vụ từ nhiều nguồn khác nhau Hơn nữa, Silverlight cho phép bạn xây dựng những giao diện người dùng với sự thay đổi đáng kể những nét đặc trưng bởi kinh nghiệm từng trải của người dùng cuối so sánh được với những ứng dụng Web truyền thống

Trong khi Silverlight đóng vai trò như là một ứng dụng khách bên cạnh môi trường thực thi đơn và gói gọn trong 1 kích cỡ nào đó Và nền tảng phát triển Silverlight hòa nhập với một số nét đặc trưng tiêu biểu với kỹ thuật phức tạp, chúng tạo nên sự gần gũi với người lập trình Để tạo một ứng dụng nền Silverlight hiệu quả, người lập trình cần phải làm việc và am hiểu kiến trúc nền vững chắc

Chú ý:

Phiên bản Silverlight 2 hỗ trợ 2 kiểu lập trình: JavaScript API đối với Silverlight

và Quản lý (the Managed) API đối với Silverlight Quản lý API là một tập con của NET FrameWork Nhiều nét đặc trưng của Silverlight mà chỉ có Managed API mới hỗ trợ được

1 Nền tảng Silverlight (The Silverlight Platform) Nền tảng Silverlight gồm có 2 phần chính: Cài đặt và nâng cấp các thành phần Được mô tả như bảng sau:

Trang 18

SVTH: Thân Hoàng Lộc Trang 18

Nguyễn Anh Việt

Lưu Xuân Việt

.NET

Framework cho

Silverlight

Một tập hợp con của NET Framework chứa đựng những thành phần

và thư viện, bao gồm tích hợp dữ liệu control Windows mở rộng, hệ thống mạng, lớp thư viện cơ bản, tập hợp dữ liệu rác và CLR (common Language Runtime) Một vài phần của NET Framework cho Silverlight là sự triển khai cùng với ứng dụng Nhiều thư viện Silverlight (Silverlight Libraries) là sự hợp thành không phải trong lúc thực thi và trong phần mở rộng của Silverlight SDK Những thư viện Silverlight sử dụng sẽ được đóng gói cùng với ứng dụng và được tải lên trình duyệt Bao gồm: những Control UI mới, XLINQ, Syndication (RSS/Atom), XML serialization và DLR (dynamic language runtime)

Trang 19

Hình 3 Bảng mô tả các thành phần hợp thành kiến trúc Silverlight, các thành phần quan

hệ và dịch vụ

Nguyễn Anh Việt

Lưu Xuân Việt

Trang 20

SVTH: Thân Hoàng Lộc Trang 20

Nguyễn Anh Việt

Lưu Xuân Việt

Có những giá trị riêng trong việc thiết lập nối kết các công cụ, kỹ thuật, kể cả những dịch vụ trong nền Silverlight: chúng dễ dàng giúp người lập trình tạo nên sự phong phú, khả năng tương tác và ứng dụng mạng Mặc dù dễ dàng thực hiện việc xây dựng những ứng dụng sử dụng những công cụ và kỹ thuật web hiện nay Người lập trình vẫn bị cản trở bởi những kỹ thuật khó Kể cả sự không tương thích nền tảng lập trình, sự khác nhau trong phương thức truyền và định dạng tập tin, và sự khác nhau trong những trình duyệt Web dẫn đến những trang hồi đáp, những tập lệnh truy xuất khác nhau Một ứng dụng Web phong phú có thể chạy hoàn toàn tốt trên một hệ thống và trình duyệt nhưng nó cũng có thể hoạt động không tốt trên một hệ thống và trình duyệt khác, hoặc không chạy được Các mảng kỹ thuật, phương thức truyền và công cụ ngày nay rất rộng, nó rất là có quy mô…

- Có khả năng tạo những ứng dụng tương tự mà người dùng đã từng trải trên những trình duyệt và nền tảng đa nhiệm Vì vậy chúng trông bắt mắt hơn và dễ thực thi hơn ở bất cứ nơi đâu

- Sự tích hợp dữ liệu và dịch vụ từ nhiều hệ thống mạng vào trong ứng dụng sử dụng

những lớp NET Framework và các hàm xử lý quen thuộc

- Media phong phú, thuyết phục và giao diện gần gũi với người dùng (UI)

- Silverlight dễ dàng tạo dựng cho người phát triển xây dựng những ứng dụng Bởi

vì nó khắc phục nhiều sự không tương thích trong những kỹ thuật hiện hành và cung cấp bên trong một nền tảng công cụ tạo dựng phong phú, nền tảng đa nhiệm

và những ứng dụng đồng nhất

Trang 21

SVTH: Thân Hoàng Lộc Trang 21

Nguyễn Anh Việt

Lưu Xuân Việt

2 Các thành phần bên trong (Core Presentation Components)

Tính năng Miêu tả

Input Những xử lý được nhập vào từ những thiết bị phần cứng như: bàn phím,

chuột, bút vẽ (drawing) hoặc một thiết bị nhập khác

UI rendering Định hướng mô tả và những ảnh đồ họa bitmap, hình động (animations) và

văn bản (text)

Media Phát lại với nét đặc trưng và cách quản lý các tập tin audio và video khác

nhau, chẳng hạn như những tập tin với phần mở rộng: WMP và MP3

Controls Hỗ trợ những control mở rộng mà có thể tùy biến tạo mẫu xuyên xuốt ứng

dụng

Layout Cho phép bố trí các chứng năng của các thành phần UI

Data binding Cho phép nối kết những đối tượng và thành phần UI

DRM Cho phép quản lý số hóa các tài nguyên media

XAML Cung cấp một sự phân chia và đánh dấu cho XAML

Bảng mô tả các thành phần bên trong tiêu biểu của nền tảng Silverlight thể hiện trên hình 3

Người phát triển cũng tương tác với Framework thể hiện này bởi sử dụng XAML chỉ định rõ những chi tiết trình bày XAML là điểm chính của sự tương tác giữa NET Framework và các lớp thể hiện Người phát triển có thể vận dụng những cách lập trình để thể hiện các lớp trong cách quản lý code

Trang 22

SVTH: Thân Hoàng Lộc Trang 22

Nguyễn Anh Việt

Lưu Xuân Việt

DLR (dynamic

language runtime)

Hỗ trợ biên dịch những chức năng và thi hành những ngôn ngữ kịch bản như JavaScript và IronPython trong những chương trình ứng

Trang 23

SVTH: Thân Hoàng Lộc Trang 23

Nguyễn Anh Việt

Lưu Xuân Việt

Người phát triển có thể tương tác với những lớp NET Framework của Silverlight bằng cách viết những mã (code) quản lý sử dụng ngôn ngữ C# hoặc Visual Basic Người phát triển NET Framework cũng có thể truy xuất những lớp thể hiện thông qua Visual Studio 2008 hoặc Microsoft Expression Blend

Việc thêm vào chương trình Silverlight những tính năng giúp cho người phát triển tạo được sự đa dạng và phong phú cho ứng dụng Bao gồm những tính năng mô tả trong bảng sau:

Tính năng Miêu tả

Isolated storage

Cung cấp sự truy xuất an toàn từ máy trạm (Client) Silverlight tới những tập tin cục bộ hệ thống Cho phép lưu giữ cục bộ và tạm thời những dữ liệu riêng của người dùng

Asynchronous

programming

Một nền của người làm việc với những chuỗi chứa đựng những yêu cầu lập trình bên ngoài trong khi ứng dụng không ràng buộc người sử

Trang 24

SVTH: Thân Hoàng Lộc Trang 24

Nguyễn Anh Việt

Lưu Xuân Việt

Cho phép người lập trình NET Framework trực tiếp thao tác trên phần

tử UI trong HTML DOM của trang Web Người lập trình Web cũng có thể sử dụng JavaScript để gọi trực tiếp những code quản lý bên trong

và truy xuất đối tượng scriptable, thuộc tính (properties), Sự kiện (events), và phương thức (methods)

Serialization Cung cấp sự hỗ trợ đa dạng của kiểu CLR với JSON và XML

Packaging

Cung cấp những lớp ứng dụng và xây dựng công cụ tạo những gói xap Những gói xap chứa đựng ứng dụng và những điểm tiếp nhận điều khiển (control) việc chạy của Silverlight plug-in

XML libraries

Những lớp XmlReader và XmlWriter đơn giản hóa việc làm việc với

dữ liệu XML từ những dịch vụ Web (Web services) Tính năng Xlinq cho phép người lập trình truy vấn dữ liệu trực tiếp bên trong ngôn ngữ lập trình NET Framework

4 Hỗ trợ những hệ điều hành và trình duyệt

Bởi vì Silverlight là một ứng dụng nền đa nhiệm, chúng chạy trên hầu hết những trình duyệt Web hiện hành

Trang 25

Hình 4: Bảng mô tả tính tương thích của hệ điều hành và trình duyệt

(Nguồn http://www.microsoft.com/silverlight/resources/install.aspx#sysreq )

IV MÔ HÌNH ỨNG DỤNG VÀ LẬP TRÌNH

Mục tiêu của Silverlight 2 đối với hầu hết các ứng dụng là viết code quản lý sử dụng những ứng dụng mới nhất trong Silverlight Bên cạnh đó, bạn có thể sử dụng những tùy chọn để làm đơn giản hóa thay cho những mẫu lập trình

Silverlight cung cấp 2 kiểu lập trình riêng biệt trong việc xây dựng những ứng dụng:

Nguyễn Anh Việt

Lưu Xuân Việt

Trang 26

SVTH: Thân Hoàng Lộc Trang 26

Nguyễn Anh Việt

Lưu Xuân Việt

- Quản lý API với Silverlight Mục đích nhằm biên dịch và chạy code trên CLR (common language runtime) hoặc trên DLR (dynamic language runtime) đối với Silverlight

- JavaScript với Silverlight Thể hiện lên trình duyệt sử dụng code JavaScript

Những mô hình lập trình này hoàn toàn khác biệt bởi vì chúng ta không thể đồng thời sử dụng cả hai kiểu lập trình trên đối với một trường hợp cụ thể trong một Silverlight plug-in Tuy nhiên, bạn cũng có thể thi hành việc trang trí màn hình nền bằng cách sử dụng một đoạn code JavaScript khi chuyển trạng thái qua managed API trong lúc tải ứng dụng lên

The managed API cung cấp nhiều hàm xử lý hơn JavaScript API, và đây là một điểm nổi bật của Silverlight Những ứng dụng sử dụng managed API truy xuất tới những phiên bản NET Framework nhẹ hơn Còn đối với JavaScript API chỉ truy xuất và thể hiện nội dung của Silverlight và những đoạn JavaScript nhúng vào trình duyệt

1 Lập trình quản lý và mô hình ứng dụng (Managed Programming and the Application Model)

Managed API cho phép bạn gói những trình điều khiển và những tập tin tài nguyên vào trong một gói tập tin ứng dụng (.xap) Silverlight plug-in có nhiệm vụ tải những gói ứng dụng này lên và rút trích nội dung bên trong

Một gói ứng dụng chỉ chứa một nhóm hành động với những lớp đã được khai báo trên ứng dụng Lớp ứng dụng gói gọn sự tương tác giữa ứng dụng và Silverlight plug-in Chẳng hạn như, nó cho phép bạn trình bày một giao diện người dùng tương tác với trang web chủ Thêm vào đó, nó cung cấp những event của ứng dụng thường trực và quản lý tài nguyên

Trang 27

SVTH: Thân Hoàng Lộc Trang 27

Nguyễn Anh Việt

Lưu Xuân Việt

Điểm mạnh của Silverlight là sử dụng những mô hình ứng dụng giới hạn đề cập tới những gói ứng dụng và những hàm đã được đóng gói bởi những lớp Application Mô hình ứng dụng giúp chúng ta trình bày được cả những ứng dụng đơn giản và phức tạp Có thể

mở rộng ứng dụng này bằng cách chia sẻ những tài nguyên trên mạng

A Managed API for Silverlight

Bạn có thể sử dụng ngôn ngữ đánh dấu XAML gói gọn những giao diện người dùng đã thiết kế vào trong managed API và JavaScript API Với managed API, bạn có thể đưa thừa số code ứng dụng vào nhiều tập tin (File) và cung cấp thêm code-behind kèm theo

Khi Silverlight plug-in tải những những tập tin XAML lên, nó sẽ tạo ra một cây đối tượng mà những mã bên trong (code-Behind) có thể thao tác Những mã quản lý ứng dụng cũng có thể được thao tác bởi HTML DOM (Document Object Model) thông qua cầu nối HTML

Silverlight API định nghĩa việc thiết lập đối tượng y như là một cây đối tượng mà cho phép bạn chứa đựng nội dung khởi tạo ban đầu của ứng dụng nền Silverlight được tải lên bởi XAML, và điều chỉnh cây đối tượng này trong thời gian thực thi Bên trong managed API, sự tương tác với cây đối tượng Silverlight là định nghĩa với managed code

Sử dụng CLR, managed code là sự biên dịch vào bên trong assembly Assembly tiêu biểu cũng chứa đựng XAML cho ứng dụng nền Silverlight Managed code có thể Support cho

mô hình ứng dụng Silverlight, và có thể gọi hồi đáp của đối tượng trong suốt thời gian sống của những event, hoặc là những event khởi tạo user Bạn cũng có thể sử dụng managed code để viết những lớp hỗ trợ, định nghĩa những đối tượng data, và cho nhiều những kịch bản ứng dụng khác Bạn cũng có thể sử dụng DLR nhiều hơn CLR, vấn đề này đang được tranh luận trong Dynamic Languages in Silverlight 2

Trang 28

SVTH: Thân Hoàng Lộc Trang 28

Nguyễn Anh Việt

Lưu Xuân Việt

là một vấn đề xuất phát từ những lớp hoặc control hiện hành được hỗ trợ một cách hữu ích trong những hàm xử lý cơ bản Và cũng có thể khai báo bằng một số phần tử hỗ trợ như: tạo mới một control template, cập nhật những lớp event handle…v…v…Mở rộng việc quản lý code cũng là khái niệm cơ bản của việc quản lý và lập trình NET Framework và đây cũng không phải là một vấn đề đơn giản trong Silverlight

b Cây đối tượng (Object Trees)

Cây đối tượng là khái niệm tồn tại trong JavaScript API, và sự vận dụng cây vào trong mô hình này cũng có giới hạn bởi vì nó không có một đối tượng kỹ thuật khởi tạo Trong quản lý API, bạn có thể gọi hàm khởi tạo bên trong những lớp và có thể thêm vào cây mà không cần sử dụng phân tích XAML làm trung gian Thật ra, bạn có thể xây dựng một cây thật quy mô hoàn toàn trong khai báo code bằng cách gọi sự khởi tạo liên tục và thêm những đối tượng vào cây đối tượng bắt đầu từ root và xuyên suốt trong các thuộc tính con (Children)

Bạn có thể tham chiếu các đối tượng trong cây đối tượng suốt thời gian thực thi của Silverlight bằng cách quản lý code hoặc JavaScript

Trang 29

SVTH: Thân Hoàng Lộc Trang 29

Nguyễn Anh Việt

Lưu Xuân Việt

Code-Behind là một thuật ngữ sử dụng miêu tả code tham gia vào một lớp thành phần với trang XAML khi tạo dựng hoặc biên dịch ứng dụng

d Chuẩn hóa tương tác DOM (Formalized DOM Interaction)

Trong JavaScript API, tham chiếu đối tượng hoặc biến trong HTML DOM từ Silverlight nguyên bản hoặc ngược lại không có liên quan gì bởi vì chính nó đã có thể trình bày được bởi sự tồn tại của nó trong trình duyệt hoặc trong một phạm vi nào đó Trong code quản lý API, một phân đoạn định dạng đã tồn tại bởi vì code quản lý sử dụng

Trang 30

SVTH: Thân Hoàng Lộc Trang 30

Nguyễn Anh Việt

Lưu Xuân Việt

thư viện trong Silverlight và chính CLR chứ không phải là trình duyệt Sự tương tác với DOM từ quản lý API, bạn có thể sử dụng một chuỗi những đặc trưng mà đôi khi những tập chuỗi này được tham chiếu như là một cầu nối HTML, hoặc cầu nối HTML DOM Bao gồm những phần sau:

• APIs đưa ra những nhiệm vụ xử dụng DOM phổ biến (trong những trường hợp, tài liệu đối tượng) để code quản lý

• Điều kiện dễ dàng có thể tạo những kiểu quản lý chính từ DOM

• Kỹ thuật chuyển đổi những kiểu quản lý phát sinh từ những giá trị hoặc đối tượng chính JavaScript

• APIs đưa ra những nét đặc trưng của đối tượng Silverlight plug-in trình bày trong DOM

B JavaScript API for Silverlight

JavaScript API là một mô hình đã được tích hợp sẵn trong bản Silverlight 1.0, và

nó vẫn giữ được tính tương thích cũng như chạy những kịch bản ngoại lệ

Trong JavaScript API, Silverlight plug-in tải lên một trang XAML đơn thay vì một gói ứng dụng Trang XAML có thể bao gồm URL tham vấn tới một tài nguyên bên ngoài máy chủ (Server), như là hình ảnh và Video Silverlight plug-in sử dụng XAML để tạo nên một cây đối tượng mà chúng ta có thể vận dụng nhiều cách lập trình sử dụng JavaScript trong tranh HTML chính

JavaScript không cung cấp một mô hình ứng dụng riêng nhưng nó hỗ trợ với sự điều hướng trong nội dung ứng dụng để giải quyết những vấn đề phức tạp Bên cạnh đó,

nó cũng có thể giải quyết những kịch bản “cồng kềnh” như trong managed API ví dụ như trang trí màn hình nền (splash screens) Bạn cũng có thể tải lên những trang XAML mới

Trang 31

SVTH: Thân Hoàng Lộc Trang 31

Nguyễn Anh Việt

Lưu Xuân Việt

trong Silverlight plug-in hoặc những trang web mới trong trình duyệt và định hướng thực thi ban đầu cho chúng

Trong một vài trường hợp, JavaScript API với Silverlight phụ thuộc vào nhau nhiều hơn

so với Code quản lý

1 Cân nhắc kiểu lập trình (Programming Model Considerations)

JavaScript API với Silverlight là kiểu lập trình mà đã được tích hợp sẵn trong phiên bản 1.0 của Silverlight Nó sử dụng những tập con nhỏ của đối tượng mà sẵn sàng dùng được trong Silverlight 2, cộng với một số đối tượng riêng biệt trong JavaScript API

Tập con này cũng cân nhắc sự ảnh hưởng với những đối tượng mà bạn khai báo trong XAML Phân tách XAML của Silverlight chỉ tạo nên đối tượng bên trong cây đối tượng của những tập con này Bởi vì cây đối tượng được tạo nên trên nền code cố định thi hành những cái bên dưới JavaScript Nói cách khác, tập con và sự cân nhắc giới hạn mà

áp dụng với JavaScript API cho Silverlight là sự có thật nhiều hơn ngôn ngữ mà bạn lựa chọn để viết cho chuỗi lý luận bên trong code-behind; Lựa chọn lập trình kiểu API cho phép bạn xác định rõ những đối tượng nào sẵn dùng trong ứng dụng

Nếu bạn đã phát triển trong Silverlight 1.0, chắc chắn bạn đã quen thuộc với JavaScript API trong Silverlight Lập trình JavaScript API tương tự như trong HTML DOM, và thực ra là sự thi hành những kịch bản nhúng trong trình duyệt giống như là kịch bản trong DOM Nhưng mô hình Silverlight mở rộng trong cây đối tượng mà được tạo nên khi một trang XAML tải lên những nội dung co Silverlight plug-in Điều này cho phép bạn xử lý những event trên đối tượng tiêu biểu mà bạn đã định nghĩa trong XAML Get hoặc set giá trị thuộc tính hoặc thi hành những phương thức đối tượng trong thời gian chạy, chỉnh sửa cấu trúc của XAML, tạo cây đối tượng trong thời gian chạy và…v.v… Trong điều kiện của cấu trúc, JavaScript API cho phép một hướng mở trong cây đối tượng Silverlight trên Silverlight plug-in, bao bọc những kịch bản được triệu gọi, và kết thúc chúng trong plug-in như những đối tượng tự nhiên Trong Internet Explorer việc

Trang 32

SVTH: Thân Hoàng Lộc Trang 32

Nguyễn Anh Việt

Lưu Xuân Việt

bao bọc được thực hiện khi gọi IDispatch::Invoke Còn trong những trình duyệt khác có khả năng sử dụng những kiểu bao bọc khác phụ thuộc vào những plug-in và cấu trúc kịch bản

2 Kịch bản cho khai báo JavaScript API (Scenarios for Using the JavaScript API)

¾ Splash Screens

Một Splash Screens là nội dung một khu vực khởi tạo để trình bày tới user trong khi những nội dung khác vẫn tiếp tục đang tải lên Bên trong điều kiện thiết kế và mục đích, một Splash Screens đã ngầm quan hệ với UI và những yêu cầu tương tác Mục đích chính của Splash Screens là:

• Thể hiện tính trực quan thú vị

• Cung cấp thông tin phản hồi tới user mà ứng dụng (hoặc brower host) vẫn còn những hàm xử lý như mong đợi và tải chúng về như là sự phát triển

• Giữ những thông tin đặc trưng trong tiến trình tải về

Hai hàm đầu tiên có đủ tính năng thường thấy trong XAML mà không cần behind bên trong Miễn là tiến trình tải về yêu cầu thu được những thông tin tối thiểu của một API từ lớp mạng mà nó thực hiện việc tải về Có những lý do một Splash Screens là phương tiện tốt nhất bởi sự khai báo JavaScript API và truyền tải một trang XAML (Được

code-hỗ trợ bởi Script code Behind) cho SplashScreenSource JavaScript API có thể tải về Splash Screen mà không cần tác động tới Silverlight CLR và liên quan tới assemblies để rút ngắn thời gian khởi động

3 Phiên bản JavaScript mới cho Silverlight 2 (New JavaScript API for Silverlight Version 2)

Silverlight 2 cung cấp việc thêm vào những đối tượng có thể sử dụng trong JavaScript API khác với việc thiết lập những đối tượng trong Silverlight 1.0 Nó hoàn toàn cho phép bởi vì những đối tượng này có sự thi hành tự nhiên mà nó trình bày tương tự như việc

Trang 33

SVTH: Thân Hoàng Lộc Trang 33

Nguyễn Anh Việt

Lưu Xuân Việt

khởi tạo một đối tượng trong bản 1.0 Bạn có thể tạo những đối tượng này trong bên trong XAML và sau đó script đến cây đối tượng Để sử dụng những đối tượng này, client chạy những ứng dụng nền Silverlight nên có bản chạy Silverlight version 2 client

Việc thêm vào những đối tượng với JavaScript API là bao gồm bên trong những tư liệu Silverlight cho JavaScript (Như thuộc tính-Properties, phương thức-Method, event,

và bảng liệt kê- enumerations) Đây là những tài liệu cấp cơ bản Đối tượng mới và thành viên mới cần chú ý tới những thông tin của phiên bản tham khảo trong trang chủ

4 Những kỹ thuật riêng của JavaScript API (Technical Specifics of the JavaScript API)

Có một vài kỹ thuật riêng trong JavaScript API khác với việc quản lý API và sự mở rộng sang nhiều những phần tử JavaScript API

- JavaScript và các trường hợp nhạy cảm (JavaScript and Case Sensitivity)

Các đối tượng, phương thức và tên thuộc tính trong JavaScript là không được xem xét như là trường hợp nhạy cảm khi được xử lý bởi Idispatch hoặc kỹ thuật song song mà là bên ngoài Silverlight JavaScript API tới tập lệnh nhúng vào trong Brower Hosting Vì vậy, bạn có thể dùng chữ hoa để khởi tạo trong giá trị thuộc tính event XAML và chữ thường trong những phương thức được định nghĩa hiện tại nếu bạn thích Tuy nhiên, tài liệu cú pháp Silverlight và những tiêu đề trong những text mô tả chung phải chuẩn hóa những trường hợp cho đối tượng-object, thuộc tính-properties, phương thức-method, events, bảng liệt kê- enumerations, và các giá trị liệt kê ban đầu sử dụng chữ hoa tốt hơn

là sử dụng chữ hoa bên trong Có hai lý do:

• XAML rất nhạy cảm trong việc phân biệt chữ, bởi vì nó theo chuẩn XML Cú pháp XAML và những tập lệnh tương đương thường có mặt trong một trang đơn Vì vậy, nó cần một chuẩn hóa trong XAML Titling mà bạn thấy trong tài

Trang 34

SVTH: Thân Hoàng Lộc Trang 34

Nguyễn Anh Việt

Lưu Xuân Việt

liệu Silverlight là những biểu mẫu trường hợp chính xác cho một phần tử đối

tượng hoặc thuộc tính XAML

• Quản lý API xử lý tất cả các trường hợp như là trường hợp nhạy cảm, khai báo như trong quy ước Pascal Hiện tại JavaScript tham chiếu trường hợp tương

đương ở mức cao hơn không cần đường dẫn

1 Cấu trúc ứng dụng (Application Structure)

Khi bạn tạo một ứng dụng nền Silverlight sử dụng managed API, tiến trình xử lý sẽ sinh ra một gói ứng dụng Gói ứng dụng được nén lại trong tập tin có phần mở rộng là xap và nó chứa đựng những tập tin cần thiết để bắt đầu một ứng dụng

Khi nhúng Silverlight plug-in vào trang Web, bạn có thể chỉ định rõ những gói ứng dụng nào mà Plug-in cần tải về Plug-in sử dụng một tập tin hiển thị trong gói ứng dụng

để nhận dạng những lớp ứng dụng đã được triệu gọi Những lớp này được biết đến như là một điểm mục (entry) của ứng dụng và nó chỉ bắt nguồn từ những lớp Application Đối với những ứng dụng riêng lẻ, plug-in cũng sẽ triệu gọi những tập xử lý (essemble) căn bản chi tiết mà nó thừa hưởng

Trang 35

SVTH: Thân Hoàng Lộc Trang 35

Nguyễn Anh Việt

Lưu Xuân Việt

Lớp Application cung cấp một sự kiện bắt đầu (Startup event) để bạn có thể khởi tạo những handle ban đầu cho ứng dụng và giao diện người dùng Lớp Application cũng cung cấp những yêu cầu dịch vụ ứng dụng phổ biến khác Ví dụ bạn có thể sử dụng lớp Application để rút trích những tập tin tài nguyên từ những gói ứng dụng hoặc tải về từ những tập tin zip

Quá trình tải về (download) một gói ứng dụng và ngay lập tức gọi hệ thống kích hoạt Silverlight Hệ thống kích hoạt cho phép bạn chỉ định giá trị nhỏ nhất của gói tải về Sau khi kích hoạt, ứng dụng của bạn có thể truy xuất tới những tập xử lý (assemble) đã thêm vào trong thư viện và những tập tin tài nguyên theo yêu cầu

2 Gói ứng dụng (Application Package)

Một gói ứng dụng bao gồm những tập tin:

- Một tập tin AppManifest.xaml, nó nhận dạng những bộ xử lý đã đóng gói và điểm

bắt đầu của ứng dụng

- Một bộ xử lý ứng dụng, bao gồm những lớp ứng dụng

- Không, hoặc nhiều thư viện những bộ xử lý

- Không, hay nhiều tập tin tài nguyên không xác định, ví dụ như hình ảnh (image) hoặc những tập tin Video

Tập tin AppManifest.xaml là tập tin tự động sinh ra (generate) điển hình trong quá

trình xây dựng và sử dụng ngôn ngữ đánh dấu XAML để trình bày một đối tượng Deployment với trình ứng dụng

Trong tập tin AppManifest.xaml, phần tử Deployment bao gồm những thuộc tính:

- Thuộc tính RuntimeVersion nhận dạng phiên bản yêu cầu của Silverlight

Trang 36

SVTH: Thân Hoàng Lộc Trang 36

Nguyễn Anh Việt

Lưu Xuân Việt

- Thuộc tính EntryPointType và EntryPointAssembly nhận dạng mục bắt đầu của ứng dụng

Phần tử Deployment cũng bao gồm một phần tử đặc tính con Deployment ::.Parts mà

có một phần tử con AssemblyPart riêng cho mỗi assembly trong một gói ứng dụng

Gói ứng dụng chỉ bao gồm một tập tin AppManifest.xaml và một entry-point của

assembly ứng dụng Bạn cũng có thể triển khai tất cả các thành phần ứng dụng khác trong

file đóng gói (in-package) hoặc trong file yêu cầu (on-demand)

Trong file đóng gói là những file được chứa đựng bên trong gói ứng dụng Điển hình

là những file tối thiểu để bắt đầu ứng dụng hoặc triệu gọi những file sẵn sàng dùng đến sau khi khởi động Bạn cũng có thể chia sẻ những nguồn tài nguyên như hình ảnh nhúng trực tiếp vào trong assembly hoặc những file riêng biệt trong phạm vi của gói ứng dụng Những file yêu cầu là những file mà bạn triển khai trên máy chủ (Server) Chẳng hạn như vị trí của các gói ứng dụng Ứng dụng của bạn có thể truy xuất những file này sau khi chúng được kích hoạt Độc lập về kích thước và thể loại file nên có thêm vài tùy chọn trong việc truy xuất những file yêu cầu này Ví dụ như bạn có thể sử dụng tham chiếu trực tiếp URL để truy xuất những file hình ảnh (Image) hoặc bạn có thể đồng bộ sự bắt đầu trong việc tải về hay truy xuất những thư viện assembly hoặc những file zip

Trang 37

Hình 5: Biểu đồ tổng hợp những gói cấu trúc ứng dụng và những tùy chọn triển khai trong những file ứng dụng

3 Triển khai file trong những gói hoặc trong những yêu cầu (Deploying Files Package or On-Demand)

In-Việc triển khai những file ứng dụng bên trong những gói ứng dụng được diễn ra trong thời gian khởi động và trong lúc tải về, chúng chỉ ngưng khi bạn quyết định ngừng những tiến trình này lại Quyết định này hoàn toàn độc lập với những yêu cầu của ứng dụng Chẳng hạn, bạn có thể cho phép khai báo nhiều file vào bên trong những gói ứng dụng và lần lượt nhận được những hồi đáp sau khi bạn bắt đầu thực hiện (Startup) Trong trường hợp này bạn có thể duy trì trạng thái hồi đáp hiển thị lên màn hình khi bắt đầu tiến trình tải về

Nguyễn Anh Việt

Lưu Xuân Việt

Trang 38

SVTH: Thân Hoàng Lộc Trang 38

Nguyễn Anh Việt

Lưu Xuân Việt

Trong một vài trường hợp, Silverlight plug-in sẽ không thể tải lên những gói ứng dụng lớn Khi bạn khởi tạo những ứng dụng lớn, bạn nên triệu gọi những file cần thiết để tối ưu hóa kích thước dữ liệu

Khi bạn quyết định di chuyển một vài file ra ngoài gói ứng dụng, bạn nên bố trí lại một vài tùy chọn

Những file dễ dàng bố trí lại là những file tham chiếu (reference) trong khai báo quan hệ URIs ví dụ như những file video và image Khi Silverlight plug-in bắt gặp một quan hệ URL trong code hoặc XAML nó sẽ được nhìn thấy trong gói ứng dụng đầu tiên Nếu plug-in không thể tìm thấy file trong gói ứng dụng thì nó sẽ thấy được bên trên máy chủ Nghĩa là bạn có thể di chuyển bất kỳ file nào mà bạn tham chiếu bởi quan hệ URL

mà không cần phải thay đổi code

Nhiều file không thể tham chiếu bằng URL và nó phụ thuộc vào những tiến trình

xử lý riêng nếu bạn bố trí lại những file yêu cầu này Ví dụ như, bạn muốn bố trí lại thư viện assembly, bạn nên thêm code để triệu gọi những yêu cầu và tải chúng lên vùng ứng dụng

Bạn cũng có thể muốn di chuyển một vài file tài nguyên ra ngoài những gói ứng dụng nhưng truy xuất chúng trong yêu cầu như là tải 1 trình đơn về Bạn cũng có thể thực hiện những điều trên bằng cách gói chúng lại thành những file zip và triển khai chúng lại

trên máy chủ

V ỨNG DỤNG DỊCH VỤ (Application Services)

Khi bạn tạo một ứng dụng sử dụng managed API với Silverlight, bạn nên tạo một lớp mà bắt nguồn từ Application Lớp Application cung cấp một vài dịch vụ mà những ứng dụng thường cần tới Trước hết, nó miêu tả những entry point của code ứng dụng trong suốt chu trình sống của Silverlight plug-in

Trang 39

Chu trình sống của Silverlight plug-in bắt đầu khi user “lướt” vào trang web chứa Silverlight plug-in Nếu user đã cài đặt Silverlight, trình duyệt web sẽ kích hoạt plug-in và bắt đầu tải những gói ứng dụng của bạn xuống

Plug-in được nạp vào trong theo dịch vụ của Silverlight bởi Silverlight CLR, chúng tạo ra một AppDomain cho ứng dụng Khi những gói ứng dụng của bạn hoàn tất việc tải về, CLR sẽ triệu gọi lớp Application và sinh ra những event Startup

Bạn có thể thêm code vào những lớp ứng dụng Bên cạnh đó,bạn sử dụng một event handle startup cho hầu hết những yêu cầu khởi tạo ứng dụng, như trình bày một trang giao diện người dùng

Hình 6: Biểu đồ minh họa quy trình kích hoạt plug-in và mối quan hệ giữa các thành phần trong quy trình

Nguyễn Anh Việt

Lưu Xuân Việt

Trang 40

SVTH: Thân Hoàng Lộc Trang 40

Nguyễn Anh Việt

Lưu Xuân Việt

Chúng cũng có thể chỉ là một trường hợp Application trong ứng dụng nền Silverlight Sau khi khởi động (Startup), trường hợp Application này cung cấp một vài dịch vụ mà ứng dụng thường cần tới bạn có thể truy xuất những dịch vụ này từ bất kỳ đoạn code nào trong ứng dụng bởi sự truy xuất trường hợp Application từ đặc tính tĩnh của Application ::.Current

Những đặc trưng trong lớp Application gồm:

• Quản lý thời gian sống của ứng dụng

• Tải lên những file tài nguyên của ứng dụng

• Xử lý những ngoại lệ Unhandled

• Tích hợp những Web host

1 Application Lifetime Management

Để quản lý thời gian sống của ứng dụng bạn có thể thêm code vào trong những lớp ứng dụng để chạy và bắt điểm thời gian sống của ứng dụng:

• Lớp khởi tạo ứng dụng

• Event Startup ứng dụng

• Event Exit ứng dụng

a Lớp khởi tạo ứng dụng (Application Class Construction)

Trong lớp ứng dụng khởi tạo, bạn có thể thêm code vào trong lớp ứng dụng khởi tạo để thi hành những yêu cầu khởi tạo cơ bản, chẳng hạn như những biến khởi tạo và những event handler kèm theo

Ngày đăng: 24/12/2013, 23:02

HÌNH ẢNH LIÊN QUAN

Hình 3. Bảng mô tả các thành phần hợp thành kiến trúc Silverlight, các thành phần quan  hệ và dịch vụ - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Hình 3. Bảng mô tả các thành phần hợp thành kiến trúc Silverlight, các thành phần quan hệ và dịch vụ (Trang 19)
Hình 4: Bảng mô tả tính tương thích của hệ điều hành và trình duyệt - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Hình 4 Bảng mô tả tính tương thích của hệ điều hành và trình duyệt (Trang 25)
Hình 5: Biểu đồ tổng hợp những gói cấu trúc ứng dụng và những tùy chọn triển khai trong  những file ứng dụng - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Hình 5 Biểu đồ tổng hợp những gói cấu trúc ứng dụng và những tùy chọn triển khai trong những file ứng dụng (Trang 37)
Hình 6: Biểu đồ minh họa quy trình kích hoạt plug-in và mối quan hệ giữa các thành phần  trong quy trình - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Hình 6 Biểu đồ minh họa quy trình kích hoạt plug-in và mối quan hệ giữa các thành phần trong quy trình (Trang 39)
Hình 1: Bảng phân cấp lớp Panel - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Hình 1 Bảng phân cấp lớp Panel (Trang 76)
4. Sơ đồ lớp tổng quát (Class Diagram) - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
4. Sơ đồ lớp tổng quát (Class Diagram) (Trang 108)
Sơ đồ kết hợp giữa các bảng dữ liệu: - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Sơ đồ k ết hợp giữa các bảng dữ liệu: (Trang 111)
Bảng này lưu trữ các thông tin người dùng với những giá trị thuộc tính sau: - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Bảng n ày lưu trữ các thông tin người dùng với những giá trị thuộc tính sau: (Trang 112)
Bảng thuộc tính: - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Bảng thu ộc tính: (Trang 115)
Bảng mô tả thuộc tính: - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Bảng m ô tả thuộc tính: (Trang 115)
Bảng này xác định những học viên đang học bài học này thuộc lớp nào. - Nghiên cứu silversight và xây dựng ứng dụng web hỗ trợ phát triển bài giảng dạng multimedia
Bảng n ày xác định những học viên đang học bài học này thuộc lớp nào (Trang 116)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w