티스토리 뷰

반응형

Introducing the MVVM Toolkit, a .NET Standard library in the Windows Community Toolkit

 

처음 MVVM Pattern을 시작할 무렵 왜 Microsoft에서는 MVVM Pattern관련 툴을 만들지 않을까?라는 의문을 가지고 있었습니다. 지금도 MVVM Pattern을 사용하려는 개발자들이 어려움을 느끼는 부분 중에 하나는 MVVM Pattern을 사용하기 위해 처음부터 하나씩 만들기에는 부담이되기 때문에, Nuget package를 검색해서 사용하고 싶지만 어떤 것을 선택해야할지 고민하는 것입니다.

 

하지만, 이제 Microsoft에서 직접 MVVM Toolkit을 만들었기 때문에, 선택 장애를 호소하지 마시고 이 패키지를 사용하시면 될 것 같습니다. 다만, 프로젝트의 크기를 고려하여 이 패키지를 사용하시거나, Prism을 사용하시기를 권장합니다.

 

현재 Nuget에서 검색 가능한 버전은 Preview 4입니다. (2020/12/01)

Preview버전이기 때문에 검색전에 Include prerelease를 체크하시고 microsoft.toolkit.mvvm으로 검색하시면 됩니다.

 

What is MVVM?

  • M - Model 
  • V - View
  • VM - ViewModel

Benefits of MVVM

  • 코드 재사용 하기 쉽습니다.
  • 플랫폼에 구애받지 않는 동일한 동작을 합니다.
  • Test 코드 작성이 용이 합니다.
  • 디자인과 개발을 분리해서 작업할 수 있습니다.

Introducing the MVVM Toolkit

Microsoft.Toolkit.Mvvm은 Windows Community Toolkit의 모듈 라이브러리입니다.

  • .NET Standard 2.0
  • 간편하게 추가하고 사용이 쉽습니다.
  • 참조 구현

Why a new MVVM now?

  • MVVMLight와 Caliburn.Micro 라이브러리는 더이상 유지 관리가 되지 않습니다.
    • 커뮤니티 주도로 2020년 4월부터 시작했습니다.
  • MVVMLight와 같은 단순한 라이브러리가 필요합니다.
    • MVVMLight에서 영감을 얻었습니다.
  • 많은 프레임워크들이 구조에 대한 특별한 요구 사항을 가지고 있습니다.
    • 구축할 시작점만을 제공합니다.
  • 대부분의 프레임워크가 만들어진 이후 .NET 및 애플리케이션들이 많은 발전을 했습니다.
    • .NET Standard를 목표로하고 CPU 및 메모리 사용에 최적화 되었습니다.

The MVVM Toolkit

  • ObservableObject(INotifyPropertyChanged)
  • RelayCommand[+Others](ICommand)
  • Messenger[Pub/Sub]
  • Inversion of Control [IoC](IServiceProvider)

youtu.be/NYfEpvH-o14

DEMO는 다음 포스트에서 다루도록 하겠습니다.

 

반응형

'.NET 5, 6, 7' 카테고리의 다른 글

The future of .NET Standard  (0) 2021.01.04
What’s new in Windows Forms runtime in .NET 5.0  (0) 2020.12.23
MVVM Toolkit 사용 가이드 - 옛날 버전입니다  (8) 2020.12.06
.NET Conf 2020 Youtube  (0) 2020.11.19
Get started Blazor  (1) 2019.07.26
댓글