Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Xamarin.forms 및 Xamarin Native를 사용하여 MVVMCross를 사용하는 것의 주요 차이점은 무엇입니까?


Xamarin.forms 및 Xamarin Native를 사용하여 MVVMCross를 사용하는 것의 주요 차이점은 무엇입니까?


MVVMCross의 사용을 Xamarin.forms 및 Xamarin Native와 비교할 때 주로 UI 유연성, 코드 공유 및 개발 접근법 측면에서 몇 가지 주요 차이점이 나타납니다.

UI 유연성 및 제어

-xamarin.forms :이 프레임 워크는 플랫폼에서 공유 UI 계층을 제공하여 UI 코드를 한 번 작성하여 여러 플랫폼에 배포 할 수 있도록 개발을 단순화합니다. 그러나이 공유 UI는 더 고급 UI 요소에 대한 사용자 정의 렌더러가 필요한 플랫폼 별 기능으로 사용자 정의를 제한 할 수 있습니다 [7] [9]. MVVMCross는 Xamarin.forms와 함께 사용할 수 있지만 비즈니스 로직 및 탐색을 관리하지만 UI는 플랫폼 전체에 걸쳐 표준화되어 있습니다 [1] [10].

-Xamarin Native : MVVMCross와 함께 Xamarin Native를 사용할 때 각 플랫폼에 대해 UI를 완전히 제어 할 수 있습니다. 이를 통해 플랫폼 별 UI 구현이 가능하여 각 플랫폼의 기본 모양과 느낌을 최대화합니다. 이 접근법은 iOS 및 Android 용 별도의 UI 계층을 개발하기 위해 더 많은 노력이 필요하지만 유연성과 사용자 정의가 더 큰 것을 제공합니다 [7] [9].

코드 공유 및 재사용

-xamarin.forms : xamarin.forms를 사용하면 비즈니스 로직 (MVVMCross를 통해)뿐만 아니라 플랫폼에서 UI 코드를 공유 할 수 있습니다. 이것은 개발을 단순화하고 유지해야 할 코드의 양을 줄입니다. 그러나 UI는 모든 플랫폼에서 작동하는 공통 요소 세트로 제한됩니다 [4] [10].

-Xamarin Native : MVVMCross의 기본 Xamarin 설정에서 플랫폼에서 비즈니스 로직 (뷰 모델)을 공유 할 수 있지만 각 플랫폼에 대해 UI를 별도로 구현해야합니다. 이 접근법은 MVVMCross를 사용할 때 프리젠 테이션 계층과 UI 로직에서 더 많은 코드 재사용을 허용하지만 여전히 플랫폼 별 UI 개발이 필요합니다 [9].

개발 접근법

-xamarin.forms : xamarin.forms 및 mvvmcross로 개발하는 것은 크로스 플랫폼 UI 개발을 단순화하기 때문에 광범위한 모바일 경험이없는 개발자가 선호합니다. 이 프레임 워크는 대부분의 근본적인 복잡성을 처리하여 개발자가 공유 논리 및 UI에 집중할 수있게합니다 [4] [10].

-Xamarin Native : MVVMCross를 사용한 네이티브 Xamarin 개발은 일반적으로 UI를 세밀하게 제어하고 플랫폼 별 개발에 익숙한 개발자가 선호합니다. 이 접근법은 기본 iOS 및 Android 개발에 대한 전문 지식이 더 필요하지만 UI 설계 및 구현에 더 큰 유연성을 제공합니다 [7] [9].

내비게이션 및 바인딩

-xamarin.forms mvvmcross : xamarin.의 내비게이션 MVVMCross의 형태는 뷰 모델 수준에서 관리되므로 깨끗한 우려 사항을 분리 할 수 ​​있습니다. MVVMCross는 표준 Xamarin.forms 바인딩에서 발견되는 소스 속성과 같은 일부 기능이 부족하지만 폴백 값과 같은 향상된 바인딩 기능을 제공합니다 [2] [10].

-MVVMCross가있는 Xamarin 기본 : Native Xamarin 프로젝트에서 MVVMCross는 내비게이션 및 뷰/뷰 모델 페어링을 처리하여 플랫폼 전체에서 일관된 MVVM 아키텍처를 제공합니다. 이 설정을 통해 개발자는 공유 비즈니스 로직 계층을 유지하면서 플랫폼 별 항법 패턴을 활용할 수 있습니다 [3] [9].

요약하면, 두 가지 접근 방식은 MVVM 아키텍처를 위해 MVVMCross를 활용할 수 있지만 Xamarin.forms는 플랫폼 별 UI 기능에 대한 제어가 적은 공유 UI 계층을 제공하는 반면 Xamarin Native는 UI 사용자 정의에 대한 완전한 제어를 제공하지만 별도의 UI 구현을위한 더 많은 개발 노력이 필요합니다.

인용 :
[1] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms
[2] https://www.xamarinhelp.com/use-xamarin-forms-mvvm-framework/
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
[4] https://www.mvvmcross.com/documentation/getting-started/getting-started
[5] https://www.reddit.com/r/androiddev/comments/6cseds/what_are_the_disadvantages_of_xamarin_for_android/
[6] https://canbilgin.wordpress.com/2017/03/26/xamarin-forms-application-with-mvvmcross/
[7] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross
[8] https://mentormate.com/blog/6-2issons-mvvmcross-speeds-xamarin-development-pernalizes-ux/
[9] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[10] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx