마이크로소프트 실버라이트

마이크로소프트 실버라이트()는 애니메이션, 벡터 그래픽스, 오디오-비디오 재생을 비롯한 리치 인터넷 애플리케이션에 대한 지원을 제공하는 웹 브라우저 플러그인이다. 실버라이트는 어도비 플래시, 어도비 플렉스, 어도비 쇼크웨이브, 자바FX, 애플 퀵타임과 같은 제품과 경쟁하였다. 2021년 10월 12일 지원이 종료되었다.

실버라이트는 윈도우 프레젠테이션 파운데이션/에브리웨어 (Windows Presentation Foundation/Everywhere, 줄여서 WPF/E)라는 코드 이름으로 개발되었다. 실버라이트는 마이크로소프트 윈도우, OS X 운영 체제에 쓰이는 여러 개의 웹 브라우저 제품과 호환한다. 윈도우 모바일 6와 심비안 오에스 (시리즈 60) 전화를 비롯한 휴대용 장치도 지원할 예정이다. 문라이트라는 이름의 서드파티 자유 소프트웨어 기능은 GNU/리눅스 호환 기능으로 개발 중이다. 그러나 문라이트는 현재 실버라이트 버전4 프리뷰 지원을 끝으로 개발이 중단된 상태이다.

개요 
실버라이트는 WPF와 비슷한 retained 모드의 그래픽 시스템을 제공하며 멀티미디어, 그래픽스, 애니메이션, 상호 작용을 하나의 런타임으로 통합한다. XAML과 동작하도록 설계되어 있으며 자바스크립트로 작성할 수 있다. XAML은 벡터 그래픽스, 애니메이션을 짜기 위한 마크업 언어로 사용할 수 있다. 실버라이트로 만든 텍스트 콘텐츠는 더 검색이 쉽고 컴파일이 되지 않은 플래시 쪽보다 색인을 만들기 쉽다. 또, 이러한 과정은 문자열(XAML)로 표현한다. 실버라이트는 윈도우 비스타용 윈도우 사이드바 가젯을 만드는 데 사용할 수 있다.

실버라이트는 윈도우 미디어 플레이어나 윈도우 미디어 플레이어 액티브엑스 컨트롤, 또 윈도우 미디어 브라우저 플러그인을 사용하지 않아도 실버라이트를 지원하는 브라우저를 사용한다면 WMV, WMA, MP3 미디어 콘텐츠 재생을 지원한다. 윈도 미디어 비디오 9이 SMPTE VC-1 표준이기 때문에 실버라이트는 VC-1 비디오도 지원하지만 ASF 파일 포맷에서만 사용할 수 있다. 게다가 소프트웨어 라이선스 동의에서 VC-1은 "개인과 비상업 용도의 소비자에게만 라이선스한다"는 내용이 포함되어 있다. 실버라이트는 Ajax 기술의 문서 객체 모델 인터페이스를 통해 이용할 수 있는 XML 콘텐츠를 유동적으로 불러들이게 만들 수 있다. 실버라이트는 응용 프로그램이 요구할 수 있는 스크립트, 미디어 등의 데이터와 같은 다운로드 콘텐츠에 사용할 수 있는 Downloader 객체를 추가해 놓았다.
버전 2.0에서 프로그래밍 로직은 루비, 파이썬과 같은 공통 다이내믹 프로그래밍 언어를 비롯한 어떠한 닷넷 언어로도 작성할 수 있다.
버전 3.0에서 GPU 하드웨어 가속과 H.264, AAC, MPEG-4의 코덱이 추가되었다.

버전

실버라이트 1 
실버라이트 1은 윈도 프레젠테이션 파운데이션/에브리웨어(WPF/E)라는 코드이름으로 개발되어 2007년에 출시되었으며 사용자 인터페이스 (UI), 상호 작용, 사용자 입력, 기본 UI 컨트롤, 그래픽 및 애니메이션, 미디어 재생, 디지털 권리 관리(DRM), DOM 통합을 담당하는 프레젠테이션 프레임워크로 이루어져 있다. 다음과 같은 구성 요소로 이루어진다.
 입력 - 키보드, 마우스, 스타일러스 등의 입력 관리
 UI 코어 - JPEG와 같은 압축 래스터 이미지, 벡터 그래픽스, 문자, 애니메이션 등의 렌더링
 미디어 - MP3, WMA 표준, WMV7, WMV8, WMV9/VC-1 스트림 재생
 XAML - XAML마크업 언어를 이용해 UI 레이아웃을 만들 수 있게 함

실버라이트 2 
실버라이트 2 (이전에 버전 1.1로 불렸음)는 닷넷 프레임워크 3.0 기준으로 완전한 공통 언어 런타임 (CLR)을 갖춘 닷넷 프레임워크 버전을 포함하고 있다. 그러므로 어느 닷넷 언어로 작성된 프로그램이라도 실행시킬 수 있다.

실버라이트 2의 미디어 기능은 다음과 같다:
 WMA 10 Pro 낮은 비트 모드를 포함하여 WMA 프로페셔널 지원. 그러나 다중 채널 오디오 콘텐츠는 스테레오 출력으로 하향 변환될 수 있음.
 마이크로소프트 플레이레디 DRM 클라이언트를 통한 콘텐츠 보호
 윈도 미디어 서비스의 서버 측면 재생 목록
 미디어 스트림 소스 API

실버라이트 3 
실버라이트 3는 2008년 9월 22일에 인터내셔널 브로드캐스팅 컨벤션(IBC) 2008 쇼에서 발표되었다. 2009년 3월 18일 라스베이거스의 MIX09에서 모습을 드러냈다. 베타 버전은 같은 날 다운로드할 수 있게 되었다. 최종 버전은 2009년 4월 9일에 출시되었다.
 더 많은 수의 컨트롤 제공
 고급 오디오 부호화 (AAC) 오디오 디코딩
 하드웨어 가속 H.264 비디오 디코딩 지원
 1080p 영상의 부드러운 스트리밍
 2차원 요소의 3차원 변환 기능 제공
 사용자 지정 애니메이션
 그래픽 처리 장치의 가속을 통해 비주얼 트리(Visual Trees) 합성 가속
 비주얼 트리 캐시 가능
 요소 대 요소 바인딩 지원, 데이터 바인딩의 유효화 매커니즘 제공
 LocalConnection API를 포함하여 여러 개의 실행 중인 응용 프로그램들을 같은 컴퓨터 상에서 통신할 수 있음
 이진 XML 선택 사용
 Out-of-Browser 경험 지원
 실버라이트 3의 비동기 업데이트 자동 검사

실버라이트 4 
2009년 11월 18일 로스앤젤레스의 Professional Developers Conference에서 마이크로소프트사가 베타 버전의 실버라이트 4를 선보였다.
 구글의 크롬 브라우저 지원
 웹캠 및 마이크 지원
 인쇄 지원
 오른쪽 버튼 및 휠에 대한 마우스 지원 개선
 최종 사용자에게 메시지를 전달하는 새로운 통보 지원
 RichTextBox, 강화된 DataGrid 컨트롤과 같은 새로운 컨트롤
 컨트롤의 테마 추가 지원
 호스트 브라우저의 실버라이트 내부 HTML 렌더링 지원
 WCF 데이터 계층 기능 개선
 양방향 문자에 대한 지역화 강화
 Managed Extensibility Framework(MEF) 지원
 데이터 바인딩 지원 강화
 애니메이션 효과 강화
 클립보드와 드래그 앤드 드롭 지원
 딥 줌(Deep Zoom) 성능 강화
 WCF 리치 인터넷 애플리케이션(RIA) 서비스
 H.264 콘텐츠 보호, 오프라인 DRM 보호 미디어 재생 지원
 전체 화면에서 실행하는 동안 완전한 키보드 지원
 사용자의 로컬 문서 폴더에 대한 프로그램 접근
 로컬 컴포넌트 오브젝트 모델 (COM) 객체 지원

실버라이트 5 
2010년 12월 2일에 실버라이트 파이어스타터 행사에서 실버라이트 5 베타가 2011년 하반기에 공개될 것이라고 발표하였다. 최종 버전은 2011년 말로 계획되어 있다.
 GPU 가속 비디오 디코딩 지원
 내장 3차원 그래픽 지원 (스테레오스코픽 3D와는 다른 것임)
 자동 오디오 피치 조절을 통한 미디어 콘텐츠의 가변 재생 속도
 전력 감지 개선
 내장 원격 제어 지원
 더 빠른 응용 프로그램 시작 지원
 64비트 브라우저 지원 제공
 비주얼 스튜디오 2010의 응용 프로그램에 대한 자동화된 UI 테스트 지원
 개선된 문자 선명도 지원
 개발자는 데이터 바인딩 식을 디버깅하고 브레이크포인트나 바인딩을 설정할 수 있음

호환성 
기본적으로 실버라이트는 윈도우 XP 이상의 마이크로소프트 윈도우, OS X에서 모질라 브라우저와 새로운 버전의 인터넷 익스플로러에서 지원된다.

출시

리눅스에서의 구동 
실버라이트는 기본적으로 크로스 플랫폼을 지원하나 MS에서 자체적으로 리눅스용 버전을 따로 만들지는 않았다. 이전에 문라이트라는 프로젝트가 MS와의 협력으로 Novell이 개발했었으나 mono로 흡수된 이후 실버라이트 4 프리뷰 지원을 끝으로 개발이 중지된 상태이다.(현재 사용은 가능한 상태로 아래 외부 링크에서 설치할 수 있다.) 또는 Pipelight라는 플러그인을 wine에서 구동하고 브라우저 설정을 변경하는 방법으로도 실버라이트 사용이 가능하다.

각주

외부 링크 
 마이크로소프트 실버라이트
 MSDN 실버라이트 개발자 센터
 우분투용 실버라이트 플러그인 moonlight
 Pipelight를 이용한 우분투에서 실버라이트의 구동

마이크로소프트 API
포켓 PC 소프트웨어
2007년 소프트웨어
리치 인터넷 애플리케이션 프레임워크