오늘 MIX 09 행사가 시작되면서 여러가지 기술들이 발표되고 있는 와중에…네, 드디어, Silverlight 3 소식입니다. MIX의 129개 세션 중에서 가장 많은 31개의 세션이 Silverlight에 할당되어 있을 정도로 Silverlight는 여전히 집중 과목입니다(국내 HugeFlow 분들이 진행하는 MIX09-T35F 세션도 있네요). Silverlight 2의 점유율도 국내 유저분들이 체감하는 것보다 훨씬 더 높기도 하지만, 이런 내용은 마케팅 분들게 맡기고…

재미난 것은(항상 하는 이야기지만;) Silverlight 1.0이 나온지 1년 반밖에 되지 않았다는 것입니다. Silverlight 1.0이 출시되고, 1.1이 공개되고, 1.1이라는 버젼으로는 설명이 안되기에 Silverlight 2라는 브랜드를 가지고 나왔고, 6개월만에 Silverlight 3의 베타버젼이 공개되었다는 것이죠. 3번째 버젼이 되면 항상 어떤 상황이든 하는 말이 드디어 쓸만해진 제품이 되었다는 말이겠습니다만, 이는 이전의 이야기고, Silverlight은 2부터 쓸만해졌고, 3부터 더욱 파워플 해졌습니다.

처음 계획 단계에서의 이번 업그레이드의 주요 골자는 사실 – 이미 공개해버린 H264/AAC 지원 이외에 - 2번째 버젼에서의 문제점들과 사용자들이 가장 많이 요구하고 불만으로 생각하는 기능들을 수집해서 이를 해결하는 것이었습니다. 문제는 이미 RIA 계의 경쟁자인 Adobe에서 사용자들의 입맛을 굉장히 까다롭게 혹은 좋게 이야기하면 높은 수준으로 만들었다는데 있었습니다. Flash와는 같은 분류에 속하게 되었다고는 해도 방식은 상당히 다름에도 불구하고 사용자분들의 요구는 “Flash/Flex에서는 이게 되는데 여기서는 왜 안돼냐”였습니다. 그렇다고 해서 Flash/Flex에서 지원한다고 무조건 비슷하게 만드는 것은 안될말이고, 최소한 사용자분들이 가장 목소리를 내는 부분에 있어서 높은 우선순위를 두고 버젼업에 박차를 가했습니다.

Silverlight 3의 여러가지 고민들 중 다른 큰 것 한가지는 빠른 버젼업으로 인하여 하위 호환성을 해치는 일이 없도록 하는 것이었습니다. Silverlight 2로 응용프로그램을 막 만들고 있는데 갑자기 Silverlight 3이 나와서 안되더라…하는 이야기가 나오면, 누가 개발을 하겠냐는 이야기죠. 이는 사실 WPF와의 호환성을 유지하는 것(WPF는 다음 버젼의 개발과 함께 또 저멀리 앞서 가고 있죠)과는 충돌이 있는 부분이기도 합니다만, 우선순위는 무조건 Silverlight 2와의 하위 호환성으로 정했습니다. 충돌이 있는 WPF와의 호환은 대체가 아닌 추가를 통해서 이뤄지도록 했구요. 일단 베타 버젼이기 때문에 Silverlight 2와 문제가 전혀 없을 것이라고 할 수 없지만, 문제가 발견된다면 무조건 Silverlight 3 정식 버젼에서는 해결을 하는 것이 큰 우선순위입니다. 언제나 그렇듯 Silverlight 3와 병행하여 개발되고 있는 관련 제품들이 여러가지가 있습니다. 모두들 아시는 IE8와 Windows 7이 대표적인데, 이들과의 호환성 테스트 기간도 물론 있었습니다.

1년내에 최대한 처리할 수 있는 이슈들을 모두 스케줄에 넣을 수 있는 한 넣고, 퀄리티를 맞추기 위해서 매주 바뀌는 테스트 스케줄을 감당하면서 베타버젼을 출시하기에 이르른 것이죠. 여러 기능들이 테스트할 시간이 없기 때문에 잘려나간 것을 생각하면 스케줄 때문에 안타까워하실 개발자분들이 있으리라 생각됩니다. 아무튼 그러다보니, 버젼 1.1처럼 Silverlight 3 이전에 2.5였다가 큰 기능들을 .5 버젼으로 커버하기보다는 메이저 업그레이드로 보는 것이 맞기에 3로 바뀌었습니다.

이번 Silverlight 3 베타버젼 공개에 관련된 다양한 제품들은 다음과 같습니다:

  • Silverlight 3 Developer Runtime(Beta) (Windows, Mac) – 이번 베타버젼에는 User Runtime이 배포되지 않습니다. 즉 Go Live 라이센스를 제공하지 않고, 개발자분들이 사용해볼 수 있도록 개발자 런타임만을 제공합니다.
  • Silverlight 3 SDK(Beta) - SDK에는 이전의 내용들 이외에 다음이 부가적으로 포함됩니다:
  • Silverlight Toolkit Update – 새로운 컨트롤들이 소스와 함께 왕창 추가됩니다.
  • Silverlight 3 Tools(Beta) – Silverlight 3를 지원하는 내용 이외에 이전 버젼과는 크게 달라진 점은 없습니다.(v2 프로젝트는 지원이 안됩니다.주의요.)
  • Expression Blend 3 Preview – Silverlight 3의 지원 이외에 수많은 향상과 새 기능들이 포함되었습니다. 무엇보다 눈에 띄는 점은(전에 답답했던 관계로)…UI가 좀 더 유연해진 점?
  • .NET RIA Services(Preview) – LOB 시장을 위해서 준비하던 Framework.
  • IIS Media Services Extension 발표
  • Silverilght 3 베타용 MSDN 문서CHM 문서 – 이전에 SDK에 있던 문서들이 제거되고 MSDN에서 읽거나 별도로 다운로드 받을 수 있습니다.

Silverlight 3는 간략하게 다음의 새로운 기능들을 포함합니다:

  • Media – H.264/AAC 지원. Smooth Streaming(Adaptive Streaming), 써드파티 코덱 제작 가능, Silverlight PlayReady DRM, Fullscreen시 GPU Accel, Client logging.
  • Rich Graphics – Perspective 3D, Pixel Shader, Writable Bitmap, Cached Composition, Custom Easing, Image 크기 미리보기, 테마 스위칭, 폰트 지원 강화, Style Composition.
  • New Controls과 기능들 – TreeView나 MultiSelect ListBox등의 다양한 새 Control들, Deep Linking 지원, Data Validation, Data Forms, Element to Element Binding, Business objects 지원.
  • Out-of-Browser 경험 지원 – 온라인 Silverlight 응용프로그램을 오프라인으로 캐싱하여 실행 가능.
  • 기타 - Save As 기능, 압축 알고리즘 변경(약 20%향상), .NET Assembly caching(중복 바이너리 별도 다운로드), Accessibility 향상, Local Connection, Binary XML 지원, DeepZoom 향상, 오프라인 이벤트, 등등등등

(이번 베타 버젼은 안타깝게도 영어 이외에 일본어로만 번역이 되었고 제품들의 한글 버젼은 나오지 않습니다.)

이외에도 Silverlight용 Virtual Earth Control이나 WWT(World Wide Telescope) Silverlight 버젼 등의 Silverlight 2에 관한 소식도 있었습니다.

더 자세한 소식은 에반겔리온분들이 지속적으로 블로깅하시리라 믿슈미다~