Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross를 다른 프레임 워크 또는 라이브러리와 통합 할 수 있습니다


MVVMCross를 다른 프레임 워크 또는 라이브러리와 통합 할 수 있습니다


MVVMCross는 특히 .NET 생태계 내에서 크로스 플랫폼 개발을 위해 설계된 다목적이고 확장 가능한 MVVM 프레임 워크입니다. Xamarin.ios, Xamarin.Android, Xamarin.forms, UWP (Universal Wind MVVMCross의 주요 기능 중 하나는 다른 프레임 워크 및 라이브러리와 통합하여 복잡한 응용 프로그램 개발에서 유틸리티를 향상시키는 기능입니다.

다른 프레임 워크와 통합

1. CSLA.NET 통합 : MVVMCross는 비즈니스 객체 프레임 워크 인 CSLA.NET와 함께 사용할 수 있습니다. CSLA.NET은 비즈니스 로직 및 데이터 모델링에 중점을 두지 만 MVMCross는 UI 및 응용 프로그램 수준 로직을 처리합니다. 개발자는 CSLA의 'ViewModelBase`를 상속하고 MVVMCross의 요구 사항을 구현하여 CSLA.NET의 비즈니스 객체 프레임 워크를 활용할 수 있습니다. 이 통합은 플랫폼 간의 코드 공유를 허용하면서 우려 사항의 명확한 분리를 유지할 수 있습니다 [5].

2. ReactiveUi 통합 : MVVMCross와 ReactiveUi는 모두 MVVM 프레임 워크이지만 다른 목적을 수행합니다. MVVMCross는 기본 모바일 애플리케이션 및 코드 공유에 더 중점을두고 있으며 ReactiveUi는 RX (Relective Extensions)를 사용한 반응 형 프로그래밍을 강조합니다. 그들은 공존 할 수 있지만 일반적으로 응용 프로그램 개발의 다른 측면에 사용됩니다. MVVMCross는 UI 개발을위한 포괄적 인 기능 세트를 제공하는 반면, ReactiveUI는 고급 비동기 작업이 필요한 응용 분야에 이상적입니다 [7].

3. Xamarin.Forms 및 기타 UI 프레임 워크 : MVVMCross는 Xamarin.forms와의 통합을 지원하여 개발자가 공유 비즈니스 로직으로 크로스 플랫폼 응용 프로그램을 구축 할 수 있습니다. 또한 Maui 및 WPF와 같은 다른 UI 프레임 워크와 잘 작동하여 UI 계층을 선택할 수있는 유연성을 제공합니다 [3] [7].

4. 플러그인 프레임 워크 : MVVMCross에는 GPS 위치, 현지화 및 바인딩 확장과 같은 기능에 대한 타사 플러그인을 추가하여 개발자가 기능을 확장 할 수있는 플러그인 프레임 워크가 포함되어 있습니다. 이 확장 성을 통해 개발자는 프로젝트 요구에 따라 프레임 워크를 사용자 정의 할 수 있습니다 [1] [2].

키 기능은 통합을 용이하게합니다

- IOC (Control) 및 종속성 주입 : MVVMCross는 의존성 주입을 용이하게하는 IOC 컨테이너를 제공하므로 응용 프로그램의 종속성 및 서비스를 쉽게 관리하여 다른 프레임 워크와 쉽게 통합 할 수 있습니다 [1] [4].

- 사용자 정의 가능한 바인딩 엔진 : 프레임 워크를 통해 개발자는 뷰에 대한 사용자 정의 바인딩을 만들 수 있습니다. 이는 특정 데이터 바인딩 메커니즘이 필요한 다른 UI 구성 요소 또는 프레임 워크와 통합 할 때 유용 할 수 있습니다 [1] [2].

- ViewModel to ViewModel Navigation :이 기능은 다른 플랫폼에서 일관된 사용자 경험을 보장하기 위해 다른 프레임 워크의 탐색 패턴과 통합 될 수있는 내비게이션 로직을 관리하는 데 도움이됩니다 [1] [2].

요약하면 MVVMCross는 다른 프레임 워크 및 라이브러리와 매우 통합되도록 설계되었으므로 개발자는 MVVM 아키텍처에서 강점을 활용하면서 다른 도구의 추가 기능을 통합 할 수 있습니다. 다양한 플랫폼에 대한 확장 성과 지원으로 크로스 플랫폼 응용 프로그램 개발을위한 다양한 선택이됩니다.

인용 :
[1] https://github.com/mvvmcross/mvvmcross
[2] https://dotnet.libhunt.com/mvvmcross-alternatives
[3] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[4] https://www.mvvmcross.com/documentation/getting-started/getting-started
[5] https://stackoverflow.com/questions/17373587/how-well-would-mvvmcross-and-csla-net-work-in-amulti-platform-strategy
[6] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[7] https://www.reacitiveui.net/vs/mvvmcross
[8] https://www.mvvmcross.com
[9] https://github.com/rogerwcpt/xamarin-mvvvm-frameworks