Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross를 사용할 때 주요 과제는 무엇입니까?


MVVMCross를 사용할 때 주요 과제는 무엇입니까?


MVVMCross는 MVM (Model-View-ViewModel) 패턴을 사용하여 크로스 플랫폼 응용 프로그램을 구축하는 데 인기있는 프레임 워크입니다. 데이터 바인딩 및 종속성 주입과 같은 많은 이점을 제공하지만 사용과 관련된 몇 가지 과제가 있습니다.

프레임 워크 구성 요소의 결함

MVVMCross의 주요 과제 중 하나는 일부 구성 요소, 특히 데이터 바인딩을 지원하는 Android 및 iOS보기와 관련된 결함이 있다는 것입니다. 이러한 결함은 UI와 관련된 문제로 이어질 수 있으며 추가 디버깅 노력이 필요합니다. MVVMCross는 오픈 소스이므로 사용자는 수정 사항을 기여할 수 있지만 프레임 워크의 내부에 대한 광범위한 지식없이 개발자에게 항상 간단한 것은 아닙니다 [3].

스타트 업 속도

MVMCROSS 응용 프로그램은 종종 다른 프레임 워크에 비해 시작 시간이 느려집니다. 이는 주로 프레임 워크의 아키텍처에 내재 된 초기화 중에 사용 된 반사 기반 메커니즘 때문입니다. 이 속도는 일반적으로 Xamarin 앱에서 일반적이지만 빠른 앱 출시를 기대하는 사용자에게는 단점이 될 수 있습니다 [3].

통증 업그레이드

이름 지정 규칙 및 행동의 중대한 변화로 인해 MVMCross 버전을 업그레이드하는 것은 어려울 수 있습니다. 이 문서는 종종 이러한 업데이트 뒤에 뒤쳐져 새로운 문제에 대한 솔루션을 찾는 데 어려움이 있습니다. 이로 인해 길고 때로는 실망스러운 업그레이드 프로세스가 발생합니다 [3].

문서 품질

MVMCross 문서의 품질은 또 다른 과제입니다. 종종 철자 실수를 포함하고 포괄적 인 참조 자료가 부족하며 링크가 깨진 링크가 포함됩니다. 개발자는 종종 정확한 정보를 찾기 위해 프레임 워크의 소스 코드를 탐구해야하며, 이는 시간이 많이 걸릴 수 있으며 프레임 워크의 아키텍처를 잘 이해해야합니다 [3].

구식 샘플

MVVMCross는 샘플 프로젝트의 저장소를 제공하지만 이러한 샘플 중 다수는 구식이며 최신 버전의 프레임 워크와 호환되지 않습니다. 이로 인해 신규 개발자가 시작하거나 기존 개발자가 프레임 워크의 변화에 ​​적응하기가 어렵습니다. 몇 가지 샘플 만 적극적으로 유지되며 학습 및 문제 해결에 대한 유용성을 제한합니다 [3].

데이터 바인딩 한계

MVVMCross는 데이터 바인딩을 지원하지만 일회성 바인딩과 같은 특정 바인딩 모드는 일반적으로 사용되지 않으며 모든 시나리오에 적합하지 않을 수 있습니다. 이 모드는 뷰 모델의 변경 사항을 활성으로 모니터링하지 않으므로 제대로 관리되지 않으면보기에서 구식 데이터로 이어질 수 있습니다 [1].

내비게이션 및 수명주기 문제

뷰 모델을 탐색하고 수명주기를 관리하는 것은 특히 Android에서 묘비와 같은 플랫폼 별 동작을 다룰 때 복잡 할 수 있습니다. MVVMCross는 이러한 시나리오를 관리하는 데 도움이되는 수명주기 방법을 제공하지만이를 마스터하려면 프레임 워크와 기본 플랫폼 세부 사항을 잘 이해해야합니다 [7].

제어 및 서비스 로케이터의 역전

MVMCROSS의 내장 서비스 로케이터 패턴 및 IOC (Control) 지원은 강력한 기능이지만 신중한 설정 및 관리가 필요합니다. 서비스 등록 및 종속성 해결은 제대로 구성되지 않으면 특히 더 큰 응용 분야에서 복잡해질 수 있습니다 [3] [6].

요약하면 MVVMCross는 교차 플랫폼 개발에 많은 이점을 제공하지만 결함, 성능, 문서 및 복잡성과 관련된 몇 가지 과제를 제시합니다. 이러한 과제를 해결하려면 프레임 워크와 기본 기술에 대한 깊은 이해가 필요합니다.

인용 :
[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://github.com/mvvmcross/mvvmcross/issues/4201
[3] http://wojosoftware.com/software/mvvmcross/
[4] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[5] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[6] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[7] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[8] https://stackoverflow.com/questions/16301045/mvvmcross-v3-is- that-wrong-try-try-behaviours-and storyboards-in-a-mu