본문 바로가기
관심

Silverlight

by 솜씨제이 2007. 6. 29.

최근 Microsoft에서 출시 준비 중인 Silverlight(이전에는 WPF/e로 불렸다)에 대한 관심이 높다. 얼마 전에 열린 MIX07에서 Silverlight 1.1 alpha가 발표되면서 관심이 더 증폭되고 있다.

Silverlight 1.0은 아직 베타 상태로 올 여름에 정식 버전이 나올 예정이다. 대략 1.2MB 정도의 크기로 다양한 미디어 기능을 사용할 수 있다.

VC-1, WMV, MP3, WMA 코덱을 내장하고 있어서 이를 통해서 HD급 화질(720p)의 동영상을 재생할 수 있고 미디어를 일반 웹서버에서 다운로드 중에 재생할 수 있다. 즉, 별도의 스트리밍 서버 없이 스트리밍 서비스가 가능한 것이다. 물론 별도의 스트리밍 서버(Windows Media Server 등)도 지원한다고 한다.

Silverlight는 XAML(Extensible Application Markup Language - Microsoft에서 제공하는 어플리케이션 UI를 표현하기 위한 XML 구문)을 이용한 확장된 UI와 애니메이션 기능을 제공하고 벡터 그래픽을 사용할 수 있다. 또, 풀스크린 모드를 지원하고 비디오 재생 화면 위에 메뉴, 텍스트, 컨트롤 등의 오버레이도 가능하다.

Silverlight 어플리케이션 개발은 텍스트 에디터로 XAML 파일과 JavaScript 파일만 만들어 주면 된다고 한다. 하지만 실제로 XAML을 직접 코딩하는 건 쉽지 않고 Microsoft에서 제공하는 Expression Studio Suite라는 XAML 파일 생성을 위한 별도의 디자인 툴을 사용하는 것이 더 나은 방법이라고 생각한다.

Silerlight 1.1은 아직 알파 상태로 1.0의 기능에 플랫폼 독립적인 .NET Framework를 추가한 버전이다. 현재 Windows 버전과 Mac OS X 버전을 제공하고 있고 Windows 버전이  4MB정도이고 OS X 버전이 10MB정도이다. .NET Framework을 지원하므로 CLR을 기반으로 하는 다양한 언어를 사용할 수 있고 WPF도 사용이 가능하다.

.NET Framework을 포함하므로 Javascript보다 훨씬 나은 성능을 기대할 수 있겠고 Javascript와 마샬링을 지원해서 Javascript에서 C# 메소드를 호출하고 C#에서 리턴값으로 .NET 컬렉션을 리턴하는 것도 가능하다고 한다.

그리고 DLR(Dynamic Language Runtime)이란 것도 지원하는데 소스 코드를 인터프리트하는 것이 아니라 소스 코드를 IL로 저장하고 실행시간에 네이티브 코드로 JIT 컴파일해서 실행한다고 한다. 역시 인터프리트 방식보단 더 나은  성능을 보여주리라 생각된다. Microsoft는 DLR로 Python, Ruby, Javascript, Dynamic VB 등의 Dynamic Language를 지원할 예정이라고 한다.

Silverlight는 Web 2.0에 대한 Microsoft의 해답이라고 볼 수 있다. 처음에 WPF/e라는 이름으로 알려졌을 때에는 단순히 Flash에 대항하기 위해서 서둘러 내놓은 방안으로 Flash와 비교해볼 때 그 미래가 그다지 밝아 보이지 않았다. XAML + Javascript만으로는 Flash에 비해서 뭔가 부족해보였던 것이 사실이다.

그러나 Silverlight 1.1 발표를 접하면서 상당히 기대가 된다. Silverlight 1.0이 단순히 Flash의 대안 정도라고 한다면 Silverlight 1.1은 Microsoft 만의 새로운 개념이 많이 추가되어 있다. 과연 Silverlight 가 정말 사용자에게 받아들여질 수 있을지는 확실하지 않지만 새로운 가치를 창조할 수 있는 기반은 제공해줄 수 있을 것으로 기대해 본다.

참고로 다음은 Silverlight 1.1 알파 버전에 대한 레퍼런스 맵이다.

사용자 삽입 이미지


댓글