4 Results for '실버라이트 3'

  1. 2009.05.05 제1회 DevDcc 실버라이트3 발표자료 (3)
  2. 2009.03.27 실버라이트 3의 새 기능 정리 (2)
  3. 2009.03.26 실버라이트 3에 대한 생각 (2)
  4. 2008.11.17 실버라이트 3 떡밥 (5)

제 메인 PC의 개발 환경이 실버라이트 2로 되어 있어서 자료 정리에 시간이 많이 걸렸네요. 여튼 4월 18일 건국대 새천년 기념관에서 개최된 제 1회 DevDcc 행사에서 발표했던 “실버라이트 3의 등장과 디자인-개발 패러다임의 변화”의 PPT와 데모에요.

데모1에서는 디자이너 이은아님과 함께 처음 실버라이트를 접한 디자이너와 어느 정도 실버라이트 개발에 익숙해진 개발자가 겪을 수 있는 문제점을 다뤄봤어요. 디자이너와 개발자가 서로의 작업을 이해하고 도와주는 것이 역시 유일한 답이겠죠. 또 데모에는 남성 개발자들의 압도적인 지지를 받고 있는 *소녀시대*의 gee 영상으로 카드를 만들어 봤는데요, 아마 데모보다 이쪽에 더 관심 있는 분들이 많지 않을까 하네요 ㅎㅎ.

또한 데모1에서 자세한 설명은 하지 않았지만 Perspective 3D와 데이터 바인딩 그리고 WrapPanel등 실버라이트 3에서 새로 추가되거나 강화된 기능들을 적극적으로 활용하여 만들었으니 어느 정도 참고가 될 거에요.

데모 2에서는 디자이너 장미연님과 함께 했는데요, 장미연님은 현업에서 WPF 프로젝트를 수행하고 있고 개발과 디자인의 중간영역에서 디자이너가 어떤 역할을 해야 하는지에 대해 많은 경험을 가지고 계시죠. 또한 프로젝트 특성상 데이터를 다루는 일이 많은데요, 이 데모를 통해 실버라이트 3 그리고 블렌드 3에서 강화된 데이터 관련 기능을 어떻게 활용하는지 제시하고 있어요.

데모 2에서 개발자는 데이터 원본 생성과 패널 및 컨트롤 코드를 작성하는 임무를 맡고 디자이너는 그 데이터와 컨트롤들을 활용하여 자유롭게 디자인 할 수 있죠. 데모에서 최종적으로는 기존의 딱딱했던 사각형의 리스트박스에서 벗어나 애니메이션 효과와 함께 원형으로 배치되는 패널을 사용하여 데이터를 표시하고 있어요.

데모 3에서는 디자이너 김선구님과 함께 실버라이트 3에서 추가된 가장 강력한 기능 중 하나인 비헤이비어Behaviors에 대해 알아봤는데요, Behaviors는 크게 트리거Trigger & 액션Action과 비헤이비어Behavior로 나눌 수 있어요. Trigger&Action은 어떤 오브젝트에서 이벤트가 발생했을 때 특정 동작을 수행하는 것을 말하고 Behavior는 어떤 오브젝트가 가지는 그 외의 모든 행동 특성을 의미해요. Behaviors는 개발자에게 오브젝트의 행동을 모듈 단위로 설계하도록 도와주고 디자이너에게는 이 Behaviors를 사용하여 개발자의 도움 없이도 멋진 인터랙션을 가지는 애플리케이션을 디자인 할 수 있어요.

데모 3에서는 Behaviors의 활용을 극대화 하여 심지어 물리엔진 조차도 아주 간단하게 사용할 수 있는 방법을 제시하는데요, 저는 Behaviors의 개념이 앞으로 애플리케이션의 개발 패러다임을 확 바꿀 수 있다고 확신해요.

발표 자료가 이미지 중심으로 이루어져 있어서 자세한 설명은 동영상으로 보는 게 좋을 텐데요, 아쉽게도 아직 동영상 자료의 인코딩과 편집이 덜 끝났어요. 동영상이 업데이트 되면 블로그에 업데이트 할게요.

다시 한번 DevDcc 행사에 참가해주신 여러분께 감사 드립니다. ^^/

저작자 표시
신고
Posted by gongdo

What’s New in Microsoft Silverlight 3 : http://videos.visitmix.com/MIX09/T14F 참고 :D

Silverlight 3 툴 지원

  • Visual Studio 2008 Tools for Silverlight 3 beta/RTM
    • XAP 압축률 향상
      • 10~30% 감소된 XAP파일 크기
    • 인터랙티브 디자이너
      • Visual Studio 2010에서 지원 예정
  • Expression Blend 3 preview
    • 최종 버전은 올해 말

Media Format 지원

  • H.264/AAC/MP4 디코더 지원
  • 산업 표준 포맷으로 광범위하게 사용되고 있으므로 지원하기로 결정
  • H.264 파일로 할 수 없는 것
    • DRM 지원
    • Windows Media Server에서 스트리밍 호스팅

GPU 가속 지원

  • 옵트인 기능 즉, 명시적으로 사용할 것을 지정해야 함
    • Param으로 EnableGPUAcceleration, EnableCacheVisualization를 true로 설정
    • 최종 서피스 렌더링에 GPU를 사용
  • 엘리먼트 마다 옵트인으로 적용
    • CacheMode="BitmapCache"로 설정해야 함
    • 여러 개의 엘리먼트가 조합되어 렌더링 될 때 GPU를 사용
    • 엘리먼트를 늘릴 때(Stretch) GPU를 사용
  • 브라우저와 full-screen 모드에서 모두 동작
  • GPU 가속이 가능한 클라이언트에서 성능 향상
    • 다른 어떤 비주얼도 수정하지 않아도 됨

(데모)
미디어 관련 : T43F, T19F, T56F
GPU 관련 : T17F

Perspective 3D(Projection)

  • Perspective 3D
    • 2D 오브젝트를 3D 공간에 배치
    • X,Y,Z 회전 및 X,Y,Z 회전 축 지정
    • 지역/전역 X,Y,Z 옵셋 지원
  • Element.Projection
    • 현재는 PlaneProjection만 지원

애니메이션 가속도 지원

  • 기본 지원되는 애니메이션 가속도 함수
    • CircleEase, SineEase, BackEase
    • ExponetialEase, PowerEase
    • QuadraticEase, CubicEase
    • QuarticEase, QuinticEase
    • ElasticEase, BounceEase
  • 커스텀 가속도 함수도 작성 가능
    • 자신만의 가속도 함수를 사용 가능

비트맵 이펙트와 픽셀 셰이더

  • 이펙트
    • 비주얼의 동작에 영향을 줌
    • 기본 지원되는 이펙트
      • Blur, DropShadow
  • 커스텀 이펙트
    • 커스텀 이펙트는 Shader로 구현됨
    • HLSL이라는 표준 코드를 사용
      • DX SDK 유틸리티를 사용하여 byte code로 컴파일
      • 실버라이트 3는 컴파일 된 byte code를 사용
    • 셰이더는 UI 엘리먼트가 렌더링 되기 전에 각각의 픽셀을 변경할 수 있는 기회를 제공
    • 셰이더 = 픽셀 단위 함수 혹은 명령
    • (Green screen 등)

픽셀 API

  • 두 개의 파츠
    • 동적 비트맵 생성
      • WriterbleBitmap
      • 비트맵에 있는 픽셀을 읽고 쓰기
    • 비주얼 트리를 비트맵에 렌더링하기
  • 시나리오
    • 동적인 이미지 생성(실시간 그래프 등)
    • 이미지 편집 및 효과
    • 비주얼 복사
      • reflections, drag effect 등

Raw 오디오/비디오 API

  • 픽셀 API와 비슷하지만 오디오/비디오를 위한 기능
  • 시나리오
    • 동적으로 사운드 생성
    • 커스텀 오디오/비디오 디코더 작성(DIVX, XVID 등)

자세한 데모 : T17F

로컬 메시징 지원

  • 실버라이트 플러그인 간 데이터 통신
    • 같은 페이지에 있는 여러 플러그인
    • 다른 브라우저 탭에 있는 여러 플러그인
    • 다른 브라우저에 있는 여러 플러그인
  • 구현
    • 공유 메모리(Shared memory)로 구현
    • "named pipes"와 같이 노출됨
    • 문자열 기반의 메시지

UI Framework 향상

  • 리소스 병합 기능(Merged Resource Dictionaries)
  • BasedOn 스타일(스타일 구조화)
  • 런타임에 스타일 변경 가능
  • 다중 선택 리스트박스
  • "Handled"된 라우트 이벤트를 수신하는 것이 가능
  • VSM에 "Invalid" 상태 추가
    • 입력 상태가 유효하지 않을 때를 의미
    • TextBox, CheckBox, ComboBox, ListBox, RadioButton 등

상세 : T16F

기타 향상

  • SystemColors
    • 플랫폼에서 사용중인 색상 테마
  • FileSaveDialog 지원
    • 명시적인 UI를 통한 저장 위치 결정 다이얼로그를 통해 파일 위치 결정
    • 보안상의 이유로 유저가 선택한 파일을 열고 쓸 수만 있음
  • 텍스트 향상
    • 클리어 타입 텍스트(베타 이후에 지원 예정)
    • CaretBrush(텍스트 박스 안에 있는 커서)
    • 텍스트 애니메이션을 위한 최적화 옵션
      • 텍스트가 정확한 픽셀에 정렬하기 위해 걸리는 것을 선택 가능
    • Glyphs도 시스템 폰트를 지원
  • 이미지 정렬

새 SDK 컨트롤

  • DockPanel, Expander, Label, TreeView, ViewBox, WrapPanel, ChildWindow, DatePickerTextBox, TabPanel
  • +기타…

그 외 중요한 추가 사항

  • 비즈니스 관점의 지원
    • 내비게이션 프레임워크(Frame, Page 모델)
    • 데이터 건트롤
    • SEO(검색 엔진 최적화) 지원
    • N-Tier 데이터 모델 지원
    • T40F 참고
  • WebService 스택 향상
    • Binary XML, SOAP faults, Credentials 지원
    • T42F 참고
  • Silverlight Toolkit
    • T15F 참고

"Out of the Browser" 지원

  • 실버라이트를 브라우저 바깥에서 실행 가능
    • 그러나 일반 애플리케이션과는 다르게 철저하게 Sandbox 보안 모델 내에서 실행됨
    • 브라우저에서 실행하는 것과 정확하게 동일한 보안 모델 및 사용성을 가짐
  • 실버라이트 코어 런타임에 통합
    • 브라우저 바깥에서 실행 될 때 SilverlightLauncher가 실행되고 그 위에서 동작
  • 애플리케이션 단위로 사용 가능
    • Manifest에 애플리케이션을 설명
    • Deployment.ApplicationIdentity
  • 설치 경험
    • 우클릭하여 Install 선택
      • 데스크탑과 프로그램 그룹에 추가할지 여부 선택
    • 또는 설치를 위해 커스텀 버튼을 추가 가능
      • Application.Current.Detach
    • 삭제는 단순히 우클릭 후 Uninstall 한방으로 끝
  • 새 네트워크 API
    • 연결/연결 안됨 상태
    • 상태 변경됨 이벤트
  • Offline API
    • 브라우저에서 실행되었는지 브라우저 바깥에서 실행되었는지 상태
      • Application.Current.RunningOffline
    • 업데이트 API 등
      • 기본적으로 Online상태일 경우 새 버전의 XAP을 자동으로 설치
  • 비즈니스 관점의 지원
저작자 표시 동일 조건 변경 허락
신고
Posted by gongdo

매년 MIX에서는 실버라이트에 대한 굵직한 릴리즈와 정보가 쏟아지죠. 이번 MIX09에서는 드디어 Silverlight 3가 베일을 벗었어요. 2가 나온지 얼마나 되었다고 벌써 3가 다가오고 있죠. 물론 잦은 릴리즈가 현업에 압박으로 다가올 수도 있지만 개발 프로세스를 잘 준비한다면 2에서 할 수 있는 것과 3에서만 되는 것… 이렇게 구분을 하여 대응할 수 있을거에요.

마이크로소프트는 실버라이트의 릴리즈 주기를 9~12개월로 빠르게 한다는 계획을 발표한 적도 있는데요, 그만큼 RIA의 개발이 정형화되지 않았기에 그만큼 현업의 요구를 빠르게 수용하겠다는 의미로 받아들일 수도 있죠.

앞으로의 실버라이트의 큰 뼈대는 2를 기반으로 계속하여 새로운 기능이 추가되는 형식이다…라고 얘기들 하는데요, 물론 닷넷 코드 베이스라는 개발 프로세스를 놓고 보면 맞는 말이지만, 솔직히 제 느낌으로는 오프라인 지원 등의 너무나도 굵직한 내용 때문에 3를 기반으로 새로운 기능이 추가되거나 향상된다… 라고 얘기하고 싶어요.

어쨌든, 실버라이트 3가 제게 강한 인상을 주는건 단순히 새로운 기능들 때문이 아니에요. Perspective 3D, 비트맵 프로세싱, GPU 가속, H.264 지원(아직 불완전하지만), 오프라인 및 데스크탑 설치 지원, 폰트 가독성의 지속적인 향상, 더 많은 컨트롤 지원, 스타일 병합, 브라우저 스택을 사용하지 않는 순수 HTTP 요청, 블렌드 3의 비약적 향상, 데이터 친화적인 개발 환경… 이것들은 바로 실버라이트 2에서 Adoption Blocker로 작용하던 요소들이었고 실버라이트 3는 이런 요소를 적극적으로 해소하기 시작한 첫 버전이라고 생각해요. 전에 없이 현업의 요구사항과 개발 커뮤니티에서 나온 훌륭한 실험 결과를 적극적으로 그리고 대규모로 수용한 첫 버전이란 말이죠.

실버라이트 1.1과 2에서는 사실 몇몇 시나리오에서 필요한 기능을 중심으로 홍보되었고 또 사용되었어요. 바로 미디어와 딥줌이죠. 물론 텍스트 지원 향상, 컨트롤 모델 지원 등의 굵직한 내용도 있었고 미디어와 딥줌 외의 다른 분야에도 시도된 사례가 많지만 상업적으로 의미가 있었던 건 역시 미디어와 딥줌 뿐이었다고 생각해요.
(그간 다른 곳에 적용하려고 얼마나 삽질을 했었던지 =_=)

실버라이트 3는 이제 그간 플래시만이 독보적인 지위를 차지하고 있던 모든 RIA 시장에 참가할 수 있게 되었어요. 뿐만 아니라 깜짝 놀랄만한 오프라인/데스크탑 설치 시나리오 지원으로 AIR만이 할 수 있었던 그것도 가능해졌죠. 비공식적이기도 하고 물론 짜는 사람에 따라 다르겠지만 단순한 코드 실행 성능은 이미 실버라이트 2가 앞서 있다는 점을 감안했을 때 앞으로의 상황이 너무나도 기대되고 흥분돼요.

자, 좋은 얘기는 다 했고 아쉬운 점을 얘기해보자면… 웹 카메라와 마이크로폰! 최근 닌텐도 DS에도 채용되어 더욱 재밌는 사용자 경험을 제공할 수 있는 기회가 아쉽게도 다음으로 미뤄졌어요. 뭐 크게 아쉬운 기능은 아니지만서도 말이죠. 다음으로 블렌드. 물론 이번에 엄청난 기능 향상과 추가가 있었지만 제가 보기엔 (아직 써보지 않았어요) 아주 자잘한 인터랙션들은 크게 개선되지 않은 것 같아요. 예를 들어 타임라인에서 키프레임을 드래그하여 선택한다거나 하는… 사실 없어도 못쓰는 건 아니지만 그런게 디자이너의 접근을 막는 요소이기도 하죠. 여튼 이 얘기는 글로벌 서밋때도 나왔으니 아마도 개선될 거에요.

아직 써보지도 않고 써내려간 얘기라 기대감이 더 크네요. 부디 2 베타때 겪었던 엄청난 버그의 홍수는 없길 바라면서 버추얼 머신에 실버라이트 3 개발환경을 설치하며 주절거려봤어요. Silverlight Rocks! XD

저작자 표시 동일 조건 변경 허락
신고
Posted by gongdo
스캇구 횽님이 실버라이트 3에 대한 떡밥을 살포하셨네요. 이런 건 물어주는게 예의죠^^
그냥 스크린 샷만 봐도 배가 부를 떡밥이에요.
바빠서 세줄 요약.
  • 내년에 실버라이트 3 출시 계획
  • H.264 지원, 하드웨어 가속 지원 등의 미디어/그래픽 처리 향상
  • Visual Studio의 Design 뷰에서 직접 오브젝트 편집 지원
한줄 요약.
블렌드는? 블렌드는? 블렌드는?
저작자 표시 동일 조건 변경 허락
신고
Posted by gongdo


티스토리 툴바