1 Results for '소개'

  1. 2007.09.22 실버라이트를 소개합니다.
이 글은 네이버 실버라이트 카페에서 연재될 실버라이트 Get Started!의 첫번째로 실버라이트를 간단하게 소개하고 있어요. 최대한 실버라이트를 처음 접하는 분들을 위해 작성했지만 부적절하거나 추가/수정이 필요한 부분이 있으면 피드백을 주세요.


실버라이트 소개

실버라이트를 한 문장으로 요약하자면 '차세대 웹을 위한 미디어 경험과 RIA(Rich Internet Application)를 제공하는 크로스 플랫폼, 크로스 브라우저를 지원하는 플러그인'이라고 할 수 있습니다. 이 글에서는 실버라이트를 소개하고 다음 질문에 대한 답을 제시합니다.

할 수 있는 것은?

실버라이트는 벡터기반의 그래픽, HD급의 미디어 및 애니메이션 등의 표현 능력으로 더 풍부하고 흥미있는 UX를 갖춘 RIA(Rich Internet Application)를 만들 수 있습니다.


[FOX MOVIE 데모]
HD급 동영상을 부드럽게 재생할 정도로 효율적인 미디어 처리 능력

[MLB 미디어 서비스]
이미 서비스되고 있는 미디어 서비스를 더 낮은 비용으로 구현 가능

[59회 EMMYS시상식 홈페이지]
미디어를 통합하는 이벤트, 프로모션 홈페이지

[미국 2008선거 프로모션 데모]
보다 인터랙티브한 프로모션 효과를 제공

[Windows Vista 스타일의 웹]
융통성있는 비트맵과 벡터 그래픽지원으로 풍부한 인터페이스를 제작 가능

[타블렛 입력을 통한 검색 데모]
보다 정교한 디지타이저 입력을 통합하는 INK 기능 지원

[3rd. 파티 컨트롤]
편리한 사용자 컨트롤 제작 기능으로 풍부한 3rd. 파티 컨트롤이 제공됨

[개인화된 검색 페이지]
편리한 백-엔드 서비스 연동으로 새로운 UX 모델 제시















이 외에도 다양한 서비스가 시도되거나 실행되고 있습니다. 다음의 링크들에서 느껴보세요!

동작 환경은?

실버라이트는 크로스 플랫폼, 크로스 브라우저를 지원하는 브라우저 플러그인입니다. 현재 Windows와 MAC을 공식적으로 지원하고 있고 추가적으로 Linux에 대한 지원도 제공되며 브라우저는 IE는 물론 Firefox, Safari, Opera의 4대 브라우저를 모두 지원합니다.

PC 뿐만 아니라 Windows Mobile 6이상을 지원하는 플랫폼에서도 지원되며 향후 더 작은 임베디드 기기에까지 지원이 예정되어 있습니다.

개발 환경은?

지루하지만 먼저 아키텍쳐 다이어그램을 한번 쭈욱 살펴보시기 바랍니다. 세부적인 항목을 이해하려고 하는 것 보다는 전반적으로 어떤 용어들과 기술들이 사용되고 있는지 둘러보시면 됩니다.

개발자의 관점에서 실버라이트는 현재 실버라이트는 버전 1.0과 버전 1.1로 나뉘어 있고 다음과 같은 차이점을 가집니다.

  • Silverlight 1.0
    JavaScript 기반의 개발 모델을 가지고 있으며 실버라이트의 그래픽 코어와 미디어 및 기본 입력 장치를 지원합니다. 실버라이트 1.0 런타임은 1.5MB라는 작은 용량으로 가볍고 빠르게 배포할 수 있습니다. JavaScript로 개발되기 때문에 개발툴은 메모장에서 비주얼 스튜디오까지 마음에 드는 어느 것이든 좋습니다. 물론 비주얼 스튜디오 2008(현재 Beta2)에서는 JavaScript의 디버깅과 인텔리센스를 지원하며 비주얼 스튜디오의 강력한 협업 기능의 도움을 받을 수 있으므로 강력하게 추천합니다.
  • Silverlight 1.1
    실버라이트 1.0의 모든 기능을 포함하면서 거기에 닷넷 프레임워크의 풍부한 프레임워크 코어의 지원을 받을 수 있습니다. 개발언어로는 기본적으로 C#과 VB.NET을 지원하며 DLR(Dynamic Language Runtime)이라는 엔진으로 IronPython, IronRuby와 같이 다양한 언어를 지원합니다. 반면 닷넷 프레임워크의 지원과 향상된 기능 지원으로 배포 용량이 약 4.5메가로 증가했습니다. 실버라이트 1.1의 경우 닷넷 프레임워크의 지원을 받는 언어들을 사용하기 때문에 비주얼 스튜디오를 사용하여 개발하는 것이 가장 효율적입니다.

디자이너의 관점에서 실버라이트의 버전은 어떤 것이든 상관없이 작업을 할 수 있습니다. 디자이너의 작업물은 후에 설명할 XAML이라는 XML 형식의 문서로 저장이 되고 이 부분은 1.0과 1.1이 공통이기 때문입니다. 실버라이트는 jpg나 png와 같은 비트맵 그래픽을 불러올 수도 있지만 기본적으로 벡터 기반의 그래픽을 사용하기 때문에 벡터 그래픽 디자인을 위한 툴과 미디어를 편집하기 위한 툴 및 웹 페이지를 디자인하기 위한 Expressoin Studio가 준비되어 있습니다.

  • Expression Design
    벡터 드로잉을 위한 디자인 툴입니다. 섬세한 드로잉을 위한 다양한 기능과 효과들이 준비되어 있습니다. Expression Design에서 작성된 디자인 작업물은 XAML로 저장이 가능하고 이것을 Expression Blend등의 다른 툴에서 그대로 사용이 가능합니다.
  • Expression Blend
    실버라이트를 위한 디자인에 가장 많이 사용될 툴로서 전체적인 페이지 레이아웃과 세부적인 디자인 요소의 배치 그리고 애니메이션등을 작성하게 됩니다. 이런 모든 작업 역시 XAML로 표현이 되어 저장되어 개발자와 공유할 수 있습니다.
  • Expression Media와 Expression Encoder
    동영상을 쉽게 편집하고 실버라이트를 위한 비디오 포맷으로 인코딩하기 위한 툴입니다. 특히 Expression Encoder는 템플릿 기능을 통해 곧바로 실버라이트 미디어 플레이어 애플리케이션을 작성하는 기능을 가지고 있습니다.
  • Expression Web
    웹 페이지를 디자인하기 위한 툴입니다. 웹 표준에 기반한 문법 유효성 체크와 스타일시트 관리 및 프로젝트 연동이 편리하게 구성되어 있습니다.



개발 과정은?

실버라이트는 각 개발 과정 별로 명확한 작업 구분이 가능하면서도 각 작업의 연계가 이음새없이 부드럽게 이어집니다. 다음 그림은 실버라이트 애플리케이션의 개발 작업을 한눈에 보여줍니다.

 

사용자 삽입 이미지

Expression Design은 비트맵 기반의 이미지를 추가하여 보여주거나 기존의 벡터 그래픽 파일을 가져와서 편집할 수 있습니다. Expression Design으로는 섬세하고 미려한 표현이 필요한 벡터 그래픽 작업이 가능하고 작업물을 XAML로 저장하여 다른 툴에게 넘겨줍니다.

Expression Blend는 실버라이트 애플리케이션 UI의 중추적인 역할을 수행하며 Expression Design 등에서 작성된 XAML을 사용하거나 비트맵 기반의 이미지 및 동영상, 음악 같은 미디어도 사용할 수 있습니다. Expression Blend는 특히 Timeline 애니메이션을 작성하는 기능으로 애플리케이션을 보다 역동적으로 만듭니다.

Visual Studio 2008은 Expression Blend에서 작성된 작업물의 프로젝트를 그대로 가져와서 동적으로 제어하는 코드를 추가적으로 작성할 수 있습니다. 여기에서 완성에 이르기까지 테스트를 반복하게 되고 수정이 필요할 때 Expression Blend와 Visual Studio를 오가면서 작업하게 됩니다.

Expression Web은 완성된 실버라이트 애플리케이션을 호스팅하는 웹 페이지를 디자인할 때 사용되고 Expression Encoder는 실버라이트 애플리케이션에서 사용될 동영상이 있을 때 이 동영상을 인코딩하는데 사용됩니다. 이 툴들은 실버라이트 애플리케이션 개발에 직접적인 영향을 준다기보다는 필요에 의해 독립적으로 사용된다고 생각할 수 있습니다.

그렇다면 왜 실버라이트인가?

실버라이트는 많은 장점을 가지고 있지만 이 장점의 많은 부분은 같은 벡터 기반의 브라우저 블러그인인 플래시와 유사합니다. 이런 부분을 제외하고 실버라이트가 가지는 장점을 소개합니다.

강력하고 비용 효율적인 미디어 기능 지원

  • HD급 화질의 미디어를 별도의 플러그인 없이 풀화면으로 무리 없이 재생할 수 있습니다.
  • 미디어역시 다른 그래픽 개체와 동일한 방법으로 확대/축소하거나 회전하거나 기울이거나 반투명하게 표현할 수 있습니다.
  • 미디어 위에 다른 그래픽 개체를 자연스럽게 올릴 수 있습니다.
  • 미디어를 재생하거나 인코딩하기 위한 코덱에 별도의 비용이 들어가지 않습니다.
  • 미디어 인코딩을 3~15배 정도 가속할 수 있는 보드를 통해 총소유비용(TCO)를 극적으로 낮출 수 있습니다.
  • 미디어를 스트리밍하는데 기존의 Windows Media Server를 사용하여 스트리밍에 들어가는 비용이 절감됩니다.

폭넓은 융통성

  • XAML을 통해 표현과 코드를 완전히 분리하여 디자이너와 개발자가 고유의 업무에 더욱 집중할 수 있게 하면서 XAML과 코드의 개체 모델이 1:1로 대응되어 직관적인 연동이 가능합니다.
  • 디자이너와 개발자의 역할에 따라 명확하게 구분되는 툴이 지원되고 이 툴들 사이의 협업이 부드럽게 이어질 수 있습니다.
  • 이미 존재하는 웹 기반 기술위에 호스팅되고 클라이언트에서 동작하므로 백엔드 환경은 어떤 종류의 것이라도 통합이 가능합니다.
  • 확장성 있는 사용자 컨트롤 작성 기능을 제공하여 효과적이고 재사용이 가능한 애플리케이션을 작성할 수 있습니다.
  • PC뿐만 아니라 Windows Mobile 6와 같은 임베디드 환경에서도 작동되며 지속적인 하드웨어 지원이 예정되어 있습니다.

뛰어난 성능과 .NET Framework 지원

  • 고화질의 미디어를 비교적 낮은 프로세서 파워에서도 부드럽게 재생할 수 있습니다.
  • 개체와 개체를 반투명하게 겹쳐서 표현하거나 변형을 간단하게 줄 수 있습니다.
  • .NET Framework의 강력한 기능들을 사용하여 보다 높은 품질의 코드 작성이 가능합니다.
  • AJAX 기반의 사이트에 .NET Framework의 풍부한 코어 프레임워크 지원을 통해 극적인 성능향상을 줄 수 있습니다.

경험의 연결

  • 디자이너를 위한 Expression Studio의 툴들은 각 분야에서 기존에 가장 많이 사용되는 툴들과 유사한 사용법을 가지고 있어서 기존 툴들의 경험이 연결됩니다.
  • 실버라이트 1.1의 경우는 .NET Framework를 통해 JavaScript뿐만 아니라 C#, VB.NET에 Ruby, Python 등 다양한 언어를 지원하므로 개발자의 경험이 그대로 연결됩니다.
  • .NET Framework 3.0 환경의 데스크탑 애플리케이션에서도 실버라이트와 같은 개발 툴과 디자인 툴 그리고 같은 기술을 사용하므로 보다 넓은 활용이 가능합니다.

사용자의 경험은 느리지만 확실하게 변하고 있습니다. 다음 세대의 웹은 현재의 HTML이 가지는 구조적인 한계를 넘어서 보다 역동적이고 풍부한 사용자 경험을 요구할 것입니다. 물론 실버라이트만이 미래 웹의 대안이라고 말 할 수는 없겠지만 실버라이트는 환경의 변화를 수용하고 미래의 사용자 경험을 구현하는데 가장 적합한 기술이라고 말 할 수 있습니다.

자, 이제 말로만 하는 것은 그만두고 직접 툴을 설치하고 실버라이트를 느껴보시기 바랍니다. 세상은 변하고 있습니다!

신고
Posted by gongdo


티스토리 툴바