Silverlight를 설치하려면 여기를 클릭합니다.*
Korea 대한민국변경|Microsoft 전체 사이트
MSDN
|개발자 센터|라이브러리|MSDN Online|다운로드|코드 센터|Subscriptions|MSDN 행사
MSDN Home   MSDN Home
MSDN 홈 > .NET Framework 홈 > 기술 문서(Articles) > Web에서의Windows Presentation Foundation: XAML 브라우저 응용 프로그램

Web에서의Windows Presentation Foundation: XAML 브라우저 응용 프로그램

  


Karen Corby
Windows Presentation Foundation
Microsoft Corporation

2005 년 10 월

적용 대상 :
   Microsoft .NET Framework 3.0 Runtime Components September CTP (PDC 2005 Build)

요약: 이 문서에서는 Web에서의 Windows Presentation Foundation의 가능성과 XAML 브라우저 응용 프로그램의 기반이 되는 기술과 기존의 사이트를 이행 하는 방법을 설명합니다. 이 문서는 브라우저 기반의 경험(experience) 향상에 관심을 갖고 있는 Web관련 업무를 하는 모든 이를 대상으로 합니다.

목차

시작
Web에서의 WPF : XAML 브라우저 응용 프로그램
WinFX 설치
배포
Windows Presentation Foundation 샌드 박스
Loose XAML
기존 사이트의 이행 방법
마무리
추가 정보

시작

최신의 Web 응용 프로그램 구축에는 많은 어려움이 있습니다. 전면적인 온라인화와 함께 매력적인 Web 경험에 대한 기대가 높아져 보다 인상적이고 강한 표현을 요구하고 보다 복잡한 기능을 필요로 합니다. 따라서 차별화된 경험을 제공하여 사용자를 계속 매료시키는 것이 무엇보다 중요합니다.

이러한 Web 응용 프로그램을 개발하려면 커다란 기술적 과제가 있습니다. 이 과제를 극복하려면 3 D, 복잡한 애니메이션, 또는 확장 입력체계 등 시각 효과를 실현하기 위한 강력한 기술이 필요합니다. 또 같은 기술로 응용 프로그램 논리를 구현해야 합니다. 서버에 의존하는 솔루션을 선택하면, 포스트백 통신이 지연됩니다. 대신에 클라이언트 측에 구현하면, 스크립트 언어 개발이라는 장애에 직면합니다.

많은 경우 이러한 기술적인 문제는 데스크톱 버전의 응용 프로그램에서는 이미 해결되었습니다. 다만, 온라인 버전에서는 Web기술을 이용해 작성 할 경우, 데스크톱 해결책을 적용하기가 어렵습니다.

WinFX 의 일부로서 제공되는 Windows Presentation Foundation (코드명 "Avalon")에서는 독립 실행형 응용 프로그램과 XAML 브라우저 응용 프로그램 (XBAP)의 두 가지 응용 프로그램 타입이 지원 됩니다. XAML 브라우저 응용 프로그램은 브라우저로 실행되어 인스톨할 필요가 없는 온라인 전용 응용 프로그램입니다. 이 응용 프로그램은 보안 샌드 박스로 실행되어 Web 에서Windows Presentation Foundation 플랫폼의 기능을 활용합니다.

이 백서에서는 브라우저로의 WPF 의 가능성, XAML 브라우저 응용 프로그램의 기반이 되는 기술 및 기존 사이트의 이행 방법에 대해 설명합니다. 브라우저 기반의 경험 향상에 관심을 가지고 있는 Web 에 종사하는 독자를 대상으로 하고 있습니다.

주의   WPF의 설치 및 Web으로 배포 되는 독립 실행형 응용 프로그램에 대해서는 ClickOnce 배포 설명을 참조해 주세요.

Web에서의 WPF: XAML 브라우저 응용 프로그램

XAML브라우저 응용 프로그램 (XBAP)에 의해 Windows Presentation Foundation기능을 Web 에서 이용할 수 있습니다. 여기에서는 XAML 브라우저 응용 프로그램의 이점을 설명하고, XBAP에 적절한 시나리오를 몇 가지 설명하겠습니다.

XAML 브라우저 응용 프로그램의 이점

Windows Presentation Foundation 응용 프로그램의 특징인 XAML브라우저 응용 프로그램에는 아래와 같은 수많은 장점이 있습니다.

  • XAML. WPF에서는 "Extensible Application Markup Language" (XAML)이라는 새로운 선언형 프로그래밍 모델이 도입되었습니다. XAML 기반이 되는 플랫폼의 API가 직접 반영되어, 어트리뷰트 부착 프로그래밍 시스템의 이점을 완전히 활용할 수 있습니다. XAML특징은 컴파일 시기를 알기 쉬운 마크 업 오류 메시지와 UI 의 "훅 업" 에 필요한 코드를 보다 명쾌하게 파악할 수 있는 것 등이 있습니다.
    <Application x:Class="MyApp" />

    그림 1 XAML 로 정의된 응용 프로그램 클래스

  • 데이터 바인딩.  데이터 바인딩은 데이터를 UI 에 포함하여 유연하고 강력한 선언형 방식을 제공하고, 비즈니스 논리와 UI분리를 가능하게 합니다. WPF 컨트롤에서는 서버에 있는 정보의 데이터 바인딩이 지원 되어, Web 개발자는 비동기 데이터를 사용해 리치 데이터 템플릿 시스템에 의한 효과적이며 매력적인 방법으로 시각화할 수 있습니다.
  • 3-D. WPF의 3D 시스템은 플랫폼에 완전하게 통합되었습니다. 3D 도형을 단색으로 그리는 것과 같이, 3D 도형을 비디오나 텍스트 단락으로 표현하는 것과 비교해도 어려운 일이 아닙니다.

    그림 2 3D 브라우저

  • 유동 문서. 고정 문서와 달리 유동 문서는 윈도우 사이즈, 디바이스 해상도, 사용자 설정 등에 맞추어 동적으로 레이아웃 컨텐츠를 배치하여 한층 더 고도화되고 사용자에게 적합한 사용자 경험을 제공합니다.

         

    그림 3 같은 유동 문서로 윈도우 사이즈와 font size가 다른 경우

  • 텍스트. WPF 에서는 OpenType 폰트 (TrueType 및 CFF)로 풍부한 입력체계 기능을 사용할 수 있습니다. 서브 픽셀에 의한 스페이싱이나 세로 방향의 anti-aliasing를 포함한 ClearType 최신 기술을 사용하여, 텍스트를 보다 아름답게 렌더링 할 수 있습니다.

    그림 4 WPF 입력체계

  • 애니메이션. WPF 애니메이션 시스템에는 장면의 복잡한 동기 변화를 지정하는 유연한 방법이 있습니다. 속성 및 이벤트 시스템, 데이터 바인딩, 스타일 설정 및 템플릿과 완전하게 통합되어, 인터랙티브하고 기능이 풍부한 응용 프로그램의 상세한 지원이 가능합니다.

          

    그림 5 3D 블랙잭 카드 애니메이션

  • 벡터 그래픽스. WPF 에서는 벡터 그래픽스가 네이티브로 사용되어 표시 배율이나 해상도에 관계없이 (예쁘게 안티알리아싱 되어) 충실하게 시각화 됩니다.

      

    그림 6 같은 벡터 그래픽스로 윈도우 사이즈가 다른 경우

  • 하드웨어 가속기. 최신의 그래픽 하드웨어는 항상 진화하고 있습니다. XBAP에서는 WPF의 하드웨어 가속기 지원을 이용하여, 새로운 단계의 복잡한 시각 효과를 실현하고, CPU를 자유롭게 응용 프로그램의 컴퓨팅 요건에 응할 수 있도록 합니다.
  • 보안 샌드 박스. XBAP 는 응용 프로그램의 액션 종류를 제한하는 보안 샌드 박스내에서 실행됩니다. 즉, XBAP 는 UI 의 렌더링, 응용 프로그램이 배포된 원래 서버에 있는 사이트와의 통신, 분리된 메모리 영역의 입출력 등을 실행할 수 있습니다. 다만, 레지스트리에의 액세스, 파일 시스템에의 직접적인 입출력 등 보다 위험한 처리는 실행할 수 없습니다 (상세한 내용은 이 문서의 샌드 박스를 참조해 주세요.
  • 노 터치 배포. XAML 브라우저 응용 프로그램은 샌드박스내에서 실행되는 프로그램으로서 인스톨이 필요하지 않은 타입의 응용 프로그램입니다. 또한 사용자가 보안 프롬프트나 정보 바 메시지를 클릭할 필요가 없는 노 터치 배포가 이뤄집니다.
  • .NET Framework 프로그램 언어. WPF는 .NET Framework를 기반으로 구축되었으며, XBAP는 강력한 어트리뷰트 부착 관리형 응용 프로그램의 이점을 모두 갖추고 있습니다. .NET Framework 프로그램 언어 (C#, Visual Basic 등), ASMX Web 서비스에의 네이티브 통신, 및 .NET Framework 플랫폼에서 이용 가능한 수많은 툴에의 액세스가 포함됩니다.
  • 데스크톱과 Web에서 같은 프로그래밍 모델. 많은 개발 팀은 응용 프로그램을 작성할 때에 Web DHTML 와 데스크톱 Win32 라고 하는 두 가지 버전을 따로 작성해야 합니다. WPF 에서는 온라인 응용 프로그램과 설치 응용 프로그램의 양쪽 모두를 지원하기 위해, 데스크톱 응용 프로그램과 Web 응용 프로그램으로 같은 코드 기본을 공유할 수 있습니다. 응용 프로그램을 XAML 브라우저 응용 프로그램으로서 작성하려면, Visual Studio 2003 에 포함된 템플릿을 사용할지, 프로젝트 파일에 세가지 속성을 설정할 뿐입니다.
    <HostInBrowser>True</HostInBrowser>
    <Install>False</Install>
    주의   Web 버전의 응용 프로그램에서는 샌드 박스에서 허가되지 않은 기능을 모두 무효로 할 필요도 있습니다.
  • 디자이너와 개발자의 분리. WPF는 UI 와 논리와의 관계를 최소한으로 억제하여 개발자와 디자이너가 본연의 작업에 전념할 수 있도록 합니다. 한층 더 WPF 에서는 강력한 디자인 컨셉 (리치 2D, 애니메이션 및 동적 레이아웃 등)을 캡슐화해, 고도로 툴에 마크 업 포맷으로 공개하기 위해 디자이너는 자신의 가장 뛰어난 창조적인 아이디어를 그대로 표현하고 다른 툴을 의존하지 않고 UI를 작성할 수 있습니다.

XAML 브라우저 응용 프로그램을 위한 응용 프로그램 시나리오

XAML 브라우저 응용 프로그램은 Web 개발자에게 많은 이점을 있습니다. Windows 기술의 하나로써 Windows XP, Windows Server 2003 및 Windows Vista 사용자•경험을 큰 폭으로 확장할 수 있습니다. 다만, 목표로 하는 응용 프로그램 컨텐츠와 사용자 액세스 범위에 따라서 XBAP가 최적의 기술이 아닐 수도 있습니다. 여기에서는 XAML 브라우저 응용 프로그램이 가장 적합한 시나리오에 대해 설명합니다.

XAML 브라우저 응용 프로그램이 가장 적합한 시나리오

WPF는 개발 및 사용자 경험에 많은 이점을 가져옵니다. XAML 브라우저 응용 프로그램은 다음과 같은 시나리오에 추천 됩니다.

  • 열람 및 리치 컨텐츠의 시각 효과. WPF 에서는 비동기 데이터가 바인드되는 3 D, 애니메이션 또는 텍스트가 중심이 되는 컨텐츠 기본의 사이트에 있고, 보다 뛰어난 경험을 실현할 수 있습니다. 개발도 쉬워집니다. 시각 효과는 XAML로 정의할 수 있고, 디자이너가 직접 또는 Expression Interactive Designer 와 같은 툴을 사용해 작성할 수 있습니다. 컨텐츠를 XML로 보존하는 사이트에서는 XAML과 HTML의 양쪽 모두에 서버 사이드의 트랜스폼을 작성하면, 저비용으로 높은 효과를 얻을 수 있습니다.
  • 온라인 게임 및 모델링. 온라인 게임이나 과학적인 모델링 등의 사이트에는 고도의 논리 엔진 또는 계산 엔진이 필요합니다. XBAP에서는 응용 프로그램의 구동에 관리형 코드를 사용하여 복잡한 클라이언트 사이드의 논리 구축이 큰 폭으로 간략화 됩니다. 또 분리된 메모리 영역에 캐시 된 정보로 클라이언트와의 무거운 데이터 처리가 가능하여 Web 포스트백 지연이 없습니다.
  • 데이터 플로우 관리와 생산성 응용 프로그램. 게임 응용 프로그램이라고 한 데이터 플로우 응용 프로그램 및 생산성 Web 응용 프로그램에서는 논리가 중시됩니다. 게다가 이러한 응용 프로그램에서는 통상 Web 서비스와의 통신이 필요합니다. WFP는 .NET 기반으로 구축되었기 때문에 제공되는 ASMX Web 서비스 인프라를 사용할 수 있습니다. 응용 프로그램과 Web 서비스와의 통신에 독자적인 메커니즘을 구축할 필요는 없습니다.
  • 데스크톱과 Web 라고 하는 응용 프로그램의 두 개의 버전. 두 가지의 다른 응용 프로그램 기술을 사용하지 않아도 개발 팀은 WPF XAML 브라우저 응용 프로그램과 WPF 설치 응용 프로그램을 작성해 같은 코드 기본을 활용할 수 있습니다.
  • 기업 응용 프로그램. 기업에서 관리자가 호스트 환경을 관리하는 있는 경우에도 상기의 응용 프로그램을 간단하게 배포 할 수 있습니다. 모든 클라이언트 머신에 WinFX를 미리 설치 하거나 인트라넷 응용 프로그램용으로 보안 정책을 사용자 지정 할 수 있습니다.

XAML 브라우저 응용 프로그램을 검토해야 할 시나리오

XAML 브라우저 응용 프로그램의 사용을 검토해야 할 시나리오를 몇 가지 소개합니다. 시각 효과의 복잡함, 개발의 용이함 및 액세스 하는 사용자의 규모의 중요도를 비교 검토하고, 광범위한 액세스를 하는 HTML 버전뿐 아니라 XBAP 버전의 경험도 작성하는 것이 좋습니다.

  • 마케팅 캠페인. WPF를 사용하면 Web 디자이너는 잠재적인 고객을 유인하는 매력적인 인터랙티브 마케팅 캠페인을 작성할 수 있습니다. 많은 경우 XBAP를 구축해 Windows 사용자를 매료시키는 경험을 주는데 효과적입니다.
  • E 커머스. 고객에 따라 차별화한 경험을 WinFX 사용자에 제공하여 기업의 브랜드와 비즈니스에 도움이 됩니다.

WinFX 설치

새로운 플랫폼의 유비쿼터스화는 WinFX의 사용을 고려하는 개발자에게 중요한 검토 사항입니다. 몇 가지 방법으로 WinFX 의 유비쿼터스화를 진행할 계획입니다.

Windows XP SP2 와 Windows Server 2003 에서는 WinFX 를 Windows Update에서 다운로드 할 수 있습니다. 현재 설치 포인트를 사용자가 용이하게 검색할 수 있는 방법을 찾고 있습니다.

Windows Vista 의 PDC Beta 릴리스에서는 Windows Presentation Foundation 응용 프로그램을 실행하기 위해서 필요한 런타임 구성요소는 설치 되지 않습니다. 다만, 설치 디스크로 설치의 포인터가 되는 바로 가기가 표시됩니다. Windows Vista 의 설치 조작은 최종적인 것은 아니며 향후 베타 릴리스로 변경됩니다.

배포

어느 응용 프로그램 플랫폼에서도 사용자까지의 응용 프로그램의 배포가 가장 중요합니다. 여기에서는 배포 기술, 브라우저 호스팅 및 WPF 검색 등 XAML 브라우저 응용 프로그램의 배포에 관해서 상세하게 설명합니다.

ClickOnce

ClickOnce는 Web과 같은 배포를 가능하게 하는 새로운 .NET Framework 기술입니다. 링크를 클릭하면, 응용 프로그램 파일이 머신에 다운로드 및 설치 됩니다.

게다가 ClickOnce에 의한 응용 프로그램 설치 자체가 독립적이며 그 밖에 영향을 주지 않으며 복원 가능 합니다. 응용 프로그램이 다른 응용 프로그램에 의존하거나 (Global Assembly Cache 어셈블리만) 설치로 머신 상태에 영향을 줄 것은 없습니다. 즉, 응용 프로그램이 제거 되면 ([Add Remove Programs]로 명시적으로 했을 경우와 ClickOnce 응용 프로그램 캐시로부터 소거되었을 경우의 모두), 응용 프로그램 전체가 삭제됩니다.

ClickOnce는 코드 액세스 보안을 기본으로 한 보안 배포 모델을 응용 프로그램에 제공합니다 (상세한 것은 샌드 박스를 살펴보세요.)

XAML 브라우저 응용 프로그램은 캐시 된 온라인 전용의 ClickOnce 응용 프로그램입니다. 상기의 장점과 더불어, 머신에 영속적으로 설치 되지는 않지만, 캐싱되기 때문에 두번째 실행부터는 보다 효율적이고 빨라집니다.

주의   샌드 박스의 밖에 설치 해 실행하는 WPF 응용 프로그램도 독립 실행형의 ClickOnce 응용 프로그램으로, Web과 같은 배포 기능을 이용할 수 있습니다. ClickOnce에 대한 상세한 내용은 ClickOnce의 백서를 참조해 주세요.

브라우저에 의한 호스트

XAML 브라우저 응용 프로그램은 브라우저 내에서만 실행됩니다. 브라우저의 최상위레벨에 표시되거나, HTML IFrame 내에서 호스트 됩니다.

응용 프로그램을 호스트 하는 브라우저에 따라 따로 컴파일 할 필요는 없습니다.

      

그림 7 브라우저내의 XAML 브라우저 응용 프로그램

지원 대상 브라우저

XAML 브라우저 응용 프로그램은 Internet Explorer 6 이후 그리고 Microsoft WebBrowser 컨트롤을 호스트 하는 모든 브라우저로 표준으로 실행할 수 있습니다.

Internet Explore XBAP 호스팅은 Windows Presentation Foundation 문서 오브젝트의 호스트를 작성하는 것으로 실행할 수 있습니다. WebBrowser 컨트롤을 호스트 하는 플러그 인을 서드파티로 작성할 수도 있습니다 (지정의 브라우저의 확장성 모델에 근거합니다). WebBrowser 컨트롤의 호스팅에 대한 상세한 내용은 추가 자료를 참조해 주세요.

WPF 설치 여부 결정

WinFX 사용자에게 확장된 경험을 제공 시기를 결정할 경우는 사용자 에이전트 스트링을 조사하여, 언제 머신에 WPF를 설치를 판단할 수 있습니다. SDK 에는 이 방법을 설명한 유용한 기사에서 제공됩니다.

Windows Presentation Foundation 샌드 박스

Web에서 침입하는 맬웨어나 바이러스가 증가하여 사용자가 보안 프롬프트에 당황하는 경우가 늘어나고 있습니다. 몇 번이나 클릭해야 하기 때문에 지치기도 합니다."[OK]를 클릭" 하지 않으면 Web 이나 전자 메일로 제시되는 것을 전혀 설치 할 수 없습니다. 이러한 상황에서Web 사용자에게 안전성과 프롬프트가 없는 경험을 제공하는 것은 커다란 우위성이 있습니다.

XAML 브라우저 응용 프로그램은, 배포 한 장소로 한정된 보안 샌드 박스로 실행됩니다. 모든 XBAP는 인터넷 샌드 박스로 실행됩니다. XAML 브라우저 응용 프로그램은 샌드 박스로 실행되어 로컬 머신에 설치 되지 않기 때문에, 보안 프롬프트를 필요로 하지 않습니다.

샌드 박스 구성

WPF 샌드 박스는 .NET 의 보안 체제인 코드 액세스 보안 (CAS)을 사용해 구축되어 있습니다. 이 보안 모델은 권한 집합과 배포 영역의 편성을 사용해 응용 프로그램의 권한을 결정합니다. CAS에 대한 상세한 내용은 코드 액세스 보안 의 기사를 참조해 주세요. Windows Presentation Foundation 보안의 백서 (영어) 에서도 XBAP 의 보안에 관한 상세와 WPF 의 보안의 개요에 대해 설명하고 있습니다.

샌드 박스 기능

최신의 WPF 인터넷 샌드 박스에는 풍부한 기능 세트가 포함되어 있기 때문에, XAML 브라우저 응용 프로그램은 플랫폼 기능의 대부분을 활용할 수 있습니다. 기능 세트에는 다음과 같은 특징이 있습니다.

전반
  • 브라우저 윈도우
  • 공급원 사이트로의 액세스
  • 분리된 기억 영역 파일의 입출력
  • 파일 오픈 다이얼로그
  • UIAutomation 공급자
  • Cicero IMEs
  • 커멘드 명령
  • 타블렛 stylus/잉크

Web 통합

  • IE 다운로드 다이얼로그
  • 최상위레벨의 사용자 주도 네비게이션
  • 프레임 또는 네비게이션 윈도우내에서 호스트 되는 HTML
  • mailto: 링크
  • URI (커멘드행) 인수
  • ASMX Web 서비스
  • HTML IFrame 로 호스트 되는 XBAP

XPS 문서

  • • XPS 문서 viewer

시각 효과
  • 2-D
  • 3-D
  • • 애니메이션

미디어(크로스 도메인 렌더링)

(and cross-domain rendering)

  • 이미지
  • 오디오
  • 비디오

유동 문서

  • 페이지 편집
  • 텍스트 플로우
  • 최적 패러그래프
  • 하이픈 자동 삽입

텍스트

  • 매입 폰트와 시스템 폰트
  • Adobe CFF
  • 모양

편집
  • 스펠링*
  • 텍스트 박스
  • 리치 텍스트 박스
  • plaintext와 잉크 클립보드
    • 프로그램에 의한 절취/카피
    • 사용자 주도의 붙이기 (Ctrl + V 등)

컨트롤

  • 버튼
  • 슬라이더
  • 스크롤 viewer
  • 팝업 컨트롤 (윈도우내에 제한)
  • 팝업 기본의 컨트롤 (메뉴 등)
  • 기본 컨트롤

* Windows Presentation Foundation 의 Beta 2 릴리스로 제공됩니다.

플랫폼 기능에는 샌드 박스내에서 사용할 수 없는 것도 있습니다. 이것은 설계에 의하는 것으로 Beta 1의 인터넷 샌드 박스로 사용할 수 없는 기능도 있습니다.

전반
  • 독립 실행형 윈도우
  • 새로운 윈도우의 개시
  • 응용 프로그램으로 정의된 다이얼로그
  • 응용 프로그램으로 기동된 보존 다이얼로그
  • UIAutomation 클라이언트

Web 통합

  • Windows Communication Foundation Web 서비스

통합 전반

  • HwndHost
  • 음성인식의 완전한 지원

미디어
  • 비트 맵 효과

편집

  • 리치 (RTF, XAML) 클립보드
주의   영역 기반의 배포이기 때문에 인트라넷 응용 프로그램은 인터넷 응용 프로그램의 경우보다 조금 확장된 샌드 박스로 실행하도록 요구할 수 있습니다. 새로운 윈도우를 기동하거나 보다 충실한 클립보드 포맷세트에 액세스 할 수 있습니다.

샌드 박스 확장

WPF 의 확장 메커니즘은 .NET Framework 과 같습니다. 완전히 신뢰할만한 이름으로 서명된 어셈블리가 Global Assembly Cache (GAC)에 자동적으로 설치 됩니다. AllowPartiallyTrustedCallers (APTCA) 속성을 어셈블리로 설정하는 것으로 작성자는 어셈블리의 공개 API 를 모든 XAML 브라우저 응용 프로그램으로 사용할 수 있도록 합니다.

ATPCA 어셈블리를 작성할지에 대한 결정은 중요합니다. 샌드 박스내의 호출 모듈에 DLL 보안 및 API 세트의 적합성도 엄밀하게 보증하는 것이기도 합니다. GAC 에 어셈블리를 추가하면 MSI의 설치와 보안 프롬프트가 필요합니다.

APTCA GAC를 설정한 어셈블리의 기술에 관한 상세한 내용은 이 기사의 마지막에 추가 정보 를 참조해 주세요.

Loose XAML

Loose XAML파일은 마크 업 파일로 XAM를 사용해 렌더링 하는 시각 컨텐츠를 정의합니다. 응용 프로그램과 함께 컴파일 도지 않고, Web 서버상에서는 독립적인 파일로서 존재합니다. XBAP는 브라우저의 최상위레벨 또는 HTML IFrame 내에서 호스트 할 수 있습니다. Loose XAML 는 항상 인터넷 샌드 박스내에서 실행됩니다.

Loose XAM는 마크 업하기 위해, 컨텐츠만이 렌더링 되도록 제한됩니다. 즉, Loose XAML 에서는 버튼 이벤트 처리기등의 지원이나, 클라이언트의 응용 프로그램 상태를 보존할 수 없습니다. 그러나 풍부한 기능을 비용 추가 없이 서버에서 생성되는 동적인 WPF 시각 효과를 작성할 수 있습니다.

그림 8 HTML IFrame 로 호스트 된 유동 문서의 Loose XAML

기존 사이트의 이행 방법

XAML 브라우저 응용 프로그램에는 많은 이점이 있지만 Web 전체를 Windows Presentation Foundation로 변환하는 것이 기술적으로 또는 예산문제로 어려운 경우가 있습니다. 여기에서는 Web 스페이스에 단계적으로 WPF를 추가해 나가는 방법에 대해 설명합니다.

Loose XAML 추가

Loose XAML를 추가하고 섬과 같이 독립된 리치 WPF 컨텐츠를 작성할 수 있습니다. 리치 텍스트의 완전한 "페이지" 나 프레임, 3D 등이 해당합니다. 예를 들면, 사이트에 XAML로 제품의 가상 투어를 추가해 거기로부터 HTML 에 의한 제품 정보 페이지에 이동시킬 수도 있습니다. 온라인 백과사전으로 HTML 기본의 광고 구조를 유지하면서, XAML의 유동 문서로 기사의 컨텐츠를 표시할 수 있습니다 (XML에서XAML로의 전환은 저비용으로 가능하기에 컨텐츠를 XML 스트림으로 보존하는 백과사전에서는 한층 더 큰 효과가 있습니다).

IFrames 에 의한 XBAP 호스트

Loose XAML로 지원 되는 WPF 컨텐츠를 한층 더 인터랙티브한 "섬"을 작성할 필요가 있는 경우가 있습니다. 이 컨텐츠에서는 버튼의 클릭이나 폼의 서브 미트등의 UI 이벤트를 훅업하기 위한 코드가 필요합니다. IFrames로 호스트 된 XAML 브라우저 응용 프로그램을 사용하면 그러한 기능을 가진 WPF섬을 만들 수 있습니다.

혼합 사이트 작성

Web 사이트의 실제의 인프라를 큰 (또는 포커스 된 시리즈) XAML 브라우저 응용 프로그램으로 이행한다고 가정합니다. 다만, 사이트 전체를 WPF로 이행할 만한 시간이나 자원이 없을 경우, WPF 프레임이 호스트 서버에 있는 HTML 페이지를 표시하여, 기존의 구현 환경을 활용할 수 있습니다. 예를 들면 WPF 에 의한 채팅 포럼을 아직 작성하지 않은 경우 XBAP 내부에 기존의 HTML 기본의 버전을 호스트 할 수 있습니다.

HTML와 WPF의 통신

WPF로 호스트 되는 HTML 와 HTML로 호스트 되는 WPF와 통신을 하려면 다음과 같은 옵션이 있습니다.

  1. 서버를 통신의 중개로서 사용합니다 (HTTP Web 요구).
  2. 호스트 되는 HTML 의 URI 매개 변수 또는 XBAP URI를 이용합니다.
  3. 퍼스트 파티의 Internet Explorer Cookie를 사용합니다.

WinFX 사용자를 위한 WPF 경험을 제공하는 통일된 수단을 작성할 수 있습니다.

정리

XAML 브라우저 응용 프로그램은 Windows Presentation Foundation 의 가능성을 Web 에 가져왔습니다. 최고급의 시각 효과가 가능하며, 응용 프로그램 논리를 작성하는 툴을 제공합니다. Loose XAML 및 긴밀한 브라우저의 통합은 기존의 사이트를 이행하는 효과적인 방법입니다. 원활한 배포나 보안 샌드 박스와 합쳐 XBAP는 강력한 Web 기술입니다.

추가 정보

  1. MSDN Magazine ClickOnce Article (영문)
    On Demand Downloading (영문)
  2. .NET Framework Developer's Guide: Code Access Security (영문)
    Default Security Policy (영문)
    Configuring CAS policy on machines (영문)
  3. WebBrowser Control Hosting Article (영문)
    Sample MFC application hosting the WebBrowser control (영문)
  4. Deploying Microsoft .NET Framework Version 3.0 (영문) (Detecting .NET Framework 3.0 and Earlier Releases)
  5. Working with Assemblies and the Global Assembly Cache (영문)
  6. .NET Framework Assemblies and the AllowPartiallyTrustedCallers Attribute (영문)
  7. Performing Isolated Storage Tasks (영문)
  

Top of Page Top of Page


Microsoft