
Duyệt World Wide Web đã thay đổi rất nhiều kể từ đầu những năm 1990. Hồi đó, hầu hết các trang Web bao gồm văn bản tĩnh, một vài hình ảnh và tệp âm thanh MIDI lặp lại (và thường gây khó chịu) . Nhưng Web đã trở nên phức tạp hơn trong những năm qua. Ngày nay, bạn có thể truy cập các trang Web kết hợp các tính năng video, hoạt hình, âm thanh và tương tác. Với các trang Web tiên tiến nhất, nó gần giống như bị lôi vào một bộ phim. Nhưng để xây dựng, xem và tương tác với các tính năng mới này, các lập trình viên đã phải tạo ra các ứng dụng mới. Một trong những ứng dụng đó là chương trình Silverlight của Microsoft .
Silverlight thách thức lời giải thích dễ dàng. Theo nhiều cách, nó tương tự như Adobe Flash. Silverlight yêu cầu nhà phát triển và người dùng tải xuống ứng dụng khách - Các trình duyệt web không thể xử lý nội dung Silverlight nếu không có bản tải xuống này. Nó cung cấp cho các nhà phát triển Web khả năng kết hợp video trực tuyến , âm thanh và hình ảnh động vào các trang Web. Các lập trình viên có thể tạo các ứng dụng Web phức tạp, tương tác với người dùng bằng công nghệ Silverlight. Trên World Wide Web, những ứng dụng này có tên đặc biệt: Ứng dụng Internet phong phú ( RIA s).
Khi RIA ngày càng trở nên phức tạp hơn, sự khác biệt giữa các ứng dụng máy tính để bàn - các chương trình chạy trên ổ cứng của bạn - và các chương trình dựa trên Web bắt đầu mất dần đi. Các trình duyệt web cuối cùng có thể phát triển thành các hệ điều hành dựa trên Web hoàn chỉnh khi chúng ta sử dụng Internet để cung cấp các nhu cầu xử lý và lưu trữ dữ liệu của mình. Tận dụng Internet theo cách này được gọi là điện toán đám mây - các chương trình và dữ liệu nằm trong "đám mây" của Internet thay vì trên máy của người dùng cá nhân.
Silverlight chỉ là một trong hàng tá công cụ được thiết kế để giúp các lập trình viên tạo RIA tốt hơn. Các kỹ sư của Microsoft đã xây dựng Silverlight như một phần mở rộng của các dự án khác của Microsoft, nhưng bản thân ứng dụng này vẫn tự đứng vững. Microsoft quảng bá Silverlight như một công nghệ đa nền tảng, nhiều trình duyệt. Điều đó có nghĩa là các ứng dụng Silverlight sẽ hoạt động trên PC hoặc máy tính Mac và trong các trình duyệt như Internet Explorer , Firefox hoặc Safari. Silverlight cũng sẽ sớm hoạt động với các máy tính Linux - một dự án mã nguồn mở có tên Mono đang dẫn đầu nỗ lực tạo ra một phiên bản Linux .
Mặc dù Silverlight là một công nghệ non trẻ nhưng nó không còn xa lạ với những rắc rối hay tranh cãi. Một số nhà phát triển và người dùng không quan tâm đến một công nghệ Web khác yêu cầu một trình cắm thêm có thể tải xuống để hoạt động. Và mối quan hệ hợp tác với NBC trong Thế vận hội Bắc Kinh 2008 có thể không tạo ra nhiều tiếng vang như Microsoft hy vọng.
Nhưng trước khi chúng ta tìm hiểu tất cả những điều đó, trước tiên chúng ta hãy xem xét kỹ hơn bên dưới mui xe của Silverlight.
- Silverlight Beta
- Phát triển Silverlight
- Ứng dụng Silverlight
- Video Silverlight
Silverlight Beta

Một trong những điều khó hiểu về Silverlight là có hai phiên bản: Silverlight 1 và Silverlight 2 Beta. Silverlight 1 hỗ trợ các ứng dụng được viết bằng ngôn ngữ lập trình JavaScript . Phiên bản beta của Silverlight 2 hỗ trợ các ngôn ngữ lập trình bổ sung như C # (phát âm là "c sharp") và Visual Basic . Cả hai phiên bản của Silverlight đều hoạt động trong khuôn khổ .NET .
Vậy .NET là gì? Đó là một sản phẩm khác của Microsoft . .NET framework là một mô hình lập trình. Các lập trình viên có thể xây dựng các ứng dụng trong mô hình này - đặc biệt là các ứng dụng Web dựa trên Ngôn ngữ đánh dấu eXtensible ( XML ).
Hai thành phần chính của .NET Framework là thời gian chạy ngôn ngữ chung và thư viện lớp . Thời gian chạy ngôn ngữ chung hoạt động giống như một quản trị viên - nó giám sát các ứng dụng và phân bổ tài nguyên mà các ứng dụng đó cần (như bộ nhớ hoặc sức mạnh xử lý) để chạy đúng cách. Thư viện lớp chứa một số đối tượng phần mềm có thể tái sử dụng mà người lập trình có thể dựa vào trong khi tạo ứng dụng. Một đối tượng phần mềm có hai đặc điểm: trạng thái và hành vi. Trạng thái của một đối tượng đề cập đến các điều kiện khác nhau mà đối tượng có thể có. Ví dụ: một chương trình có thể có các trạng thái "đang chạy", "tạm dừng" và "đã dừng" (mặc dù không phải tất cả cùng một lúc). Hành vi đề cập đến những gì một đối tượng có thể làm. Trong ví dụ của chúng tôi, điều đó sẽ bao gồm "bắt đầu", "tạm dừng" và "kết thúc".
Và đó chỉ là khung bao quanh Silverlight! Trong Silverlight, Microsoft bao gồm công nghệ Windows Presentation Foundation ( WPF ) và hỗ trợ Ngôn ngữ đánh dấu ứng dụng eXtensible ( XAML ). Các nhà phát triển ứng dụng có thể sử dụng cả WPF và XAML để tạo các ứng dụng Web. Cả WPF và XAML đều hoạt động trơn tru trong .NET framework. Microsoft đã phát triển WPF vì Ngôn ngữ Đánh dấu Siêu văn bản ( HTML ) có những hạn chế - Các trình duyệt web có khả năng thực thi các chức năng quá phức tạp mà HTML không thể hỗ trợ.
WPF sử dụng công cụ kết xuất dựa trên vectơ để tạo đồ họa cho các ứng dụng. Nó có thể hỗ trợ đồ họa 2-D và 3-D và cung cấp cho các nhà phát triển phương tiện để cung cấp năng lượng cho các ứng dụng của họ bằng cách hoạt động trong .NET. Mục đích chính của XAML là cung cấp cho các nhà phát triển phương tiện để điều chỉnh giao diện ứng dụng của họ. Cùng với nhau, WPF và XAML xác định giao diện và hành vi của ứng dụng Silverlight.
Trong khi WPF và XAML xác định giao diện và hoạt động của một ứng dụng, các lập trình viên sử dụng các ngôn ngữ máy tính khác để tự xây dựng ứng dụng. Trong khi Silverlight 1 chỉ hỗ trợ JavaScript , phiên bản beta của Silverlight 2 hỗ trợ một số ngôn ngữ động . Các lập trình viên xây dựng ứng dụng của họ bằng các ngôn ngữ này trong khi làm việc trong khuôn khổ .NET và sử dụng WPF và XAML để tích hợp ứng dụng vào trải nghiệm duyệt Web. Tất cả các ứng dụng Silverlight đều chạy trong trình duyệt Web.
Hãy cùng xem kiến trúc của nền tảng Silverlight để xem tất cả các yếu tố này hoạt động cùng nhau như thế nào để cung cấp cho các lập trình viên nền tảng mà họ cần để xây dựng RIA.
Phát triển Silverlight

Like all software, the Silverlight platform has a particular arrangement of functions and features called an architecture. A program's architecture can tell you a great deal about how the program works. It groups tasks together in a logical way and shows how the different parts of a program work together to provide the overall service. Microsoft's goal with Silverlight is to create a powerful but simple platform for the next generation of Web-based applications.
Microsoft divides the Silverlight platform's architecture into two major components with an additional installer and update element. The two major components include a core presentation framework and the .NET framework for Silverlight. Let's look at each in turn.
The core presentation framework contains the following:
- A user interface (UI) rendering engine, which generates all the graphics, animation and text within an application
- An input interface that handles user input from devices like keyboards , mice and digital tablets
- A media engine that supports several audio and video file formats
- A digital rights management element that allows developers to maintain control over media within their applications
- Support for customizable application controls
- Support for dynamic UI layouts -- this feature allows developers to change the appearance of an application's UI in real time
- Support for data binding -- linking UI elements to data objects within an application
- A parser for XAML
The .NET Framework has the following features:
- Support for Language-Integrated Query (LINQ) features -- LINQ allows developers to integrate data from different sources
- A base class library that supports fundamental programming functions such as cryptography
- A suite of features called the Window Communication Foundation (WCF) designed to make it easy for an application to access remote data and services
- The Windows Presentation Foundation (WPF)
- Dynamic Language Runtime (DLR), the element that supports applications written in various programming languages
- Common Language Runtime (CLR), the component that handles memory management and other critical functions
The presentation core and the .NET Framework interact with one another primarily through XAML. In a way, XAML acts as a bridge between the two components. The installation and updater element is pretty self-explanatory. It's supposed to make the initial installation of an application as smooth as possible for the user. It also provides a framework for automatic application updates.
In addition, Silverlight has a few other features that help developers create RIAs. Many of these functions focus on data security and application management. There are file management features, an isolated storage function and XML libraries, to name a few.
Next, we'll look at the kinds of applications Silverlight developers will be able to build.
Silverlight Applications

The applications of Silverlight are nearly limitless. Silverlight's tools allow developers to create Web-based programs that range from utilitarian devices to challenging video games . Even though Silverlight is still a relatively young programming platform, there are dozens of applications already available on the Web.
It's not surprising that developers are using Silverlight to create streaming media players. The media players are similar to Flash media players -- the kind of applications used by Web sites like YouTube . These programs stream video and music from the Internet to a user's browser. Silverlight lets developers create themed video players that provide specific content. For example, the Futbol Mexicano Silverlight application streams video of Mexican soccer games to users. But Silverlight can do more than play videos.
Silverlight applications can be relatively simple, like hero bars. Hero bars are Web banners that feature blurbs and links to content found deeper in the Web site. Developers can use Silverlight to create a hero bar that can pull information and links from an RSS feed. The hero bar updates itself as the webmaster adds new content to the site.
Programmers can also use Silverlight to interact with other Web services. Twitterlight is a Silverlight application that taps into the Twitter microblog service. With Twitterlight, users can access their individual Twitter feeds and post new messages.

The TeamLive online productivity software application lets Silverlight users work together on projects. TeamLive gives users the ability to take screenshots of applications or Web sites and share them with other users. This makes collaboration among team members in different locations easier. The team can work together in real time to fix problems or streamline designs.
Games running on Silverlight can range from the simplistic to immersive adventures. For example, you can find traditional games like Hangman in Silverlight form, but you can also find arcade-style games such as Zero Gravity, a space-themed adventure game. Like Flash, Silverlight gives developers the resources necessary to create robust gaming experiences that users can access through a Web browser.
These applications are just the tip of the iceberg. As the Web becomes more sophisticated and people get access to more bandwidth, users will demand more from their browsing experiences. An increasing number of people are turning to the Internet for news, entertainment and productivity applications. Developers will have to use tools like Silverlight to meet consumer demand.
Silverlight has already made a big splash through a few strategic partnerships with more traditional media. We'll take a closer look at these relationships in the next section.
Silverlight Video

Bill Gates was the main keynote speaker at the 2008 Consumer Electronics Showcase (CES). The speech marked his final CES presentation as chairman of Microsoft. That evening, Mr. Gates unveiled many new Microsoft projects, products and services. Among them was a partnership with NBC to broadcast the Olympics online within the United States.
NBC had already obtained the television rights to broadcast the Olympics in the United States. In addition to traditional televised broadcasts, NBC, along with Microsoft, offered Olympic coverage online at its Web site. Visitors had to download and install Silverlight to their computers in order to watch the video. Some tech journalists questioned the decision -- while Silverlight is a powerful platform, Adobe Flash has a much larger presence in the market. Most PCs already have Flash and comparatively few people had downloaded Silverlight. It seemed to some journalists that NBC was conducting a risky experiment.
Was the pairing a success? That depends on who tells the story. According to an article in The New York Times, NBC's Olympics Web site provided more than 72 million streams of video to viewers during the Olympics [source: Stelter]. But blogs like TechCrunch contend that other sites covering the Olympics -- sites that didn't feature any video at all -- had more visitors than NBC's site [source: Schonfeld]. Some blogs also reported rumors that advertisers weren't happy with NBC's online performance.
Có lẽ NBC sẽ có nhiều người xem trực tuyến hơn nếu công ty chọn Adobe Flash làm nền tảng phát trực tuyến video của mình . Hoặc có thể nhiều người đã xem các trò chơi trên Web nếu NBC không giới hạn các sự kiện được phát trực tuyến. Nhưng ngay cả khi một số người gọi thử nghiệm này là đáng thất vọng, Microsoft biết rằng hàng triệu người đã tải xuống Silverlight. Trong cuốn sách của Microsoft, đó được coi là một chiến thắng.
Microsoft đã thiết lập quan hệ đối tác với các tên tuổi lớn khác ở Hoa Kỳ. Vào cuối năm 2007, trình phát video trực tuyến của Major League Baseball chuyển sang Silverlight. CBS đã chọn Silverlight khi công ty tạo ra một nền tảng Web tương tác cho nội dung do người dùng tạo. Và Hiệp hội Bóng rổ Quốc gia cũng đã chọn Silverlight cho trình phát phương tiện trực tuyến của mình.
Liệu Silverlight có trở thành tiêu chuẩn Internet lớn tiếp theo? Vẫn còn quá sớm để nói. Bạn có thể tranh luận rằng nó mạnh mẽ hơn Adobe Flash, nhưng sau đó một lần nữa Flash đã thâm nhập sâu hơn nhiều vào thị trường. Cuối cùng, bất kỳ công nghệ nào xuất hiện trên đầu sẽ cung cấp cho người dùng những gì họ muốn: trải nghiệm duyệt Web phong phú.
Để tìm hiểu thêm về Silverlight và các chủ đề liên quan, hãy xem xét các liên kết trên trang tiếp theo.
Tuần trăng mật đã kết thúc chưa?
NBC sẽ không sử dụng Silverlight để cung cấp các luồng video về Bóng đá Đêm Chủ nhật trên Web - thay vào đó, NBC sẽ sử dụng Adobe Flash. Nhưng đừng cho rằng NBC từ chối Microsoft - trong trường hợp này, Liên đoàn Bóng đá Quốc gia đã quyết định chọn Flash [nguồn: Learmonth ].
Nhiều thông tin hơn
Những bài viết liên quan
- Cách thức hoạt động của Microsoft
- Cách hoạt động của bộ nhớ máy tính
- Cách hoạt động của card đồ họa
- Cách thức hoạt động của Internet TV
- Hệ điều hành hoạt động như thế nào
- Cách phát trực tuyến video và âm thanh hoạt động
- Cách thức hoạt động của truyền hình
- Cách thức hoạt động của định dạng video
- Cách thức hoạt động của YouTube
Các liên kết tuyệt vời hơn
- Mạng nhà phát triển Microsoft
- Trang web Silverlight chính thức của Microsoft
Nguồn
- Cooper, Charles. "Tất cả chúng ta đều yêu thích Thế vận hội này, phải không? Không phải Adobe." Cnet. Ngày 14 tháng 8 năm 2008. (Ngày 10 tháng 9 năm 2008) http://news.cnet.com/8301-10787_3-10017507-60.html?tag=nefd.top
- Frommer, Dan. "Adobe: Silverlight Who? Flash Video Thống trị Thế vận hội Toàn cầu." Người trong hẻm Silicon. Ngày 27 tháng 8 năm 2008. (Ngày 9 tháng 9 năm 2008) http://www.alleyinsider.com/2008/8/adobe-silverlight-who-flash-video-dominated- olympics-global-adbe-msft-
- LaMonica, Martin. "Silverlight trên Linux? Chúng tôi đang tham gia, người sáng lập Mono nói." Cnet. Ngày 1 tháng 5 năm 2007. (Ngày 10 tháng 9 năm 2008) http://news.cnet.com/8301-10784_3-9714669-7.html
- Học hỏi, Michael. "NFL, NBC Nhấn vào Adobe's Flash For Live Football." Người trong hẻm Silicon. Ngày 4 tháng 9 năm 2008. (Ngày 10 tháng 9 năm 2008) http://www.alleyinsider.com/2008/9/nfl-nbc-tap-adobe-s-flash-for-live-football
- MacDonald, Matthew. "Silverlight 2 Visual Essentials." Xin lỗi. Năm 2008.
- MacDonald, Matthew. "Silverlight và ASP.NET được tiết lộ." Springer. Năm 2007.
- Matyszczyk, Chris. "Các nhà quảng cáo trực tuyến có thất vọng về thành tích Olympic của NBC không?" Cnet. Ngày 18 tháng 8 năm 2008. (Ngày 10 tháng 9 năm 2008) http://news.cnet.com/8301-17852_3-10018721-71.html
- Mạng nhà phát triển của Microsoft. "Lập trình .NET Framework trong Visual Studio." Tháng 11 năm 2007. (Ngày 9 tháng 9 năm 2008) http://msdn.microsoft.com/en-us/library/k1s94fta.aspx
- Mạng phát triển của Microsoft. "Ánh sáng bạc." 2008. (Ngày 8 tháng 9 năm 2008) http://msdn.microsoft.com/en-us/library/bb188743.aspx
- Mạng phát triển của Microsoft. "Windows Presentation Foundation." Tháng 11 năm 2007. (Ngày 8 tháng 9 năm 2008) http://msdn.microsoft.com/en-us/library/ms754130.aspx
- Microsoft Silverlight. "Tin tức." (Ngày 10 tháng 9 năm 2008) http://www.microsoft.com/silverlight/news/default.aspx
- Moroney, Laurence. "Bắt đầu phát triển web, Silverlight và ASP.NET AJAX." Apress, 2008.
- Schonfeld, Erick. "Không quan trọng bằng cách NBC quay nó, Thế vận hội web chiến lược đi đến một kẻ thua cuộc." TechCrunch. Ngày 25 tháng 8 năm 2008. (Ngày 10 tháng 9 năm 2008) http://www.techcrunch.com/2008/08/25/no-matter-how-nbc-spins-it-olympics- web-strategy-come-up -kẻ thua cuộc/
- Stelter, Brian. "Đối tượng Web của Trò chơi Soars cho NBC và Yahoo." Thời báo New York. Ngày 24 tháng 8 năm 2008. (Ngày 10 tháng 9 năm 2008) http://www.nytimes.com/2008/08/25/sports/olympics/25online.html
- Hướng dẫn Java. "Đối tượng là gì?" Ngày 14 tháng 2 năm 2008. (Ngày 10 tháng 9 năm 2008) http://java.sun.com/docs/books/tutorial/java/concept/object.html
- Wenz, Christian. "Thiết yếu Silverlight." O'Reilly. Năm 2008.
- Wildermuth, Shawn. "Bắt đầu với Silverlight." O'Reilly. Năm 2007.