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


159

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

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

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


1
한 번 봐 가지고 자 마린 모바일 개발의 좋고 나쁜 1월 2017 년의 같은 훌륭한 토론을
— 올리버

1
결론은 ... 그냥 Native로 가십시오! 나는 내 자신의 경험을 바탕으로 이것을 말하고 있습니다. Native에 양식 앱을 다시 작성했습니다.
— Tejasvi Hegde

2
2015 년의 의견은 더 이상 Xamarin Forms의 현실을 반영하지 않습니다. 그것은 먼 길을 왔으며 .NET Core \ Standard가 성숙 한 후에 폭발하는 것처럼 보였습니다.
— Sean Anderson

이 질문은 다시 열어야합니다. 이제 4 년이 지났으며 Xamarin.Forms 프레임 워크 내에서 엔터프라이즈 응용 프로그램을 개발할 수 있도록 크게 개발되었습니다.
— James Mallon

답변:


144

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

팀의 배경

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

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

공연

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

배달까지의 시간

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

앱의 복잡성

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


2
만약 당신이 좋아 보이는 앱을 기대한다면 이것에 추가 할 것이다. 각 플랫폼에 대한 Xamarin 네이티브 코드로 많은 커스텀 인터페이스를 갖게 될 것이다
— Roman Nazarevych

2
위의 답변과 의견은 너무 오래되었습니다. AOT를 활성화하면 오늘날 성능은 큰 문제가 아닙니다. 의견에 잘 보이는 앱에 관한 것도 사실이 아닙니다. xamarin 양식이 개선되어 멋진 앱을 쉽게 얻을 수 있습니다.
— batmaci

Xamarin Forms는보기 좋은 UI를 쉽게 얻을 수 있다는 측면에서 크게 개선되지 않았습니다. Xamarin.Shell은 이와 관련하여 크게 개선 할 것이지만 현재로서는 Xamarin은 각 플랫폼에 대한 사용자 지정 구성 요소를 작성하지 않고도 원격으로 매력적인 것을 얻는 것이 여전히 어렵습니다.
— Alexander

176

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가 더 중요한 앱

"플랫폼 별 기능이 거의 필요없는 앱"과 관련하여 어떤 종류의 기능에 대해 이야기해야하는지에 대한 예가 있습니까?
— NS.X.

작은 플랫폼 기능은 주로 앱으로 데이터 바인딩 및 기타 비즈니스 규칙을 수행하고 있음을 의미합니다. 많은 사용자 정의 드로잉이 아니거나 모든 것을 완벽한 픽셀로 렌더링하려고하지 않습니다. 반응 형인 공통 레이아웃이 괜찮다면 Xamarin.Forms가 적합합니다.
— Jason Short

내 의견으로는 가장 좋은 답변입니다. "Xamarin.Forms : 모든 플랫폼에 대해 하나의 UI 생성"및 "Xamarin.iOS, Xamarin.Android : 플랫폼 당 하나의 UI 생성"으로 인해 해결되었습니다. 감사!
— Tadej

1
@Dibzmania 나는 프로토 타입과 기본 앱에만 적합하다고 말한 적이 없습니다. 각 플랫폼에서 거의 동일한 UI를 가진 크로스 플랫폼 앱을 원한다면 Xamarin.Forms가 좋습니다. 플랫폼마다 커스텀 UI를 원한다면 Xamarin.Forms의 이점을 얻지 못하고 대신 네이티브 UI 라이브러리를 사용해야합니다.
— Wosi

1
Nathan Williams의이 기사가 유용하다고 생각합니다. arctouch.com/blog/xamarin-forms-xamarin-native
— Alt-WN

44

로부터 자 마린 웹 사이트

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

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

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

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

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

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

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


1
이 답변은 오래되었습니다. 프리즘이있는 양식을 사용하십시오. 즐거운 경험. 나는 거대한 응용 프로그램을 구축하는 단일 개발자이며 매우 생산적이며 내 응용 프로그램은 모든 것에서 작동합니다. 멋진 앱을 원한다면 Grial UI Kit와 같은 다양한 타사보기가 있습니다 (무료 XAML 라이브 프리 뷰어 확인). Xamarin Forms는 여전히 기본적으로 기본 컨트롤을 사용합니다.
— Sean Anderson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.