현지 시간으로 2010년 12월 02일 오전 09시에 열렸던 Silverlight Firestarter 행사를 통해서 그 모습을 드렸냈던 Silverlight 5가 MIX11에서 드디어 Beta 버전이 발표 되었습니다. 작년에 열렸던 Silverlight Firestart 행사는 비교적 적은 사람이 초대되었고 주로 온라인으로 진행되었던 행사였다면 MIX11은 수천명이 모여서 진행되었던 대규모 행사였습니다.

Image

<온라인으로 진행되었던 The Firestarter 행사>

속도 제어가 가능해진 미디어 기능

Silverlight 5에 추가된 기능들을 하나 하나 살펴 보면 사용자들의 피드백을 하나 하나 잘 반영하고 있는 생각이 듭니다. 원래 Silverlight가 미디어와 관련된 기능이 강조되어 왔지만 Silverlight 5에서는 미디어와 관련된 기능이 한층 더 강화되었습니다. 특히 그 동안 교육 콘텐츠 업계로 부터 많은 문의를 받아왔던 Trickplay라고 부르는 미디어 재생 속도 제어 기능이 이번에 포함 되었습니다. 미디어 재생 속도를 제어하다 보면 불가피하게 음향의 톤이 올라가거나 낮아지는 현상도 함께 벌어지게 되는데 이럴 때 이번에 Silverlight 5에서 제공 되는 Trickplay에서는 이를 보정해서 원래 톤을 유지하는 기능도 함께 포함되어 있습니다.

Image(1)

영상이나 음향의 경우 대용량의 데이터를 빠르게 전송하기 위해서 모두 수학적으로 압축해 놓은 형태로 저장되고 전송됩니다. 그리고 이를 압축해 놓은 방식을 코덱이라고 부르며 각 각의 코덱은 라이선스가 적용되어 있습니다. 이전의 경우 압축된 영상이나 음향을 재생하기 위해서 수학적으로 다시 풀이하는 과정을 CPU에 의지했기 때문에 고화질의 영향을 넷북과 같은 저사양의 PC에서 재생하는 것이 불가능 했습니다.

하지만 Silverlight 5에서는 별도의 압축 해제용 하드웨어를 지원하기 때문에 CPU는 본연의 임무를 수행하고 영상이나 음향의 압축 해제는 전용 하드웨어를 통해서 처리할 수 있게 되었습니다. (압축 작업을 Encoding 압축 해제 작업을 Decoding이라 부르며 압축 해제를 전용으로 하는 소프트웨어나 하드웨어를 Decoder르 부른다.)

이를 통해서 저전력 저사양의 PC에서도 고화질의 영상이 재생 될 수 있게 되었습니다. 이외에도 Silverlight 5의 경우  전력관리를 위한 추가적인 기능이 포함되어 있어서 이미 다가온 모바일 PC시대의 가장 중요한 과제인 전원관리 문제에도 접근하고 있습니다.

Full 3D의 지원

Silverlight 3에서는 간단한

UI효과를 위한 3D가 부분적으로 지원되었지만 Silverlight 5 부터는 Full 3D 객체가 지원됩니다.

Image(2)

<Silverlight Firestarter에서 시연한 데모>

Image(3)

<MIX11에서 시연한 데모>

이는 Silvelight 5에서 제공되는 DrawingSurface를 통해서 지원되는 기능으로 완벽한 수준의 3D를 웹 상에서 구현할 수 있게 되었습니다. Silverlight 5는 3D 모델 포멧으로 COLLADA라는 포멧을 사용하고 있는데 COLLADA는 3D 객체를 표현하는 포멧으로 3D 업계에서 무료로 사용할 수 있게 공개되어 있습니다. Silverlight 5에서 제공되는 3D 기술의 이면에는 게임용 플랫폼으로 사용되고 있는 XNA가 있습니다. XNA는 PC, XBOX, Windows Phone 7등에서 게임 개발용으로 활발히 사용되고 있는 플랫폼 입니다. 이미 관련된 데모를 다운로드 해 볼 수 있으며 http://www.johnpapa.net/3dmix11 에서 다운로드 할 수 있습니다.

웹에서 3D를 구현하는 다양한 방법이 이미 존재하지만 Silverlight 5는 GPU 가속을 활용할 수 있어서 강력한 성능을 제공할 수 있으며 이미 다양한 플랫폼에서 검증된 공개된 포멧을 사용하고 있고 Silverlight 런타임만 있으면 이외에 추가로 설치해야 하는 것이 없다는 점들이 장점입니다.



더욱 더 강력해진 개발 모델

Data Binding은 개발자들이 최소한의 노력으로 데이터를 화면의 컨트롤과 연결 시킬 수 있는 방법을 제공해 줍니다. Silverlight의 경우 디자이너와 개발자들의 협업을 위해서 UI를 XML 기반인 XAML로 디자인하게 되어 있는데 이 경우 XAML에서 런타임시에 오류가 날 경우 오류를 찾기 어려운 경우가 있었습니다. Silverlight 5의 개발 도구의 경우 XAML상에서도 의심가는 컨트롤에서 직접 디버깅을 할 수 있는 기능이 제공됩니다. 
통신 방식에서는 업계 표준인 WS-Trust를 지원하게 되어서 통신 신뢰성을 100% 담보할 수 있게 되었고 Cloud 플랫폼인 Windows Azure와의 통신도 다양한 방법으로 할 수 있게 되었습니다.

Image(4)

<향상된 데이터 바인딩>

나머지 향상된 기능들  


웹 브라우저가 아닌 독자적으로 실행 시킬 수 있는 형태로 소프트웨어를 실행 시킬 수 있는 OOB(Out Of Browser)는 이번에도  기능이 추가 되었습니다. 여러개의 창을 띄울 수 있게 변경되었으며 기업 그룹 정책을 지원하는 등의 변화가 생겼습니다. 이번에 개선된 OOB관련 기능들로 인해서 Silverlight가 좀더 데스크탑용 일반 응용 프로그램들에 가까워 졌지만 웹을 기반으로 하고 있다는 점은 역시 변하지 않았습니다.

이외에도 좀 더 미려하게 폰트를 표현할 수 있는 기술과 PostScript 프린팅의 지원등은 사소하지만 큰 변화 중의 하나 입니다.

Image(5)

<더 선명해진 글씨와 강력해진 프린터 지원>
Pivot 기능이 기본 런타임에 포함되었으며 개발툴에서 자동으로 UI를 테스트 할 수 있는 기능이 추가 된 것도 놀라운 변화중에 하나 입니다. 일일히 테스트 하는 것이 아니라 한번의 시나리오 녹화로 지속적인 테스트/재현이 가능하고 그 과정을 추적하는 할 수 도 있어서 고품질의 제품을 만들어 내는데 큰 도움이 될 것 같습니다.

Silverlight 5는 현재 베타 버전의 런타임과 개발 툴을 다운로드 받을 수 있습니다.

작년 11월 Silverlight Firestarter에서 발표했던 일정대로 잘 진행되고 있습니다. 조만간 RC 버전의 발표 후에 올해 안에 강화된 미디어 기능과 Full 3D가 가능한 Silverlight 5를 만날 수 있게 될 예정입니다.

Image(6)

<Silverlight 5 출시 일정>