Condividi tramite


주간닷넷 2016년 1월 5일

2016년에도 어김없이 주간닷넷이 돌아왔습니다. 이번 주에도 흥미로운 패키지들과 유용한 포스트들을 담았습니다. 여러분들의 적극적인 참여를 기다리고 있습니다. 혼자 알고 있기에는 너무나 아까운 글, 소스 코드, 라이브러리를 발견하셨거나 혹은 직접 작성하셨다면 Gist주간닷넷 페이지를 통해 알려주세요. .NET 관련 동호회 소식도 알려주시면 주간닷넷을 통해 많은 분과 공유하도록 하겠습니다.

On.NET 소식

지난 On.NET 유튜브 동영상 인터뷰에서는 현재 마이크로소프트에서 C# 팀을 이끌고 있는 Mads Torgersen를 모시고 C#에 대해 이야기 나누는 시간을 가졌습니다.

금주의 패키지 #1 – ReactiveUI

ReactiveUI를 이용하면 .NET 용 Reactive Extensions을 기반으로 미려하고 테스트가 간편한 사용자 인터페이스를 만들 수 있습니다.

WPF, 윈도우 폼, UWP 앱과 같이 윈도우 운영체제에서 수행되는 다양한 UI 형식을 지원할 뿐 아니라, Xamarin과도 호환되므로 Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin Forms에서도 사용할 수 있습니다.

활용 예를 한번 살펴볼까요? 예를 들어, 검색창에 사용자가 값을 입력하면 Enter 키를 입력하지 않아도 검색 서비스에 HTTP 쿼리를 전송해 자동으로 결과를 보여주어야 하는 경우가 있습니다. 사용자가 텍스트를 입력하는 순간마다 매번 쿼리를 전송하기 보다는 1초 정도의 여유를 두어 사용자가 입력을 완전히 마쳤다고 판단될 때 쿼리를 전송하는 것이 좋습니다. ReactiveUI를 이용하면 다음과 같이 작성하실 수 있습니다.

위의 예제 코드는 ReactiveUI 사이트의 첫 번째 소개 페이지에 실려 있습니다.

ReactiveUI 커뮤니티는 Github를 통해 여러분의 참여를 기다리고 있습니다. 현재의 문제점들을 확인하실 수 있고, 초보자를 대상으로 하는 태그도 있습니다.

금주의 패키지 #2 – TypedRouting

ASP.NET MVC의 마법 같은 라우팅 관련 문자열 용법이 마음에 들지 않는다면 TypedRouting을 대안으로 고려해 볼 수 있습니다.

다음은 TypedRouting을 이용해 GET 요청을 HomeController.Index(int)로 전달하는 코드입니다.

Controller와 Action 메서드의 이름과 인자 목록까지 제네릭(generic) 구문을 통해 전달되기 때문에 컴파일 타임에 미리 오류 검사가 가능합니다. 따라서 향후 코드에서 Controller와 Action 메서드의 구문이 바뀌더라도 에러를 쉽게 찾을 수 있습니다.

TypedRouting은 라우팅 기능뿐만 아니라 유틸리티 성격의 메서드도 함께 제공합니다. 가령, 위의 코드에서 정의한 라우팅 정보를 바탕으로 링크를 구성할 수도 있습니다.

.NET 소식

ASP.NET 소식

F# 소식