1 Results for 'Silverlight 5'

  1. 2011.12.10 실버라이트 5 출시 & 변경사항 (2)
실버라이트 5가 출시되었네요.


실버라이트 5 개발 도구 및 런타임은 아래 사이트에서 다운로드 할 수 있어요.
전에 비해 훨씬 더 깔끔해졌네요.
http://www.silverlight.net/downloads

실버라이트 5를 개발하려면 Visual Studio 2010 SP1이 반드시 설치되어 있어야 하고요,
1. Silverlight 5 Tools for Visual Studio 2010 SP1
2. Silverlight 5 Toolkit
을 다운로드 받아 설치하면 개발 환경 구성은 끝나요.

 
일반적으로 런타임의 버전이 바뀔 때 가장 문제가 되는 건 기존 버전과의 호환성인데요, 실버라이트 5는 기존 어떤 버전에 비해서도 호환성이 높네요. 보통 Breaking changes라고 부르는 기존 버전과 코드/바이너리 레벨에서 호환되지 않는 점이 전혀 없어요.

그래도 실버라이트 4와 5는 다음과 같은 동작 특성 차이점을 가지고 있는데요, 때문에 아주 세밀한 조작을 하는 애플리케이션에서는 문제가 될 가능성이 있겠죠. 하지만 이 점도 호환성 모드(Quirks Mode)를 통해서 5 런타임이지만 4의 동작 특성을 갖도록 할 수 있으니 걱정하지 않아도 돼요.

아래에 실버라이트 5의 호환성 모드(Quirks Mode) 동작 특성을 번역(네, 여느때와 마찬가지로 걍 날림으로...) 했으니 기존 프로젝트를 마이그레이션 하실 분들은 참고하세요. (원문: http://msdn.microsoft.com/en-us/library/hh397894(v=VS.95).aspx)
  • 실버라이트 4에서는 RelativeSource.Mode의 기본값이 TemplatedParent였지만 5에서는 FindAncestor로 변경되었습니다. (역주: FindAncestor는 자기 자신의 조상에서 이름을 찾는 동작입니다.)
  • 실버라이트 5에서 ItemsControl은 TextInput  이벤트를 텍스트 검색 용도로 사용합니다. 이전에는 애플리케이션이 직접 구현할 경우를 위해 존재했을 뿐입니다. (역주: 기존에 ItemsControl에서 이 이벤트로 구현한 것이 있다면 동작이 충돌할 가능성이 있습니다.)
  • 실버라이트 5에서 ClientHttp 코드의 틱-동기화 타이밍이 UI thread에서 분리되었습니다. ClientHttp 코드는 틱-동기화 타이밍을 에뮬레이트해야 합니다. (역주: 뭔소린지 모르겠습니다 -_-)
  • 실버라이트 5전까지는 Selector의 ItemsSource를 설정하기 전에 SelectedIndex, SelectedItem, SelectedValue를 설정하면 그 값이 강제로 null로 설정되었습니다. 실버라이트 5에서는 그 값이 설정된 상태로 남아 있어 ItemsSource가 설정되었을 때 그 값이 선택됩니다. 이것은 다양한 바인딩 시나리오를 가능케하고 WPF의 동작과 동일합니다.
  • 실버라이트 5에서는 벡터 프린팅이 기본 인쇄 포맷입니다.
  • 실버라이트 5전까지는 콜렉션이 Reset으로 변경될 때 기존에 선택된 아이템이 Items에 남아 있더라도 클리어 되었습니다. 실버라이트 5에서는 해당 선택이 남아있으며 WPF와 동일한 동작입니다.
  • 애플리케이션 시작시 멀티코어 JIT는 오직 실버라이트 5 애플리케이션이거나 64bit일 때만 동작합니다.
  • 실버라잍트 5전까지 ButtonBase의 Visibility가 Collapsed로 설정되면 비주얼 상태를 변경하지 않았습니다. 그래서 컨트롤이 다시 보이게 되어도 그 비주얼 상태가 안보이기 전 상태로 남아 있었습니다. 실버라이트 5에서는 Visibility가 Collapsed로 설정되었더라도 비주얼 상태가 변경됩니다.
  • 실버라이트 5에서는 Selector의 속성 경로 수신자가 값을 찾을 수 없을 경우 SelectedValue를 null로 설정합니다. 이것은 WPF와 동일한 동작입니다.
  • 실버라이트 5전까지 WriteableBitmap의 기본 배경색상이 투명한 검정(#00000000)이었고 이것은 인쇄에 적합하지 않습니다. 실버라이트 5에서는 기본 배경색상이 투명한 하양(#00FFFFFF)입니다.
  • 실버라이트 5에서는 Selector의 한 아이템에 포커스가 세팅되었을 때 그 아이템으로 스크롤 할 수 없다면 ScrollIntoView 호출을 연기할 것입니다.
  • 실버라이트 5전까지 ListBox에서는 선택이 바뀌었을 때 기존 인덱스가 새 인덱스와 다를 경우 새 인덱스가 -1이 아닐 경우에만 해당 아이템으로 포커스를 설정하였습니다. 실버라이트 5에서는 새 인덱스가 -1 일지라도 포커스를 설정합니다. 만약 새 인덱스가 -1이라면 포커스는 ListBox 자신이 갖게 됩니다.

전반적으로 Selector와 ItemsControl에 있었던 불합리한 동작이 올바르게 고쳐진게 많네요.
이런 부분은 미묘하게 사용성을 해치던 것이라 아주 바람직하지만 반대로 기존 버전에서 이런 문제를 피하려고 작성했던 수많은 '꼼수'들과 충돌할 수도 있겠죠. 하여간 마이크로소프트는 후방 호환성 지원 만큼은 최고에요. 버전 업할 때마다 이런 문서도 즉각나와주고 말이죠.

저작자 표시 동일 조건 변경 허락
신고
Posted by gongdo


티스토리 툴바