Silverlight-브라우저 외부 응용 프로그램

이제 일반 Windows 응용 프로그램과 같이 웹 브라우저 외부에서 실행하기 위해 최종 사용자의 컴퓨터에 설치할 수있는 응용 프로그램에 대한 Silverlight 지원을 살펴 보겠습니다. 애플리케이션이 브라우저 밖에서 실행되기를 원하는 세 가지 주요 이유가 있습니다.

  • Interaction
  • Offline
  • 높은 신뢰

상호 작용

더 나은 인터랙션 디자인을 가능하게합니다. 웹의 탐색 모델은 일부 응용 프로그램에 특히 적합하지 않습니다. 예를 들어 주소 표시 줄과 뒤로 단추는 공간을 낭비하고 쓸모가 없을 수 있습니다.

여기서 Silverlight의 중요성은 다음과 같습니다.

  • 웹 응용 프로그램은 Silverlight, Flash 또는 AJAX와 같은 클라이언트 측 기술을 사용하여 단일 페이지에 대한 지속적인 업데이트를 제공 할 수 있으므로 다른 페이지로 이동할 필요가 없습니다.

  • 일부 응용 프로그램에서 사용자는 브라우저가 단일 페이지로 간주하는 작업에 몇 분 또는 몇 시간을 소비 할 수 있습니다.

  • 이러한 종류의 응용 프로그램의 경우 Back 버튼은 응용 프로그램에 들어가기 전에 어떤 페이지에 있던지 다시 덤프하기 때문에 응용 프로그램을 종료하는 다소 놀라운 효과를 가질 수 있습니다.

  • 분명히, 웹과 유사하지 않은 응용 프로그램은 일반적으로 브라우저 크롬을 제거하기 때문에 브라우저를 실행하면 더 잘 제공됩니다. 일반적으로 유용성은 브라우저가 부족한 유일한 이유는 아닙니다.

오프라인

이 기능을 사용하는 또 다른 이유는 오프라인 실행을 활성화하는 것입니다. 브라우저 외부 작업을 위해 Silverlight 응용 프로그램을 설치하면 로컬 컴퓨터의 사용자 별 저장소에 복사되고 Windows의 시작 메뉴와 같은 응용 프로그램을 시작하기위한 일반적인 운영 체제 메커니즘을 통해 사용할 수 있습니다.

  • 그러면 사용자가 인터넷에 연결되어 있지 않아도 응용 프로그램을 사용할 수 있습니다.

  • 분명히 이것은 서버 측 정보에 전적으로 의존하지 않는 응용 프로그램에만 유용합니다.

  • 예를 들어 택배 서비스를위한 자동 추적 응용 프로그램은 네트워크 연결 없이는 그다지 유용하지 않습니다.

  • 일부 응용 프로그램의 경우 간헐적 인 연결 실패 중에도 계속 작업 할 수있는 기능이 매우 유용합니다.

높은 신뢰

Silverlight의 버전 4는 신뢰할 수있는 응용 프로그램에 대한 지원을 추가했습니다. Silverlight의 보안 샌드 박스는 일반적으로 사용자 파일 액세스와 같은 특정 권한 작업을 차단합니다.

그러나 브라우저 외부 응용 프로그램은 권한 상승을 요청할 수 있습니다. 사용자가 해당 요청을 허용하면 응용 프로그램은 COM 자동화를 사용하거나 창 테두리를 사용자 지정하는 등 일반 Windows 응용 프로그램에서 수행 할 수있는 작업을 더 많이 수행 할 수 있습니다.

브라우저 내에서 실행되는 응용 프로그램은 신뢰할 수 없으므로 이러한 기능을 사용하려면 브라우저 외부 응용 프로그램을 작성해야합니다.

OOB 활성화

브라우저 외부 애플리케이션을 어떻게 작성합니까? 많이 쉽다. Silverlight의 프로젝트 속성에서 단일 설정을 변경해야하며 적절한 설정이AppManifest.xaml.

어떻게 작동하는지 봅시다.

  • 매니페스트가 브라우저 외부 실행이 지원됨을 나타내면 초기 효과가 없습니다. 응용 프로그램은 평소와 같이 브라우저에서 실행됩니다.

  • 그러나 사용자가 마우스 오른쪽 버튼을 클릭하면 표준 Silverlight ContextMenu 컴퓨터에 응용 프로그램을 설치하기위한 추가 항목을 제공합니다.

  • 사용자가 해당 항목을 선택하면 확인을 요청하는 대화 상자가 나타납니다. 또한 시작 메뉴, 바탕 화면 또는 둘 다에서 응용 프로그램에 액세스 할 수 있는지 묻습니다.

  • 상황에 맞는 메뉴에 의존 할 필요가 없습니다. API가 있기 때문에 사용자가 클릭하여 애플리케이션을 설치할 수있는 버튼을 제공 할 수도 있습니다. 설치를 시작하기 위해 호출 할 수 있습니다.

  • 프로그래밍 방식으로 설치를 시작해도 사용자는 여전히 대화 상자를 볼 수 있습니다. 사용자 동의없이 앱을 설치할 수 없습니다.

Silverlight 응용 프로그램

다음은 매우 간단한 Silverlight 응용 프로그램입니다. 다음은 XAML 코드입니다.

<UserControl x:Class = "SimpleOob.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   mc:Ignorable = "d" 
   d:DesignHeight = "300" d:DesignWidth = "400">
   
   <Grid x:Name = "LayoutRoot" Background = "White"> 
	
      <Border BorderBrush = "Blue" BorderThickness = "4" CornerRadius = "20" >
		
         <Border.Background>
			
            <LinearGradientBrush StartPoint = "0,0" EndPoint = "0,1"> 
               <GradientStop Offset = "0.0" Color = "White" /> 
               <GradientStop Offset = "0.15" Color = "#cef" /> 
               <GradientStop Offset = "1.0" Color = "White" /> 
            </LinearGradientBrush> 
				
         </Border.Background> 
			
         <TextBlock HorizontalAlignment = "Center" VerticalAlignment = "Center" 
            Text = "Silverlight Application" TextOptions.TextHintingMode = "Animated" 
            TextAlignment = "Center" TextWrapping = "Wrap" 
            FontSize = "72" FontFamily = "Trebuchet MS" > 
					 
               <TextBlock.Effect> 
                  <DropShadowEffect Color = "#888" /> 
               </TextBlock.Effect> 
				
         </TextBlock>
			
      </Border> 
		
   </Grid>
	
</UserControl>

Step 1 − 브라우저 외부 실행을 활성화하려면 프로젝트의 Properties을 클릭하고 Silverlight 탭을 클릭합니다. 우리가해야 할 일은 다음과 같습니다.Enable running application out of the browser 확인란.

이 응용 프로그램을 실행하면 웹 브라우저가 전혀 설치되지 않음을 알 수 있습니다.

실제로 Visual Studio는 사용자를 대신하여 결정을 내 렸습니다. 활성화했을 때out-of-browser 실행하면 디버그 설정이 부당하게 변경되었습니다.

Step 2 − 그래서 여기 Solution Explorer, Silverlight 프로젝트가 이제 시작 프로젝트임을 나타내는 굵게 표시됩니다.

이전에는 그렇지 않았습니다. 웹 프로젝트였습니다. 지금 당장은 체크 박스가 최종 사용자에게 어떻게 변화하는지 보여주고 싶기 때문에 원하지 않습니다.

Step 3 − 웹 프로젝트를 다시 시작 프로젝트로 설정합니다.

Step 4 − 응용 프로그램을 다시 실행하면 응용 프로그램이 이제 브라우저에 다시 표시됩니다.

Step 5− 웹 페이지를 마우스 오른쪽 버튼으로 클릭합니다. 상황에 맞는 메뉴에 일반적인 Silverlight 항목과 설치할 추가 항목이 표시됩니다.

Step 6 − 두 번째 옵션을 선택하면 아래와 같은 응용 프로그램 설치 대화 상자가 나타납니다.

응용 프로그램의 출처 인 웹 사이트의 루트 URL이 표시됩니다. Visual Studio에서 제공하는 로컬 디버그 웹 서버를 사용하고 있으므로 localhost라고 표시됩니다.

Step 7 − 클릭 OK, 애플리케이션은 브라우저와 별도의 자체 창에서 실행됩니다.

이 창은 어떻게 든 브라우저가 소유하거나 브라우저에 연결되어 있다고 생각하는 것이 당연 할 수 있지만 그렇지 않습니다. 브라우저를 닫아도이 창은 계속 유지됩니다. 더 중요한 것은이 창을 닫은 다음 브라우저를 전혀 사용하지 않고 애플리케이션을 다시 실행할 수 있다는 것입니다.

Step 8 − 열면 Search 대화 상자 Start 메뉴를 클릭하고 응용 프로그램 이름을 입력하기 시작하면 일반 Windows 응용 프로그램처럼 표시됩니다.

Step 9 − 브라우저가 보이지 않는 곳에 실행할 수 있습니다.

응용 프로그램을 제거하려면

애플리케이션의 기본 상황에 맞는 메뉴를 사용하면 쉽게 수행 할 수 있습니다. 사용자는 다른 응용 프로그램과 같은 방법으로이 제거를 합리적으로 기대할 수 있습니다.

웹 페이지를 마우스 오른쪽 버튼으로 클릭하고 선택하여 제거 할 수도 있습니다. Remove this application….

OOB 설정

브라우저 외부 작업을 활성화하려면 단일 설정 만 변경해야했지만 실제로는 일반적으로 그보다 더 많은 작업을 수행하고 싶을 것입니다. 그만큼AppManifest.xaml 파일에는 다음과 관련된 여러 설정이 포함될 수 있습니다. out-of-browser 일반적으로 Visual Studio를 통해 구성합니다.

아시다시피 확인란을 선택하여 running out-ofbrowser, Visual Studio에서 Out-of-Browser Settings.

버튼을 클릭하여 살펴 보겠습니다. 다음과 같은 대화 상자가 생성됩니다.

  • 가장 먼저 구성 할 수있는 것은 Window Title.

  • 창 크기와 위치를 수정하는 옵션도 있지만 지금은 자동으로 두겠습니다.

  • 이 바로 가기 이름은 Start 메뉴 및 앱이 설치되면 데스크톱 링크가 표시됩니다.

  • 상황에 맞는 메뉴와 응용 프로그램 설치 대화 상자에 나타나는 텍스트이기도합니다.

  • 이 응용 프로그램 설명은 바로 가기 위로 마우스를 가져 가면 도구 설명에 나타납니다.

  • 다양한 크기의 아이콘을 제공합니다. 이것들은 프로젝트에 내장되어야합니다.