Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Xamarin Native Projects에서 MVVMCross의 일반적인 사용 사례는 무엇입니까?


Xamarin Native Projects에서 MVVMCross의 일반적인 사용 사례는 무엇입니까?


MVVMCross는 다양한 플랫폼에서 프리젠 테이션 레이어 및 UI 논리를 공유함으로써 Xamarin 기본 프로젝트를 향상시키는 강력한 크로스 플랫폼 MVVM 프레임 워크입니다. Xamarin Native Projects의 MVVMCross에 대한 일반적인 사용 사례는 다음과 같습니다.

1. 크로스 플랫폼 코드 재사용 **

MVVMCross를 통해 개발자는 휴대용 클래스 라이브러리 (PCL)에 뷰 모델과 비즈니스 로직을 배치하여 코드 재사용을 최대화 할 수 있습니다. 이 PCL은 Xamarin.Android 및 Xamarin.ios와 같은 여러 플랫폼 별 프로젝트에서 참조 할 수 있으며, 각 플랫폼에 대해 UI를 사용자 정의 할 수있는 반면 핵심 논리가 일관성이 유지되도록합니다 [1] [2].

2. MVVM 패턴 구현 **

MVVMCross는 MVVM (Model-View-ViewModel) 패턴의 구현을 용이하게하며, 이는 UI와 비즈니스 논리 사이의 우려 사항을 명확하게 분리하는 데 유리합니다. 이 패턴은 느슨하게 결합 된 응용 프로그램을 생성하는 데 도움이되므로 테스트하고 유지하기가 더 쉬워집니다 [3] [5].

3. 데이터 바인딩 및 내비게이션 **

MVVMCross는 강력한 데이터 바인딩 기능을 제공하여 뷰가 뷰 모델에 원활하게 바인딩 할 수 있도록합니다. 이 기능은 다양한 바인딩 모드 및 변환기를 지원하여 응용 프로그램 UI의 유연성을 향상시킵니다. 또한 MVVMCross에는 응용 프로그램 내의 다른 뷰 사이를 단순화하는 내비게이션 시스템이 포함되어 있습니다 [2] [5].

4. 종속성 주입 및 플러그인 **

MVVMCross는 DI (Dependency Injection) 컨테이너를 제공하여 개발자가 PCL에서 플랫폼 별 서비스를 등록하고 해결할 수 있도록합니다. 이 기능은 코드를 복제하지 않고 플랫폼 별 기능을 통합하는 데 중요합니다. 또한 MVVMCross는 NUGET 패키지를 통해 프로젝트에 쉽게 통합 될 수있는 데이터베이스 작업, 네트워크 연결성 등과 같은 일반적인 기능을위한 광범위한 플러그인을 지원합니다 [1] [3].

5. 플랫폼 별 UI 사용자 정의 **

Xamarin.forms는 플랫폼에서 UI 사용자 정의를 제한하지만 Xamarin Native의 MVMCross를 사용하면 개발자가 플랫폼 별 UI를 생성 할 수 있습니다. 응용 프로그램이 각 플랫폼에서 기본 모양과 느낌이 필요한 경우 특히 유용합니다. MVVMCross는 다른 UI 구현에도 불구하고 기본 비즈니스 논리가 공유되고 일관성이 있음을 보장합니다 [1] [4].

6. 단위 테스트 및 개발 효율성 **

MVVMCross는 비즈니스 로직을 PCL로 분리하면 응용 프로그램의 핵심 논리에 대한 단위 테스트를보다 쉽게 ​​작성할 수 있습니다. 비즈니스 로직의 변경이 플랫폼 별 UI 코드를 수정할 필요가 없기 때문에이 분리는 개발 속도를 높입니다 [5].

요약하면, MVVMCross는 Xamarin 원시 프로젝트를위한 다재다능한 도구로서 각 플랫폼에 대한 UI를 사용자 정의 할 수있는 유연성을 유지하면서 크로스 플랫폼 개발에 대한 구조화 된 접근 방식을 제공합니다. MVVM 패턴 지원, 데이터 바인딩, 종속성 주입 및 광범위한 플러그인 생태계와 같은 기능은 복잡한 크로스 플랫폼 애플리케이션에 이상적인 선택입니다.

인용 :
[1] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[2] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[3] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework-2920
[4] https://canbilgin.wordpress.com/tag/mvvmcross/
[5] https://www.mvvmcross.com/documentation/getting-started/getting-started
[6] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarin-forms-version
[7] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do- xamarin-doesnt-already
[8] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross