Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 크로스 플랫폼 개발에 MVVMCross를 사용하면 어떤 이점이 있습니까?


크로스 플랫폼 개발에 MVVMCross를 사용하면 어떤 이점이 있습니까?


MVVMCross는 강력한 크로스 플랫폼 MVVM 프레임 워크로, 특히 Xamarin과 함께 사용될 때 크로스 플랫폼 응용 프로그램을 개발하는 데 몇 가지 이점을 제공합니다. 다음은 mvvmcross를 사용하는 데있어 주요 장점 중 하나입니다.

MVVM 패턴 및 코드 재사용

MVMCross를 사용하면 개발자가 MVM (Model-View-ViewModel) 패턴을 구현할 수 있으며, 이는 사용자 인터페이스에서 응용 프로그램 로직을 분리하는 데 유리합니다. 이 분리를 통해 휴대용 클래스 라이브러리 (PCL) 또는 .NET 표준 라이브러리 [1] [2]에 뷰 모델을 배치하여 iOS, Android 및 Windows와 같은 다른 플랫폼에서 비즈니스 로직을 재사용 할 수 있습니다. 이 접근법은 각 플랫폼이 기본 UI를 구현하면서 동일한 뷰 모델을 여러 플랫폼에서 사용할 수 있으므로 코드 재사용을 크게 향상시킵니다.

데이터 바인딩

MVVMCross는 데이터 바인딩을 지원하며 이는 MVVM 패턴에 중요합니다. 데이터 바인딩을 통해 기본 데이터가 변경 될 때 UI 요소를 자동으로 업데이트 할 수있어 수동 업데이트 및 보일러 플레이트 코드가 줄어 듭니다 [3] [5]. 이 기능은 UI와 비즈니스 로직 간의 우려를 깨끗하게 분리하는 데 도움이됩니다.

의존성 주입 및 제어 역전

MVVMCross에는 의존성 주입을 지원하는 IOC (Control) 컨테이너가 내장되어 있습니다. 이를 통해 개발자는 구성 요소와 서비스 간의 종속성을 쉽게 관리 할 수 ​​있습니다. 생성자 주입을 사용함으로써 ViewModels는 구현 세부 사항을 알 필요없이 플랫폼 별 서비스를받을 수 있으므로 크로스 플랫폼 코드를보다 쉽게 ​​작성할 수 있습니다 [2] [5].

플러그인 및 플랫폼 별 기능

MVVMCross는 개발자가 복제 코드없이 플랫폼 별 기능을 만들고 사용할 수있는 플러그인 아키텍처를 제공합니다. 이 플러그인은 NUGET를 통해 쉽게 설치할 수 있으며 각 플랫폼에서 다르게 구현되는 카메라 액세스, GPS 또는 데이터베이스 작업과 같은 기능을 제공 할 수 있습니다 [1] [2]. 이 접근법은 플랫폼 별 서비스를 크로스 플랫폼 응용 프로그램에 통합하는 것을 단순화합니다.

테스트 가능성

MVVMCross를 사용하면 중요한 이점 중 하나는 뷰 모델의 개선 된 테스트 가능성입니다. ViewModels에는 비즈니스 논리가 포함되어 있으며 UI에서 분리되므로 플랫폼 별 UI 코드와 독립적으로 쉽게 테스트 할 수 있습니다 [2] [5]. 따라서 응용 프로그램 논리에 대한 단위 테스트를보다 쉽게 ​​작성할 수 있습니다.

내비게이션 및 뷰 발표자

MVVMCross는 ViewPresenters를 포함하여 강력한 ViewModel-First Navigation 시스템을 제공합니다. 이 구성 요소는 다양한 플랫폼에서 뷰가 제시되는 방식을 관리하여 내비게이션 및 UI 프레젠테이션에서 더 많은 유연성을 제공 할 수 있습니다 [8].

유연성 및 확장 성

MVVMCross는 Xamarin Native 및 Xamarin.forms 개발 접근법을 모두 지원하여 UI 계층을 구현하는 방법을 선택할 수있는 유연성을 제공합니다 [9]. 또한, 오픈 소스 특성 및 활동적인 커뮤니티는 특정 프로젝트 요구를 충족시키기 위해 확장되고 맞춤화 될 수 있도록합니다.

전반적으로 MVVMCross는 코드 재사용을 촉진하고 플랫폼 별 구현을 단순화하며 애플리케이션 유지 관리 및 테스트 가능성을 향상시켜 크로스 플랫폼 개발을 향상시킵니다.

인용 :
[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://www.mvvmcross.com/documentation/fundamentals/data-binding
[4] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do- xamarin-doesnt-already
[5] https://www.cms.lk/mvvmcross-a-cross-platform-mobile-platform-for-xamarin/
[6] https://www.velvetech.com/blog/5-2iseason-use-mobile-cross-platform-development/
[7] https://www.toptal.com/app/xamarin-mvmcross-skiasharp-cross-platform
[8] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[9] https://www.mvvmcross.com/documentation/getting-started/getting-started