Hỏi đáp Silverlight

Trong bài này tôi sẽ tập hợp các câu hỏi và trả lời nhằm giúp giải đáp thắc mắc của các bạn. Nếu không tìm được câu hỏi nào giống của bạn, hãy viết vào phần comment.

Tất cả những comment không liên quan sẽ bị xóa.

1: Silverlight là gì?
A: Silverlight là một công nghệ của hãng Microsoft cho phép xây dựng các ứng dụng chạy trên trình duyệt, về ý nghĩa, nó cũng tương tự như Flash của hãng Adobe.

2: Học Silverlight để làm gì?
A: Bạn có thể tạo được các ứng dụng chạy trên nền trình duyệt với giao diện xuất sắc, khả năng hỗ trợ video chất lượng cao, bạn sẽ dùng một công nghệ mà Microsoft – hãng phần mềm số một thế giới đang xây dựng, và sẽ sử dụng nó trên các website của mình.

3: Silverlight có khó học hay không?
A: Học Silverlight không khó hơn học Java, C#, VB, cũng không khó hơn học PHP, JavaScript, vậy nên nếu bạn đã có một số kiến thức cơ bản về lập trình, bạn hoàn toàn có thể nắm bắt Silverlight một cách dễ dàng.

4: Tôi có thể chạy các ứng dụng Silverlight trên những trình duyệt và hệ điều hành nào?
A: Hiện tại, bạn có thể chạy các ứng dụng Silverlight trên các trình duyệt IE, FireFox và Safari. Các hệ điều hành được hỗ trợ là Windows và MacOS, phiên bản cho Linux đang được Microsoft và Novell hợp tác phát triển.

Hiện tại, Silverlight đã được coi như một trong những nền tảng cho việc phát triển phần mềm trên Windows Phone 7.

5: Tôi phải dùng máy chủ web nào để chứa các ứng dụng Silverlight?
A: Các ứng dụng Silverlight chỉ được tải về như những file bình thường để chạy bởi trình duyệt, do vậy không có yêu cầu bắt buộc nào về máy chủ, bạn hoàn toàn có thể đặt một ứng dụng Silverlight trên một máy chủ web Apache chạy trên nền Linux.

6: Hiện có những phiên bản nào của Silverlight?
A: Có các phiên bản chính sau đây: phiên bản 1.0 đã ra đời từ năm 2007, và các phiên bản Silverlight 2, 3, 4. Phiên bản 1.0 mạnh về các tính năng multimedia, phiên bản 2 thêm vào khá nhiều tính năng: hỗ trợ lập trình bằng các ngôn ngữ trên .NET như C# và VB, các công nghệ như LINQ, lập trình socket và các giao thức kết nối mạng dựa trên HTTP…

Phiên bản hiện tại là Silverlight 4, có rất nhiều tính năng mới, tuy nhiên vẫn tương thích ngược với các phiên bản trước nên các bạn hoàn toàn có thể bắt đầu học với Silverlight 2 Tutorial.

7: XAML là gì?
A: XAML là một ngôn ngữ dựa trên XML, ngôn ngữ này cho phép bạn có thể xây dựng giao diện của các ứng dụng rất dễ dàng và nhanh chóng, bạn chỉ cần khai báo các thành phần có trên giao diện của ứng dụng cùng với các thuộc tính của nó, khi chạy chương trình sẽ hiển thị giống như bạn đã khai báo. Điều này cho phép tách bạch được giữa việc thiết kế giao diện và việc hiện thực hóa các tính năng.
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.

8: Tôi nên học Silverlight 1.0 hay 2.0?
A: Nếu đang định học Silverlight, lời khuyên là nên dùng Silverlight 2.0, phiên bản 1.0 và 2.0 tương đối khác nhau, bạn cũng được hỗ trợ nhiều hơn từ Microsoft với bản 2.0.(bài học).

9: Silverlight có cho phép truy cập server theo kiểu cross-domain không?
A: Có, mặc nhiên các ứng dụng Silverlight có thể truy cập ngược lại vào máy chủ mà nó được tải xuống, nếu muốn truy cập vào các máy chủ khác, trên máy chủ đó phải có file crossdomain.xml được cấu hình phù hợp.

10: Tôi chưa từng biết về lập trình, liệu tôi có thể học Silverlight hay không?
A: Tùy thuộc bạn học để làm gì, nếu bạn là một người thiết kế giao diện thì bạn có thể bắt đầu học Silverlight, nếu bạn muốn học lập trình với Silverlight, lời khuyên là bạn nên bắt đầu với một ngôn ngữ nào khác như Java, C# hay VB.

11: Tôi có thể tải về bộ cài đặt Silverlight ở đâu?
A: Nếu bạn chỉ muốn dùng Silverlight để xem những ứng dụng do người khác làm:
– Silverlight 2
Ngoài ra, nếu muốn tạo ra các ứng dụng Silverlight, bạn cần có thêm:
– Microsoft Silverlight Tools for Visual Studio 2008 SP1
– Microsoft Expression Blend 2 và sau đó cài thêm Microsoft Expression Blend 2 Service Pack 1
– Và tất nhiên là Visual Studio 2008 SP1

Từ bản Visual Studio 2010 đã hỗ trợ trực tiếp Silverlight: http://www.microsoft.com/downloads/details.aspx?familyid=F9C0B89B-4964-4906-94C6-60AD8A429690&displaylang=en

Những thành phần sau là không bắt buộc, tuy nhiên bạn nên xem qua để biết nó có gì:
– Silverlight Toolkit
– Deep Zoom Composer

Cập nhật ngày 07/04/2010:

Hỗ trợ phiên bản 3.0 (tương thích với bản 2.0)

– Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1: http://www.microsoft.com/downloads/details.aspx?familyid=9442B0F2-7465-417A-88F3-5E7B5409E9DD&displaylang=en

– Microsoft Expression Blend 3 + SketchFlow Trial: http://www.microsoft.com/downloads/details.aspx?familyid=E82DB5E2-7106-419E-80B0-65CCE89F06BB&displaylang=en

Nếu không có VS 2008 Pro thì bạn có thể dùng Microsoft Visual Web Developer 2008 Express with SP1: http://go.microsoft.com/?linkid=7653519

12: Tôi có nghe về WPF/E nhưng không biết nó là gì?
A: Đó là tên ban đầu của Silverlight, nó có nghĩa là: Windows Presentation Foundation/Everywhere.

13: Tôi cũng đã đọc thấy nói về Silverlight 1.1 nhưng không thấy nhắc đến?
A: Silverlight 1.1 là mã phiên bản cũ của Silverlight 2.0.

14: Tôi phải dùng máy chủ web nào để có thể chạy các ứng dụng Silverlight?
A: Vì Silverlight là công nghệ chạy trên trình duyệt, do vậy bạn có thể dùng bất kỳ máy chủ nào, chạy trên bất kỳ hệ điều hành nào để chứa các ứng dụng Silverlight.

15: Làm sao để chạy chương trình Silverlight nhưng không cho chúng truy cập ngược lại trang HTML và gọi các hàm JavaScript trên đó?
A: Bạn hãy thêm một thuộc tính có tên enableHTMLAccess vào nơi khai báo đối tượng Silverlight plug-in và đặt giá trị cho nó là false. Hãy xem ví dụ sau:

<object data="data:application/x-silverlight,"
        type="application/x-silverlight-2-b1" width="100%" height="100%">
<param name="source" value="ClientBin/SilverlightApplication1.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="enableHtmlAccess" value="false" />

<a href="http://go.microsoft.com/fwlink/?LinkID=108182"
        style="text-decoration: none;">
     <img src="http://go.microsoft.com/fwlink/?LinkId=108181"
        alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>

Nếu dùng đối tượng Silverlight trong ÁP.NET, bạn có thể viết:

    <asp:Silverlight ID="Xaml1" runat="server"
        Source="~/ClientBin/SilverlightApplication1.xap" Version="2.0"
        Width="100%" Height="100%" EnableHtmlAccess="true" />

Thuộc tính này chỉ tồn tại trong Silverlight 2 plug-in, plug-in 1.0 luôn cho phép đối tượng Silverlight truy cập lại trang HTML. Tuy nhiên các Silverlight 2 plug-in vẫn chạy được các chương trình Silverlight 1.0.

16: Có cần phải cài .NET Framework để chạy các ứng dụng Silverlight không?
A: Không, thứ duy nhất bạn cần là Silverlight plug-in, bạn chỉ cần cài .NET Framework nếu muốn dùng các công cụ phát triển (các công cụ này được phát triển trên .NET) như Visual Studio.

17: Tôi muốn truy cập vào đối tượng window hoặc document như trong javascript có được không?
A: Được, bạn hãy dùng lớp System.Windows.Browser.HtmlPage, trong đó có 2 thuộc tính là Document và Window, ví dụ như bạn muốn trình duyệt chuyển sang một trang mới:

    System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("http://www.daohainam.com"))

hoặc

    System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("http://www.daohainam.com"), "_blank")

Share this:

Like this:

Like

Loading…

Related Posts

Trả lời

Email của bạn sẽ không được hiển thị công khai.