프로그래밍/실버라이트

[실버라이트] Silverlight 개요 정리

쿠샨 2010. 12. 20. 21:57

Silverlight 정의

  - 떠 오로는 Tag  :  .NET FRAMEWORK , RIA(풍부한 대화형 응용 프로그램) , WPF(Windows Presentation Foundation)

      WPF : .NET FRAMEWORK 3.0에 포함된 것으로 개발자가 쉽게 세련된 UI 나 3D를 구현할 수 있게 만들었다.
               XAML 과 직적 관련이 있다.

      XAML : 확장 가능한 마크업 언어(Extensible Application Markup Language)
                  WPF 에서 XAML은 사용자 인터페이스 마크업 언어 로 쓰이면서 사용자 인터페이스의 요소, 데이터 바인딩, 이벤
                  트 등의 기능을 정의 한다.

Silverlight 장점

  - 다중 브라우저, 다중 플랫폼 기술. Microsoft Internet Explorer, Mozilla Firefox, Apple Safari 및 Google Chrome을 비롯하
    여 일반적으로 사용되는 모든 웹 브라우저와 Microsoft Windows 및 Apple Mac OS X에서 실행.

  - 몇 초만에 설치되는 작은 다운로드로 지원됩니다.

  - 비디오 및 오디오를 스트리밍합니다. 모바일 장치이건 데스크톱 브라우저이건 상관없이 비디오 품질을 720p HDTV 비디오
    모드로 높일 수 있습니다.
          -> HD급 화질의 미디어를 별도의 플러그인 없이 풀화면으로 무리 없이 재생 가능

  - 사용자가 브라우저에서 직접 끌기, 회전, 확대/축소 등의 조작을 수행할 수 있는 뛰어난 그래픽을 제공합니다.
          -> 미디어 역시 다른 그래픽 개체와 동일하게 확대/축소 회전 등의 기법 제공

  - 데이터를 읽어 들여서 화면을 업데이트합니다. 단, 전체 페이지를 새로 고치므로 사용자 작업을 방해하지 않습니다.

  - 응용 프로그램은 웹 브라우저에서 실행할 수도 있고 사용자가 컴퓨터(브라우저 외부)에서 실행할 수 있도록 구성할 수도 있
    습니다.

  - 풍부한 대화형 웹 및 미디어 콘텐츠를 사용자에게 표시할 뿐만 아니라 다양한 소스의 데이터와 서비스를 통합 하여 네트워
    크에서 사용 가능한 이동식 크로스 플랫폼

Silverlight 기능
  • WPF 및 XAML. Silverlight에는 UI를 만드는 데 사용할 수 있는 브라우저의 요소를 크게 확장하는 WPF(Windows Presentation Foundation) 기술의 하위 집합이 들어 있습니다. HTML만을 사용할 때와는 달리 Silverlight에서는 브라우저 기반 UI를 확장하므로 실감나는 그래픽, 애니메이션, 미디어 및 기타 리치 클라이언트 기능을 만들 수 있습니다. XAML(Extensible Application Markup Language)은 요소를 만드는 데 필요한 선언적 태그 구문을 제공합니다 .

  • JavaScript 확장. Silverlight는 WPF 요소를 사용하여 작업할 수 있는 기능을 제공할 뿐 아니라 브라우저 UI 제어 기능을 제공하는 범용 브라우저 스크립트 언어 확장도 제공합니다.

  • 다중 브라우저, 다중 플랫폼 지원. Silverlight는 모든 브라우저와 일반적으로 사용되는 플랫폼에서 동일하게 실행됩니다. 따라서 사용자의 브라우저나 플랫폼에 대해 신경 쓰지 않고 응용 프로그램을 디자인하고 개발할 수 있습니다.

  • 기존 응용 프로그램과 통합. Silverlight는 기존 JavaScript 및 ASP.NET AJAX 코드와 완벽하게 통합되어 이미 만들어 놓은 기능을 보완합니다.

  • .NET Framework 프로그래밍 모델에 대한 액세스. C# 및 Visual Basic과 같은 언어뿐 아니라 IronPython과 같은 동적 언어를 사용하여 Silverlight 응용 프로그램을 만들 수 있습니다.

  • 도구 지원. Visual Studio 및 Expression Blend와 같은 개발 도구를 사용하여 Silverlight 응용 프로그램을 신속하게 만들 수 있습니다.

  • 네트워킹 지원. Silverlight는 HTTP over TCP를 지원합니다. 따라서 WCF, SOAP 또는 ASP.NET AJAX 서비스에 연결하여 XML, JSON 또는 RSS 데이터를 받을 수 있습니다. 자세한 내용은 네트워킹 및 통신을 참조하십시오. 또한 Silverlight를 사용하여 멀티캐스트 클라이언트를 구축할 수 있습니다.

  • LINQ. Silverlight에는 직관적인 네이티브 구문과 강력한 형식의 개체를 사용하여 .NET Framework 언어로 데이터 액세스를 프로그래밍할 수 있는 LINQ(통합 언어 쿼리)가 포함되어 있습니다.


Silverlight 레이아웃

  - 실버라이트는 기본적으로 3가지 레이아웃 패널을 제공 한다.
Canvas(x,y의 절대 위치에 자식 요소를 배치)
StackPanel(가로 또는 세로 스택의 상대적 위치를 기준으로 자식 요소 배치)
Grid(행과 열에 자식 요소 배치)

Silverlight 컨트롤
  - 컨트롤을 사용 하여 다른 컨트롤을 불러 오거나, 사용자에게 상태 변경을 알릴수 있게 만들 수 있다.
     기능 측면에서 컨트롤은 사용자와의 상호 작용을 허용 하는 Button, TextBox 와 복잡한 레이아웃을 지원 하는 DataGrid와
     같은 요소에 이르기 까지 다양 하다.
     Silverlight에서는 컨트롤의 모양에 영향을 주는 기본 컨트롤 템플릿(기본 골격을 말하는 것으로 컨트롤의 시각적 모양과 시
     각적 동작을 정의하는 XAML)

Silverlight 코드 논리 추가
  - Visual Studio 프로젝트 에는 코드 숨김 파일이라고 하는 코드 파일이 포함 된다.
  - 코드 숨김 파일의 이름은 page.xaml 이며 뒤에 언어 형식이 추가 된다.(ex. page.xaml.cs) 코드 숨김 파일에서는 XAML 
     개체에 논리 적용이 가능 하다. 코드에서 UI 개체를 만든 후 표시 요소 트리에 추가 가능.
 : x:Name 을 사용 하여 XAML에 정의된 개체를 참조 할 수 있다.(쉽게 Click 이벤트에 대한 정의를 생각 하면 될것이
   다.)