2008. 6. 13. 12:24
Improvements for Client Development

Client 개발에 있어서 이번에 제공되는 SP1은 몇 가지 변화가 생겼는데 그 변화를 두 가지 단어로 표현하라고 하면 바로 "성능과 배포"라고 표현할 수 있습니다.
시간이 되면 영문이기는 하지만 Tim Sneath의 블로그에 있는 글을 확인하는 것도 도움이 됩니다.

http://blogs.msdn.com/tims/archive/2008/05/12/introducing-the-third-major-release-of-windows-presentation-foundation.aspx


Application Startup and Working Set Performance Improvements

한번 실행했던 프로세스를 다시 실행하는 작업을 'Cold Start'라고 하는데 SP1과 관련한 변화중에서 바로 'cold start'와 관련한 성능향상이 있습니다. 이전 컴퓨팅 환경과는 달리 요즘은 365일 24시간 가동되는 시스템이 많고 또 필요에 따라서 프로세스들이 오르락 내리락 하는 경우 들이 많은데 이런 부분들에 있어서 성능이 향상되었다는 점은 요즘 컴퓨팅 환경에 대한 충실한 반영이라고 보여집니다.
 사실 내부적으로는 큰 변화는 아니었던것 같습니다만 CLR NGEN 이미지의 변화를 주어서 디스크 IO패턴을 최적화 하고 JIT 코드 제네레이터를 변화시키는 등 해서 필요한 변화를 이끌어 냈다고 합니다.
 상대적으로 Life Cycle이 짧은 Web Application의 경우 이런 효과 좀 더 누릴 수 있을 거라는 생각이 듭니다.
일단 일반적으로 .NET Application의 경우는 startup이 40%, ASP.NET Web Application의 경우 10%의 성능 향상이 있었다고 합니다.


New .NET Framework Client Profile Setup Package

.NET Framework기반의 Application을 배포할 경우에 항상 걸리는 문제가 .NET Framework를 어떻게 배포할 것인가 하는 문제가 있었습니다. 이번에 제공되는 SP1을 통해서 .NET Framework을 제공할 수 있는 새로운 형태의 배포 옵션을 지원하고 있습니다.

 새로운 형태의 배포 옵션은 '.NET Framework Client Profile'이라는 이름으로 제공됩니다. 이 옵션은 .NET Framework이 설치되지 않은 기기에 꼭 필요한 기능을 빠르게 제공할 수 있는 장점이 있습니다. .NET Framwork를 Full 옵션으로 제공할 경우 80M이상의 용량을 배포해야 하지만 새로운 옵션을 사용하게 되면 26M정도의 가벼운 용량으로 용량이 대폭 줄어 듭니다.  이렇게 용량이 줄어들었기 때문에 배포 패케지의 사이즈도 줄어들고 다운로드 시간 및 설치 시간도 줄어드는 등 다양한 변화가 발생하고 있습니다.
 그럼 어떻게 해서 이런 변화가 가능할까요? 기본적으로는 새로운 옵션을 적용하더라도 제공되는 파일들은 모두 동일합니다. 그렇지만 특별한 경우가 아니면 Client에서는 필요하지 않은 ASP.NET과 같은 서버 관련 기능들은 모두 제외되어 있습니다. 그래서 용량이 작은 것입니다. ^^

아무튼 필요에 따라서는 새로운 옵션을 적용해서 배포한 프레임웍에서 업그레이드를 할 수 있고 Application들은 풀 옵션이든 새로운 옵션이든 상관없이 재 컴파일을 할 필요는 없습니다.
사용자 삽입 이미지
<그림1>새로운 옵션으로 배포할 수 잇는 체크 박스가 추가되었다.

New .NET Framework Setup Bootstrapper for Client Applications 

.NET기반의 Application을 배포할 때 또 필연적으로 걸리는 문제가 Client에 .NET Framework이 설치되어 있는지 체크해야 하는 부분이 있습니다. "bootstrapper"라는 옵션이 SP1에서는 새로 포함되어 있는데 이 옵션을 사용하면 배포하는 Application을 위한 올바른 .NET Framework이 설치되어 있는지를 확인하는 기능이 자동화 될 수 있습니다. bootstrapper는 올바른 .NET Framework이 설치되어 있지 않을 경우 인터넷에서 자동으로 필요한 기능들을 다운받아서 설치할 수 있도록 되어 있습니다.
 한 가지 좋은 점은 이미 .NET Framework 2.0이 이미 설치되어 있다면 bootstrapper는 전체 풀 패케이지를 다운로드 하지 않고 추가로 설치해야 하는 파일만 다운로드 하기 때문에 훨씬 가볍게 동작할 수 있습니다.
 bootstrapper는 일종의 컴퍼넌트 형태로 제공되기 때문에 기본적인 설치 패케이지 이외에도 필요하다면 ClickOnce나 InstallShield와 함께 사용할 수도 있습니다.

ClickOnce Client Application Deployment Improvements

ClickOnce와 관련한 변화들도 있는데 세세한 부분이라 아래 내용을 참조하시면 좋을 것 같습니다.

  • Support for the .NET Framework Client Profile (all ClickOnce features are supported with it)
  • ClickOnce applications can now be programmatically installed through a ‘Setup.exe’ while displaying a customized, branded install UX
  • ClickOnce improvements for generating MSI + ClickOnce application packages
  • ClickOnce error dialog boxes now support links to application specific support sites on the Web
  • ClickOnce now has design-time support for setting up file associations
  • ClickOnce application publishers can now decide to opt out of signing and hashing the ClickOnce manifests as they see appropriate for their scenarios.
  • Enterprises can now choose to run only Clickonce Applications Authenticode signed by ‘Known Publishers’ and block anything else from running
  • FireFox browser extension to support Clickonce installations using FireFox browsers
  • Windows Forms Controls

    사용자 삽입 이미지
    Windows Forms과 관련된 변화도 일부 있는데 새로운 벡터 도형 컨트롤이나 인쇄 DataRepeater 컨트롤 등이 이에 해당됩니다.

    • 땡초 2008.06.13 12:59

      생각했던 것보다 훨씬 ~ 훨씬~ 방대한 내용인것 같아요
      얼른 릴리즈 되었으면 좋겠어요