문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

응용 프로그램 및 프로그래밍 모델

Silverlight

대부분의 Silverlight 기반 응용 프로그램은 관리 코드로 작성되며 Silverlight 응용 프로그램 모델을 사용합니다. 물론 단순화된 프로그래밍 모델을 사용할 수도 있습니다.

응용 프로그램 개발을 위해 Silverlight에서는 다음 두 모델을 제공합니다.

  • Silverlight용 관리되는 API. 이 API는 Silverlight용 CLR(공용 언어 런타임)에서 실행되는 코드를 사용합니다. Visual Basic 및 C#과 같은 컴파일된 언어 또는 IronPython 및 IronRuby와 같은 동적 언어를 사용하여 관리되는 API를 사용할 수 있습니다. 동적 언어에 대한 자세한 내용은 Silverlight Dynamic Languages SDK를 참조하십시오.

  • Silverlight용 JavaScript API. 이 API는 브라우저에서 해석되는 JavaScript 코드를 사용합니다.

Silverlight 플러그 인의 단일 인스턴스 내에서 두 모델을 동시에 사용할 수 없기 때문에 이들 프로그래밍 모델은 서로 별개입니다. 하지만 JavaScript API를 사용한 뒤 응용 프로그램이 로드되면 관리되는 API로 전환되는 시작 화면을 구현할 수 있습니다.

관리되는 API는 JavaScript API보다 훨씬 많은 기능을 제공하며, 대부분의 Silverlight 문서에서 다루게 됩니다. 관리되는 API를 사용하는 응용 프로그램은 .NET Framework의 단순화된 버전에 액세스할 수 있습니다. 하지만 JavaScript API는 Silverlight 프레젠테이션 코어 및 브라우저 JavaScript 엔진에만 액세스할 수 있습니다.

.NET Framework 및 Silverlight 프레젠테이션 코어에서 제공하는 기능에 대한 자세한 내용은 Silverlight 아키텍처를 참조하십시오.

관리되는 API를 사용하면 관리되는 어셈블리 및 리소스 파일을 응용 프로그램 패키지(.xap) 파일로 묶을 수 있습니다. Silverlight 플러그 인이 응용 프로그램 패키지 로드 및 내용 추출을 처리합니다.

응용 프로그램 패키지에는 Application에서 파생된 클래스가 있는 어셈블리가 포함되어야 합니다. Application 클래스는 응용 프로그램과 Silverlight 플러그 인 사이의 상호 작용을 캡슐화합니다. 예를 들면 호스트 웹 페이지에 사용자 인터페이스를 표시할 수 있습니다. 또한 응용 프로그램 수명 이벤트 및 리소스 관리를 제공합니다.

Silverlight 문서에서는 응용 프로그램 모델이라는 용어로 Application 클래스에 의해 캡슐화되는 공통 기능 및 응용 프로그램 패키징을 지칭합니다. 응용 프로그램 모델을 사용하면 간단한 응용 프로그램뿐만 아니라 네트워크를 통해 리소스를 공유하는 복잡하면서도 확장 가능한 응용 프로그램도 개발할 수 있습니다.

자세한 내용은 응용 프로그램 모델을 참조하십시오. 응용 프로그램 모델 항목에서는 요청 시 리소스 로드, 다운로드 진행률 표시, 탐색과 같은 몇 가지 일반적인 시나리오가 가능한 응용 프로그램을 디자인하기 위한 지침을 제공합니다.

XAML 태그를 사용하면 관리되는 API와 JavaScript API에서 UI(사용자 인터페이스) 디자인을 캡슐화할 수 있습니다. 관리되는 API의 경우 응용 프로그램 코드를 여러 XAML 파일 및 함께 제공되는 코드 숨김 파일로 분할할 수 있습니다.

Silverlight 플러그 인은 XAML 파일을 로드할 때 코드 숨김에서 조작이 가능한 개체 트리를 만듭니다. 관리되는 응용 프로그램 코드에서는 HTML 브리지를 통해 HTML DOM(Document Object Model)을 조작할 수도 있습니다.

관리되는 코드가 XAML 및 HTML과 상호 작용하는 방법에 대한 자세한 내용은 Silverlight용 관리되는 API를 참조하십시오.

JavaScript API는 Silverlight 1.0에서 제공되었던 모델로, 이전 버전과의 호환성 및 특정 시나리오를 위해 여전히 지원됩니다.

JavaScript API에서 Silverlight 플러그 인은 응용 프로그램 패키지가 아닌 단일 XAML 페이지를 로드합니다. 이 XAML에는 이미지, 비디오 등의 서버측 리소스에 대한 URI 참조가 포함될 수 있습니다. Silverlight 플러그 인은 XAML을 사용하여 개체 트리를 만들 수 있으며 이 트리를 호스트 HTML 페이지에서 JavaScript를 사용하여 프로그래밍 방식으로 조작할 수 있습니다.

JavaScript API에서는 내부 탐색이 가능한 복잡한 응용 프로그램을 지원할 수 있는 응용 프로그램 모델은 제공하지 않습니다. 하지만 이 API는 시작 화면처럼, 관리되는 API를 사용하기에는 너무 단순한 시나리오에 유용합니다. 또한 새 XAML 페이지를 Silverlight 플러그 인으로 로드하거나 새 웹 페이지를 브라우저로 로드하여 기본 탐색을 구현할 수도 있습니다.

자세한 내용은 Silverlight용 JavaScript API를 참조하십시오.

관리되는 API와 JavaScript API를 사용하면 호스트 HTML 페이지에서 JavaScript를 사용하여 Silverlight를 HTML DOM(Document Object Model)과 통합할 수 있습니다.

JavaScript API의 경우 DOM과 직접 상호 작용할 수 있는, 브라우저에서 해석되는 JavaScript를 사용하여 대부분의 응용 프로그램 기능을 구현해야 합니다. 관리되는 API의 경우 JavaScript 및 DOM 코드는 HTML 브리지를 사용하여 Silverlight 플러그 인 및 응용 프로그램 모델과 상호 작용합니다.

자세한 내용은 Silverlight 프로그래밍 모델, XAML 및 HTML DOMHTML 브리지: HTML과 관리 코드 간 상호 작용을 참조하십시오.

HTML 브리지 기능을 사용하는 한 가지 이유는 Silverlight를 다른 HTML 기반 콘텐츠와 통합하는 웹 페이지를 만들기 위해서입니다. HTML DOM을 사용하여 여러 개의 Silverlight 기반 응용 프로그램을 한 페이지에 통합할 수도 있습니다. 그러나 이 경우 Silverlight는 여러 Silverlight 플러그 인 간에 통신하기 위한 로컬 메시징이라는 기능을 기본적으로 제공합니다.

로컬 메시징을 사용하면 한 Silverlight 기반 응용 프로그램에서 동일한 컴퓨터에서 실행되는 다른 응용 프로그램으로 메시지를 보낼 수 있습니다. 이렇게 하면 배너에서 세로 막대에 걸쳐 있는 애니메이션 등과 같이 여러 플러그 인을 포함하는 Silverlight 콘텐츠를 만들 수 있습니다. 자세한 내용은 로컬 Silverlight 기반 응용 프로그램 간의 통신을 참조하십시오.

Silverlight는 브라우저 외부에서 관리되는 응용 프로그램을 실행하는 기능을 기본적으로 제공합니다. 브라우저 외부 실행을 지원하도록 응용 프로그램을 구성하면 사용자가 해당 호스트 웹 페이지에서 응용 프로그램을 설치할 수 있습니다. 설치한 후에는 브라우저나 네트워크 연결 없이도 응용 프로그램을 실행할 수 있습니다. 응용 프로그램 코드를 수정하지 않고도 브라우저 외부 실행을 지원하도록 응용 프로그램을 구성할 수 있습니다. 또는 오프라인 캐싱 및 자동 업데이트 등과 같은 브라우저 외부 실행 모드를 위한 추가 지원을 구현할 수 있습니다. 자세한 내용은 브라우저 외부 실행 지원을 참조하십시오.

Silverlight 4 이상에서 브라우저 외부 실행 응용 프로그램에 높은 신뢰가 필요하도록 구성할 수도 있습니다. 이러한 신뢰할 수 있는 응용 프로그램은 Silverlight 보안 샌드박스의 일부 제한을 무시하고 기본 기능과 통합될 수 있습니다. Silverlight 5 베타 이상에서 시스템 관리자는 브라우저 내에서 신뢰할 수 있는 응용 프로그램을 실행할 수도 있습니다. 자세한 내용은 신뢰할 수 있는 응용 프로그램을 참조하십시오.

다른 환경에서 Silverlight 플러그 인을 사용할 수도 있습니다. 그러나 이 경우 기본 지원이 제공되지 않습니다. Silverlight를 다른 기술과 통합하는 가장 쉬운 방법은 브라우저 컨트롤 내에서 Silverlight 플러그 인을 호스팅하는 것입니다. 그런 다음 다른 기술의 브라우저 컨트롤을 호스팅할 수 있습니다. 고급 호스팅 옵션은 관리되지 않는 코드와 COM 인터페이스를 사용하는 것입니다. 데스크톱 응용 프로그램에서 Silverlight의 이 기능이 필요할 경우 WPF(Windows Presentation Foundation)의 사용을 고려해야 합니다. 다른 환경에서 Silverlight를 사용하는 것에 대한 자세한 내용은 얼터너티브 호스팅을 참조하십시오.

커뮤니티 추가 항목

추가
표시: