이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
내보내기(0) 인쇄
모두 확장

Windows Phone의 Reactive Extensions for .NET Framework 개요

2012-02-09

이 항목에서는 Reactive Extensions for .NET Framework를 간략하게 소개하고 Windows Phone 응용프로그램에서 이를 사용할 수 있는 몇 가지 방법에 대해 설명합니다.

Reactive Extensions for .NET Framework는 반응형 응용프로그램 작성을 위한 API를 제공하는, 관리되는 라이브러리입니다. 관리형 응용프로그램은 환경에 의해 구동됩니다. 반응형 모델에서 데이터 스트림, 비동기 요청 및 이벤트는 관찰 가능 시퀀스로 나타냅니다. 응용프로그램은 이러한 관찰 가능 시퀀스를 구독하여 새 데이터가 도착하면 비동기 메시지를 수신할 수 있습니다. Reactive Extensions에서는 응용프로그램에서 쿼리 연산자를 사용하여 이러한 시퀀스를 작성할 수 있습니다.

응용프로그램이 사용자 입력 이벤트, 웹 서비스 요청 및 시스템 알림 등의 여러 데이터 소스와 상호 작용하는 경우 이러한 모든 상호 작용을 관리하는 전형적인 방법은 데이터 스트림마다 별도의 처리기를 구현하는 것입니다. 이러한 처리기 내에, 서로 다른 모든 데이터 스트림 사이를 조정하고 이 데이터를 사용 가능한 형식으로 처리할 코드를 제공해야 합니다. Reactive Extensions를 사용하면 이러한 모든 데이터 스트림을 결합하여 하나의 처리기를 트리거하는 단일 스트림으로 만드는 쿼리를 작성할 수 있습니다. 데이터 필터링, 동기화 및 변환 작업이 Reactive Extensions 쿼리에 의해 수행되므로 처리기는 단지 수신되는 데이터에 반응하고 무슨 작업이든 하면 됩니다.

Reactive Extensions는 광범위한 응용프로그램을 위한 응용프로그램을 갖춘 프로그래밍 모델이지만, 여러 소스에서 사용자 데이터를 수신하고 처리할 수 있는 허브로서의 기능을 하기 때문에 모바일 단말기에서 실행되는 응용프로그램에서 특히 유용합니다. 이 섹션에서는 Windows Phone 개발자가 특히 관심을 가질 만한 몇 가지 Reactive Extensions 시나리오를 소개합니다.

Filtering Events

Microsoft 위치 서비스는 위치 데이터가 수집되면 응용프로그램에 알리는 이벤트를 발생시킵니다. 기본 제공 API를 사용하면 데이터를 필터링할 수 있고, 지정된 수치 이상으로 위치 데이터가 변경될 때만 알림을 받도록 요청할 수 있습니다. Reactive Extensions에서는 이벤트를 추가로 필터링할 수 있으므로, 예를 들면, 지정된 경계 사각형 안에 위치가 들어왔을 때만 응용프로그램에 알리도록 더욱 세밀하게 설정할 수 있습니다. 또한 Reactive Extensions를 사용하면 지정된 조건을 충족하는 데이터만 최종 스트림이 되도록 데이터 스트림을 필터링하는 쿼리를 정의할 수 있습니다.

여러 개의 비동기 웹 서비스 요청 작성

모바일 단말기용 응용프로그램은 여러 웹 서비스에서 콘텐츠와 기능을 혼합하여 만들기도 합니다. 웹 서비스가 요청을 반환하는 데 걸리는 시간은 단말기의 연결 속도, 인터넷 트래픽 및 서비스 자체 구현에 따라 좌우되므로 원래 예측할 수 없습니다. Reactive Extensions를 사용하면 몇 개의 웹 서비스 요청을 만들고, 지정된 시간 범위 내에 들어온 응답만 수신할 수 있습니다. 또한 Reactive Extensions는 지정된 최소 개수의 검색 쿼리가 반환된 경우 여러 웹 서비스에 게시된 검색이 앱에 반환되도록 검색 쿼리를 작성하는 데도 사용할 수 있습니다.

데이터 스트림 에뮬레이트

모바일 단말기용 응용프로그램 개발은 개발 환경에서는 나타나지 않지만 실제 작업 환경에서 응용프로그램이 경험하게 되는 여러 가지 조건들로 인해 어려운 작업이 될 수 있습니다. 예를 들면, 단말기 에뮬레이터에서 응용프로그램을 개발할 경우 가속도계와 위치 데이터는 시뮬레이션하기가 어렵습니다. Reactive Extensions 모델에서는 정의된 인터페이스를 사용하여 데이터의 소비자와 공급자를 관찰자 및 관찰 가능 개체로 표현하기 때문에 가속도계 데이터의 처리기 같은 소비자를 작성하고, 시뮬레이션된 데이터를 포함하는 파일 스트림에서 라이브 센서로 공급자를 교체할 수 있습니다. 이로 인한 오버헤드도 거의 발생하지 않습니다.

표시:
© 2015 Microsoft