Silverlight 작동 방식

Sep 22 2008
2008년 하계 올림픽을 온라인으로 방송하기 위해 미국 방송 네트워크 NBC는 Microsoft Silverlight를 선택했습니다. Adobe Flash를 능가하고 새로운 표준을 세울 수 있습니까?
Bill Gates 이미지 갤러리 Bill Gates는 2008 소비자 전자 제품 쇼케이스에서 Silverlight에 대해 이야기합니다. 더 많은 빌 게이츠 사진을 보십시오.

월드 와이드 웹 브라우징은 1990년대 초반부터 많은 변화를 겪었습니다. 그 당시 대부분 의 웹 페이지 는 정적 텍스트, 몇 개의 이미지 및 가끔 반복되는(종종 짜증나는) MIDI 사운드 파일로 구성되었습니다. 그러나 웹은 수년에 걸쳐 더욱 복잡해졌습니다. 오늘날 비디오, 애니메이션, 사운드 및 대화형 기능이 통합된 웹 사이트를 방문할 수 있습니다. 가장 발전된 웹 사이트에서는 마치 영화 속으로 빨려 들어가는 것과 같습니다. 그러나 이러한 새로운 기능을 만들고 보고 상호 작용하기 위해 프로그래머는 새로운 응용 프로그램을 만들어야 했습니다. 이러한 응용 프로그램 중 하나는 Microsoft의 Silverlight 프로그램 입니다.

Silverlight는 쉬운 설명을 거부합니다. 여러 면에서 Adobe Flash와 유사합니다. Silverlight를 사용하려면 개발자와 사용자가 클라이언트를 다운로드해야 합니다. 웹 브라우저는 이 다운로드 없이 Silverlight 콘텐츠를 처리할 수 없습니다. 웹 개발자는 스트리밍 비디오 , 오디오 및 애니메이션을 웹 페이지에 통합할 수 있습니다. 프로그래머는 Silverlight 기술을 사용하여 복잡한 사용자 대화형 웹 응용 프로그램을 만들 수 있습니다. World Wide Web에서 이러한 응용 프로그램의 이름은 RIA ( Rich Internet Applications )입니다.

RIA가 더욱 정교해짐에 따라 데스크탑 응용 프로그램(하드 드라이브에 있는 프로그램)과 웹 기반 프로그램 간의 차이가 사라지기 시작합니다. 우리가 인터넷 을 사용하여 데이터 처리 및 저장 요구 사항을 제공함 에 따라 웹 브라우저는 결국 완전한 웹 기반 운영 체제 로 진화할 수 있습니다. 이러한 방식으로 인터넷을 활용하는 것을 클라우드 컴퓨팅 이라고 합니다. 프로그램과 데이터는 개별 사용자의 컴퓨터가 아니라 인터넷의 "클라우드"에 있습니다.

Silverlight는 프로그래머가 더 나은 RIA를 만들 수 있도록 설계된 수십 가지 도구 중 하나일 뿐입니다. Microsoft 엔지니어는 Silverlight를 다른 Microsoft 프로젝트의 확장으로 구축했지만 응용 프로그램 자체는 독립적입니다. Microsoft는 Silverlight를 플랫폼 간, 브라우저 간 기술로 홍보합니다. 즉, Silverlight 응용 프로그램은 PC 또는 Mac 컴퓨터와 Internet Explorer , Firefox 또는 Safari와 같은 브라우저 내에서 작동해야 합니다. Silverlight는 곧 Linux 컴퓨터에서도 작동할 것입니다. Mono라는 오픈 소스 프로젝트가 Linux 버전을 만들기 위한 노력을 주도하고 있습니다.

Silverlight는 신생 기술이지만 문제나 논란이 낯설지 않습니다. 일부 개발자와 사용자는 작동하기 위해 다운로드 가능한 플러그인이 필요한 또 다른 웹 기술에 관심이 없습니다. 그리고 2008년 베이징 올림픽 기간 동안 NBC와의 파트너십은 마이크로소프트가 기대했던 것만큼 큰 화제를 불러일으키지 못했을 수도 있습니다.

그러나 이 모든 것을 다루기 전에 먼저 Silverlight의 내부를 자세히 살펴보겠습니다.

내용물
  1. 실버라이트 베타
  2. Silverlight 개발
  3. Silverlight 응용 프로그램
  4. 실버라이트 비디오

실버라이트 베타

엔지니어링 회사 Thomas Wilmes와 같은 회사는 Silverlight를 사용하여 전체 웹 사이트를 구축하고 있습니다.

Silverlight에 대한 까다로운 점 중 하나는 이 글을 쓰는 시점에서 Silverlight 1과 Silverlight 2 Beta의 두 가지 버전이 있다는 것입니다. Silverlight 1은 JavaScript 프로그래밍 언어로 작성된 응용 프로그램을 지원합니다. Silverlight 2의 베타 버전은 C# ("c sharp"로 발음) 및 Visual Basic 과 같은 추가 프로그래밍 언어를 지원합니다 . Silverlight의 두 버전 모두 .NET 프레임워크 내에서 작동합니다 .

.NET이란 무엇입니까? Microsoft 의 다른 제품입니다 . .NET 프레임워크는 프로그래밍 모델입니다. 프로그래머는 이 모델 내에서 응용 프로그램, 특히 XML ( eXtensible Markup Language ) 에 의존하는 웹 응용 프로그램을 구축할 수 있습니다 .

.NET Framework의 두 가지 주요 구성 요소는 공용 언어 런타임클래스 라이브러리 입니다. 공용 언어 런타임은 관리자처럼 작동합니다. 응용 프로그램을 모니터링하고 응용 프로그램이 제대로 실행되는 데 필요한 리소스(예: 메모리 또는 처리 능력)를 할당합니다. 클래스 라이브러리에는 프로그래머가 응용 프로그램을 만드는 동안 의존할 수 있는 재사용 가능한 여러 소프트웨어 개체 가 포함되어 있습니다. 소프트웨어 객체에는 상태동작 의 두 가지 특성이 있습니다.. 개체의 상태는 개체가 가질 수 있는 다양한 조건을 나타냅니다. 예를 들어, 프로그램은 "실행 중", "일시 중지됨" 및 "중지됨" 상태를 가질 수 있습니다(동시에 모두는 아니지만). 동작은 개체가 할 수 있는 작업을 나타냅니다. 이 예에서는 "시작", "일시 중지" 및 "종료"가 포함됩니다.

그리고 그것은 Silverlight를 둘러싼 프레임워크일 뿐입니다! Silverlight 내에서 Microsoft는 WPF ( Windows Presentation Foundation ) 기술과 XAML ( eXtensible Application Markup Language ) 지원을 포함합니다. 응용 프로그램 개발자는 WPF와 XAML을 모두 사용하여 웹 응용 프로그램을 만들 수 있습니다. WPF와 XAML은 모두 .NET 프레임워크 내에서 원활하게 작동합니다. Microsoft는 HTML ( Hypertext Markup Language )에 제한이 있기 때문에 WPF를 개발했습니다 . 웹 브라우저는 HTML이 지원하기에는 너무 복잡한 기능을 실행할 수 있습니다.

WPF는 벡터 기반 렌더링 엔진을 사용하여 응용 프로그램용 그래픽을 생성합니다. 2D 및 3D 그래픽을 지원할 수 있으며 개발자에게 .NET 내에서 작업하여 응용 프로그램에 전원을 공급할 수 있는 수단을 제공합니다. XAML의 주요 목적은 개발자에게 응용 프로그램의 모양을 조정할 수 있는 수단을 제공하는 것입니다. WPF와 XAML은 함께 Silverlight 응용 프로그램의 모양과 동작을 정의합니다.

WPF 및 XAML이 응용 프로그램의 모양과 동작을 결정하는 반면 프로그래머는 다른 컴퓨터 언어를 사용하여 응용 프로그램 자체를 빌드합니다. Silverlight 1은 JavaScript 만 지원하지만 Silverlight 2의 베타 버전은 여러 동적 언어를 지원합니다. 프로그래머는 .NET 프레임워크 내에서 작업하는 동안 이러한 언어를 사용하여 응용 프로그램을 빌드하고 WPF 및 XAML을 사용하여 응용 프로그램을 웹 검색 환경에 통합합니다. 모든 Silverlight 응용 프로그램은 웹 브라우저 내에서 실행됩니다.

Silverlight 플랫폼의 아키텍처를 살펴보고 이러한 요소가 모두 함께 작동하여 프로그래머에게 RIA를 구축하는 데 필요한 플랫폼을 제공하는 방법을 살펴보겠습니다.

Silverlight 개발

Microsoft는 Silverlight 개발자가 질문을 하고 팁을 교환할 수 있는 특별 포럼 웹 사이트를 호스팅합니다.

모든 소프트웨어와 마찬가지로 Silverlight 플랫폼에는 아키텍처 라고 하는 특정 기능 배열이 있습니다 . 프로그램의 아키텍처는 프로그램이 작동하는 방식에 대해 많은 것을 알려줄 수 있습니다. 논리적인 방식으로 작업을 그룹화하고 프로그램의 다른 부분이 전체 서비스를 제공하기 위해 함께 작동하는 방법을 보여줍니다. Silverlight에 대한 Microsoft의 목표는 차세대 웹 기반 응용 프로그램을 위한 강력하지만 단순한 플랫폼을 만드는 것입니다.

Microsoft 는 Silverlight 플랫폼의 아키텍처를 추가 설치 프로그램 및 업데이트 요소가 있는 두 가지 주요 구성 요소로 나눕니다. 두 가지 주요 구성 요소에는 핵심 프레젠테이션 프레임워크 와 Silverlight용 .NET 프레임워크가 포함됩니다. 차례대로 각각 살펴보자.

핵심 프레젠테이션 프레임워크에는 다음이 포함됩니다.

  • 응용 프로그램 내에서 모든 그래픽, 애니메이션 및 텍스트를 생성 하는 사용자 인터페이스 ( UI ) 렌더링 엔진
  • 키보드 , 마우스 및 디지털 태블릿과 같은 장치의 사용자 입력을 처리하는 입력 인터페이스
  • 여러 오디오 및 비디오 파일 형식을 지원하는 미디어 엔진
  • 개발자가 애플리케이션 내에서 미디어에 대한 제어를 유지할 수 있게 해주는 디지털 권한 관리 요소
  • 맞춤형 애플리케이션 제어 지원
  • 동적 UI 레이아웃 지원 -- 이 기능을 통해 개발자는 실시간으로 애플리케이션 UI의 모양을 변경할 수 있습니다.
  • 데이터 바인딩 지원 -- UI 요소를 애플리케이션 내의 데이터 개체에 연결
  • XAML 용 파서

.NET Framework에는 다음과 같은 기능이 있습니다.

  • LINQ ( Language-Integrated Query ) 기능 지원 - LINQ를 통해 개발자는 다양한 소스의 데이터를 통합할 수 있습니다.
  • 암호화와 같은 기본적인 프로그래밍 기능을 지원 하는 기본 클래스 라이브러리
  • 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 Echo myPlace application uses Silverlight to tie news stories to geographic locations.

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.

Buzzoggi uses Silverlight to gather hot topic key words from several news RSS feeds and display them in a cloud.

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

NBC used Silverlight to broadcast Olympic events over the Web to certain users in the United States.

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.

NBC가 스트리밍 비디오 플랫폼 으로 Adobe Flash를 선택했다면 아마도 NBC의 온라인 시청자가 더 많았을 것 입니다. 또는 NBC가 온라인으로 방송되는 이벤트를 제한하지 않았다면 더 많은 사람들이 웹에서 게임을 보았을 것입니다. 그러나 일부에서는 실험이 실망스럽다고 말했지만 Microsoft는 수백만 명이 Silverlight를 다운로드했다는 것을 알고 있습니다. Microsoft의 책에서는 그것이 승리로 간주됩니다.

Microsoft는 미국의 다른 유명 기업과 파트너십을 맺었습니다. 2007년 말, 메이저 리그 베이스볼의 스트리밍 비디오 플레이어가 Silverlight로 전환되었습니다. CBS는 사용자 생성 콘텐츠를 위한 대화형 웹 플랫폼을 만들 때 Silverlight를 선택했습니다. 그리고 NBA는 온라인 미디어 플레이어로도 Silverlight를 선택했습니다.

Silverlight가 차세대 인터넷 표준이 될까요? 아직 말하기는 이르다. Adobe Flash보다 강력하다고 주장할 수도 있지만 Flash는 시장에서 훨씬 더 깊이 침투했습니다. 궁극적으로 최고의 기술이 무엇이든 사용자에게 그들이 원하는 몰입형 웹 브라우징 경험을 제공할 것입니다.

Silverlight 및 관련 주제에 대해 자세히 알아보려면 다음 페이지에 있는 링크를 참조하십시오.

허니문 끝났어?

NBC는 웹에서 Sunday Night Football의 비디오 스트림을 제공하기 위해 Silverlight를 사용하지 않을 것입니다. 대신 Adobe Flash를 사용할 것입니다. 그러나 NBC가 Microsoft를 무시하고 있다고 가정하지 마십시오. 이 경우 내셔널 풋볼 리그는 Flash를 사용하기로 결정했습니다[출처: Learmonth ].

더 많은 정보

관련 기사

  • 마이크로소프트의 작동 방식
  • 컴퓨터 메모리 작동 방식
  • 그래픽 카드 작동 방식
  • 인터넷 TV 작동 방식
  • 운영 체제 작동 방식
  • 스트리밍 비디오 및 오디오 작동 방식
  • 텔레비전 작동 방식
  • 비디오 포맷 작동 방식
  • YouTube 작동 방식

더 좋은 링크

  • 마이크로소프트 개발자 네트워크
  • 공식 Microsoft Silverlight 사이트

출처

  • 쿠퍼, 찰스. "우리 모두는 이 올림픽을 좋아합니다. 맞죠? Adobe가 아닙니다." 씨넷. 2008년 8월 14일. (2008년 9월 10일) http://news.cnet.com/8301-10787_3-10017507-60.html?tag=nefd.top
  • 프롬, 댄. "Adobe: Silverlight Who? Flash 비디오는 전 세계적으로 올림픽을 지배했습니다." 실리콘 앨리 인사이더. 2008년 8월 27일. (2008년 9월 9일) http://www.alleyinsider.com/2008/8/adobe-silverlight-who-flash-video-dominated-olympics-worldwide-adbe-msft-
  • 라모니카, 마틴. "Linux의 Silverlight? 우리가 참여하고 있다고 Mono 설립자가 말했습니다." 씨넷. 2007년 5월 1일. (2008년 9월 10일) http://news.cnet.com/8301-10784_3-9714669-7.html
  • 리어먼, 마이클. "NFL, NBC 라이브 축구를 위해 Adobe의 Flash를 탭합니다." 실리콘 앨리 인사이더. 2008년 9월 4일. (2008년 9월 10일) http://www.alleyinsider.com/2008/9/nfl-nbc-tap-adobe-s-flash-for-live-football
  • 맥도날드, 매튜. "실버라이트 2 비주얼 에센셜." 에이프레스. 2008.
  • 맥도날드, 매튜. "실버라이트와 ASP.NET 공개." 뛰는 사람. 2007.
  • Matyszczyk, 크리스. "온라인 광고주들은 NBC의 올림픽 성과에 실망하고 있습니까?" 씨넷. 2008년 8월 18일. (2008년 9월 10일) http://news.cnet.com/8301-17852_3-10018721-71.html
  • 마이크로소프트 개발자 네트워크. "Visual Studio의 .NET Framework 프로그래밍." 2007년 11월. (2008년 9월 9일) http://msdn.microsoft.com/en-us/library/k1s94fta.aspx
  • 마이크로소프트 개발 네트워크. "실버라이트." 2008. (2008년 9월 8일) http://msdn.microsoft.com/en-us/library/bb188743.aspx
  • 마이크로소프트 개발 네트워크. "윈도우 프레젠테이션 파운데이션." 2007년 11월. (2008년 9월 8일) http://msdn.microsoft.com/en-us/library/ms754130.aspx
  • 마이크로 소프트 실버 라이트. "소식." (2008년 9월 10일) http://www.microsoft.com/silverlight/news/default.aspx
  • 모로니, 로렌스. "웹 개발 시작, Silverlight 및 ASP.NET AJAX." 에이프레스, 2008.
  • 숀펠트, 에릭. "NBC가 어떻게 돌리더라도 올림픽 웹 전략은 패자입니다." 테크크런치. 2008년 8월 25일. (2008년 9월 10일) http://www.techcrunch.com/2008/08/25/no-matter-how-nbc-spins-it-olympics-web-strategy-comes-up -패자/
  • 스텔터, 브라이언. "NBC와 Yahoo를 위한 게임용 웹 잠재고객 급증" 뉴욕 타임즈. 2008년 8월 24일 (2008년 9월 10일) http://www.nytimes.com/2008/08/25/sports/olympics/25online.html
  • 자바 튜토리얼. "객체란 무엇인가?" 2008년 2월 14일. (2008년 9월 10일) http://java.sun.com/docs/books/tutorial/java/concepts/object.html
  • 웬즈, 크리스찬. "필수 실버라이트." 오라일리. 2008.
  • 와일더무트, 숀. "실버라이트 시작하기." 오라일리. 2007.