2016-12-23 1 views
0

그래서, 나는 얼마 동안 안드로이드 애플 리케이션을 개발 해왔고, 나는이 애플 리케이션을 windows phone에도 포팅 해보라고 요청 받았다. 동일한 앱의 두 개의 개별 버전을 유지하려는 번거 로움을 줄이기 위해이 앱을 xamarin으로 포팅하려고했습니다. 그 성능이 하이브리드 앱보다 낫다고 들었 기 때문입니다. 다음은 관련 제 질문은 자 마린 할 수 있습니다 : -xamarin 또는 Windows 네이티브 질문에 안드로이드 애플 리케이션을 이식

  1. 내가 같은 모양을 유지하고 내 크로스 플랫폼 응용 프로그램에 내 원래의 응용 프로그램에 있던 느낌과 동시에, 그것을 구별 만들고 싶어 Windows 버전. 이 효과를 얻기 위해 내가 할 수있는 일은 무엇입니까?

  2. 일반적인 응용 프로그램을 만들 때 추가 된 문제로 인해이 응용 프로그램을 Windows Phone 기본 포트로 이식하는 것이 더 나은가요?

  3. xamarin 앱을 게시 할 때 Windows 스토어와 관련하여 제한 사항이 있습니까?

답변

1

우선, Xamarin 개발의 스타일이 다르다는 것을 알아야합니다. 누가 더 많거나 적은 콘텐츠를 공유 할 것입니까?

Xamarin Forms를 사용하는 경우보기 및 클 러스를 만드는 모든 플랫폼과 관련이없는 기본 프로젝트와 각 네이티브 스타일에 컨트롤을 적용하는 특정 플랫폼 프로젝트가 있습니다.

Xamarin Classic을 사용하여 개발 한 경우 데이터 관련 클래스 만 개발하는 공유 프로젝트가 있으며 고유 한 컨트롤과 네이티브 비슷한 기능을 가진 고유 한 뷰와 클래스가있는 특정 플랫폼 프로젝트가 있지만 생각합니다. 직접적인 Xamarin Clasic Windows 프로젝트는 아닙니다.

네이티브로 보이지만 구조와 기능이 동일한 두 가지 응용 프로그램 만 원할 경우 Xamarin Forms가 최상의 옵션입니다. 이처럼 기본 스타일이되는 "단일 응용 프로그램"만 개발할 수 있습니다. : enter image description here

다른 기능과 다른 콘텐츠가있는 다른 앱을 갖고 있다면 Xamarin Classic을 선택해야합니다. 내가 추천하는 것은 네이티브 형식으로 윈도우 폰을 개발하는 것이지만, 공유 라이브러리에 모든 코드를 넣을 수 있습니다. 그런 다음 Xamarin 클래식 Android 앱을 만들고 공유 라이브러리를 사용할 수 있습니다. 여전히 두 개의 다른 앱을 사용해야하지만 "핵심"코드는 한 번만 변경하면됩니다.

Xamarin Forms를 사용하여 UWP Windows 응용 프로그램을 수행하는 경우 Xamarin이 Microsoft에서 제공 한 것으로 생각되는데 문제가 있다고 생각하지 않습니다.

1

Xamarin은 실제로 해당 UI 프레임 워크 Xamarin.Forms가 해당 플랫폼에서 실행된다는 개념에서만 Windows UWP 응용 프로그램을 다루지는 않습니다. 즉, 네가 만들고있는 것은 네이티브 Windows UWP 앱이다.

Xamarin은 하나 이상의 플랫폼을 대상으로 시작하고 지원되는 플랫폼에서 재사용 할 수있는 방식으로 코드를 구성한 것입니다. 예를 들어, 대부분의 논리와 동작을 휴대용 클래스 라이브러리/NET 표준 라이브러리에 저장하고이를 응용 프로그램에서 사용할 수 있습니다.

앱에 대한 플랫폼 독립적 논리 및 동작을 작성하는 일반적인 패턴은보기가 플랫폼에만 해당되는 Model-View-ViewModel로 알려진 패턴이며, 모델 및 ViewModel은 일반적으로 플랫폼에 영향을받지 않습니다. ViewModel은 비헤이비어가 상주하는 곳이며 View와 함께 Model을 묶는 역할을합니다. 일반적으로 ViewModel은보기를 직접 알지 못하지만 XAML과 같은 중간 (풀) 또는 MvvmCross, MvvmLight 또는 ReactiveUI의 바인딩 엔진이 일부 MVVM 라이브러리의 이름을 지정합니다.

Xamarin이 제공하는 기능은 Android 및 iOS 용 C# 코드를 작성할 수 있기 때문에 두 플랫폼간에 코드를 공유 할 수 있으며 모든 Windows 플랫폼에서도 코드를 공유 할 수 있습니다. 따라서 UI는 각 플랫폼마다 매우 의존적입니다. 물론 Xamarin.Forms를 UI 추상화 레이어로 사용할 수 있습니다. UI 추상화 레이어를 사용하여 모든 UI 플랫폼에서 비슷한 응용 프로그램을 얻을 수 있습니다.

관련 문제