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.