[C#] Xamarin.Forms와 Xamarin Native를 언제 사용해야합니까? [닫은]

앱을 개발하기 위해 Xamarin.Forms와 Xamarin 네이티브를 사용하는지 여부를 결정해야합니다.

UI 코드도 공유되므로 Xamarin.Forms와 함께 가고 싶습니다.

그렇다면 Xamarin Native에 비해 Xamarin.Forms를 사용할 때의 기술적 장점과 단점은 무엇입니까?



답변

Xamarin 웹 사이트에 표시된 사항 외에도 다음 사항도 고려해야합니다.

팀의 배경

팀의 모든 사람이 이전에 Android 또는 iOS (Java 또는 Obj-C / Swift 사용) 용으로 코딩 한 경험이 있습니까? 이 경험은 기본 Xamarin에서 재사용되지만 Forms로 코딩 할 다른 플랫폼을 배워야합니다.

iOS / Android에 대해서는 모르지만 일부 XAML을 알고있는 경우에도 마찬가지입니다. 물론 Xamarin.Forms는 WPF / Silverlight와 다르지만 XAML을 알고 있으면 Forms를 사용하는 데 도움이되었습니다.

공연

Xamarin Forms에는 여전히 초기화 시간과 같은 몇 가지 문제가 있습니다. 이것이 최종 사용자에게 문제가 될지 여부를 고려해야합니다. 한 번에 한 번 사용하는 대시 보드 앱을 열기 위해 잠시 기다리지 않아도되지만 메시징 앱에서 동일한 일이 발생하면 화를 낼 것입니다.

배달까지의 시간

Forms를 사용할 때 코드 공유가 더 크므로 더 빠른 배달 시간이 필요할 수 있습니다.

앱의 복잡성

앞의 요점을 고려하면 Forms를 사용하면 시간이 많이 걸리지 않는 쇼 스토퍼 버그 (아마도 매우 새로운 기술 임)에 걸려 넘어 질 수 있습니다. 선택하기 전에 응용 프로그램의 복잡성을 고려하십시오.


답변

Xamarin.Forms

찬성

  • 모든 플랫폼에 대해 하나의 UI 생성
  • 모든 플랫폼에서 사용 가능한 기본 구성 요소 (예 : 단추, 텍스트 필드, 스피너 등)를 사용하십시오.
  • 모든 기본 UI 프레임 워크를 배울 필요가 없습니다.
  • 빠른 크로스 플랫폼 개발 프로세스
  • 커스텀 네이티브 렌더러는 컨트롤의 모양과 느낌을 조절할 수 있습니다

단점

  • 여전히 새로운 프레임 워크이며 여전히 버그가 있습니다
  • 특히 Windows RT는 아직 안정적이지 않습니다
  • 때로는 기본 컨트롤에 직접 액세스하는 것보다 느립니다.
  • 커스텀 네이티브 렌더러에는 경계가 있으며 문서화가 잘되어 있지 않습니다

Xamarin.Android, Xamarin.iOS, Windows Phone, Windows RT

찬성

  • 플랫폼 당 하나의 UI 생성
  • 플랫폼 별 UI 기능 및 구성 요소를 쉽게 조정할 수있는 기능
  • UI를 최대한 활용

단점

  • 크로스 플랫폼 개발 프로세스가 훨씬 느리다
  • 모든 기본 UI 프레임 워크를 배워야합니다.
  • 세 가지 다른 플랫폼 특정 방식으로 거의 동일한 UI를 설명함에 따라 중복 코드 가 발생할 수 있습니다.

그 외에도 Xamarin은 https://xamarin.com/forms에서 말합니다 .

앱에 가장 적합한 Xamarin 접근 방식은 무엇입니까?

Xamarin.Forms는 다음에 가장 적합합니다.

  • 데이터 입력 앱
  • 프로토 타입 및 개념 증명
  • 플랫폼 별 기능이 거의 필요없는 앱
  • 사용자 정의 UI보다 코드 공유가 더 중요한 앱

Xamarin.iOS 및 Xamarin.Android는 다음에 가장 적합합니다.

  • 전문적인 상호 작용이 필요한 앱
  • 고도로 세련된 디자인의 앱
  • 많은 플랫폼 별 API를 사용하는 앱
  • 코드 공유보다 사용자 정의 UI가 더 중요한 앱

답변

로부터 자 마린 웹 사이트

Xamarin.Forms는 다음에 가장 적합합니다.

  • 데이터 입력 앱
  • 프로토 타입 및 개념 증명
  • 플랫폼 별 기능이 거의 필요없는 앱
  • 사용자 정의 UI보다 코드 공유가 더 중요한 앱

Xamarin.iOS 및 Xamarin.Android는 다음에 가장 적합합니다.

  • 전문적인 상호 작용이 필요한 앱

  • 고도로 세련된 디자인의 앱

  • 많은 플랫폼 별 API를 사용하는 앱

  • 코드 공유보다 사용자 정의 UI가 더 중요한 앱


답변