2008.06.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.09 07:00
    ASP.NET AJAX와 관련한 변화들이 이번에 포함되어 있는데 약간의 성능 향상과 AJAX에서 History를 활용할 수 있는 확장 기능이 포함되어 있는 점입니다.

    아래로 접속해 보면 여기와 관련된 내용을 자세하게 볼 수 있습니다.
    http://weblogs.asp.net/davidbarkol/archive/2007/12/28/asp-net-3-5-extensions-history-control-tip.aspx

    사용자 삽입 이미지
    <그림1>David Barkol's blog

    AJAX에서도 History를 사용할 수 있다는 점은 경우에 따라서는 사용자들에게 재미있는 장점을 제공해 줍니다. 가량 예를 들어서 상황에 따라서 버튼이 나타났다 사라졌다 하는 것을 AJAX기반으로 만들고 이를 브라우저에 있는 History를 통해서 네이게이션 할 수 있게 됩니다.
    이것도 아래에 있는 주소에서 동영상을 확인해 보시면 쉽게 이해할 수 있을 것 같습니다.

    http://weblogs.asp.net/bleroy/archive/2008/01/04/screencast-how-to-enable-server-side-history-management-in-an-asp-net-ajax-application.aspx

    AJAX에서 볼 수 있는 또 다른 하나의 변화라면 스크립트 구성요소의 구성이 바뀌면서 서버로의 호출 횟수가 줄어들면서 성능 향상이 있는 점입니다. 아래 링크에 있는 동영상을 실행 시켜 보시면 관련된 데모를 보실 수 있습니다.

    http://www.asp.net/learn/3.5-extensions-videos/video-296.aspx

    동영상의 내용을 자세히 보면 서버 컨트롤 상에서 <CompositeScript>를 호출해도<asp:ScriptManager>가 한번에 포함해서 호출되기 때문에 호출하는 횟수가 줄어들어서 성능이 이만큼 향상되었다는 내용입니다. ^^

    신고
    2008.03.23 09:50


    Visual Studio 2008에서 지원하고 있는 디자이너와 개발자의 협업과 제품 라이프 사이클의 관리 그리고 실버라이트와의 관게에 대해서 설명하고 있습니다.
    신고
    2008.03.22 08:26

    Visual Studio 2008은 Web Programming에 있어서 다양한 편의성이 강화 되었습니다.
    Split으로 디자인과 소스코드를 동시에 편집하게 해준다든지 혹은 자바 스크립트 디버깅과 같은
    기능들은 정말 훌륭하게 향상되었습니다.
    또 툴상에서 AJAX기 지원되기 때문에 비교적 쉽게 AJAX를 개발할 수 있다는
    장점도 있습니다.

    신고
    2008.03.21 21:07

    막상 편집된 동영상을 보니 마구 민망해져서 왜 이런걸 찍었나 하고
    후회도 되지만 그래도 나름 유용한 동영상인데다가 꽤 유명한 사람들이 대게 출연하기 때문에
    좀 망가져도 나쁘지 않은것 같습니다. ^^

    이 동영상은 첫번째 동영상으로 Visual Studio 2008이 달라진 점에 대해서 설명하고 있습니다.
    설명에는 롯데정보통신 연구소에 선임 연구원으로 있는 한용희 Microsoft MVP님이
    수고하시고 계십니다.

    신고


    티스토리 툴바