MVVMCross는 Xamarin을 사용하여 크로스 플랫폼 모바일 개발을위한 인기있는 프레임 워크로, 개발자는 Android, iOS 및 기타 플랫폼에서 MVVM 패턴을 활용할 수 있도록합니다. 그러나 그 이점에도 불구하고 Android 및 iOS 응용 프로그램에 MVMCross를 사용할 때 고려해야 할 몇 가지 단점이 있습니다.
1. 복잡성 및 학습 곡선 : MVVMCross는 완전히 파악하는 데 시간이 필요한 큰 프레임 워크입니다. 새로운 개발자들은 구성 요소간에 데이터 컨텍스트가 어떻게 전송되는지와 같은 기본을 이해하는 것이 어려울 수 있습니다 [1]. 이러한 복잡성은 더 간단한 프레임 워크에 비해 더 가파른 학습 곡선으로 이어질 수 있습니다.
2. 성능 문제 : 일부 사용자는 시작 시간 및 ListView 바인딩 지연과 같은 성능 문제를보고했습니다. 이러한 문제는 MVVMCross, Xamarin 또는 Android 플랫폼 자체에 기인 할 수 있으므로 성능 프로파일 러없이 정확한 원인을 정확히 찾아 내기가 어렵습니다 [1].
3. 오류 메시지 및 디버깅 : 프레임 워크의 오류 메시지가 더 유익 할 수 있습니다. 오류를보고하는 대신, 더 빠른 디버깅 및 개발에 도움이되는 잠재적 솔루션을 제안 할 수 있습니다 [1].
4. 재사용 성과 테스트 성 : MVMCROSS는 비즈니스 논리를보기에서 비즈니스 로직을 분리하여 테스트 성을 향상시키는 것을 목표로하지만, 뷰 모델은 부풀어 오르고 테스트하기가 어려울 수 있습니다. 이것은 여러 책임을 다루고 내부 상태를 유지하는 경우 특히 그렇습니다. 독립적으로 방법을 테스트하기가 어렵습니다 [2]. 또한, 뷰 모델은 종종 특정 구현으로 인해 다른 뷰 컨트롤러에서 재사용 할 수 없게됩니다 [2].
5. 플랫폼 별 과제 : Android, Fragmentation 및 Java 스택은 추가적인 과제를 제기 할 수 있습니다. 예를 들어, 에뮬레이터에서 Intel Android X86 이미지를 사용하면 과도한 벌목 또는 네트워크 문제와 같은 단점이 생길 수 있습니다 [1]. iOS에서 내장 된 바인딩이 부족하면 MVVM 구현이 복잡 해져서 View Controllers 또는 처리하지 말아야 할 작업에 대한 뷰 모델에 대해 과잉 의존을 초래할 수 있습니다 [2].
6. 구식 문서 및 튜토리얼 : MVVMCross에 대한 구식 자습서 및 문서에 대한 우려가있었습니다. 이로 인해 신규 개발자가 프레임 워크의 변화를 시작하거나 따라 잡기가 어려울 수 있습니다 [5].
7. 장수와 지원 : 특히 빠르게 진화하는 모바일 기술의 맥락에서 프레임 워크의 성숙도와 장수에 대한 질문이 제기되었습니다. 이것은 상업 프로젝트에 MVMCROSS를 사용할지 여부에 대한 결정에 영향을 줄 수 있습니다 [5].
전반적으로 MVVMCross는 크로스 플랫폼 개발에서 상당한 이점을 제공하지만 복잡성, 성능 문제 및 플랫폼 별 문제는 Android 및 iOS 애플리케이션에 사용할지 여부를 결정할 때 신중하게 고려해야합니다.
인용 :[1] https://blog.rthand.com/a-week-of-developing-for-endroid-using-xamarin-mvvmcross/
[2] https://www.danielhall.io/the-problems-with-mvvm-on-ios
[3] https://www.mvvmcross.com/documentation/upgrading/upgrading-to-mvvmcross-60
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[5] https://xamarin21.rssing.com/chan-23562832/article1771.html
[6] https://stackoverflow.com/questions/16301045/mvvmcross-v3-is- that-wrong-try-try-behaviours-and----mu
[7] https://www.reddit.com/r/dotnet/comments/1cqqika/worth_converting_net_androidios_to_maui/
[8] https://mentormate.com/blog/6-2issons-mvvmcross-speeds-xamarin-development-pernalizes-ux/
[9] https://stackoverflow.com/questions/26108486/should-i-us-mvvmcross-for-xamarin-forms-and-windows-app