Когда использовать Xamarin.Формы против Xamarin Native? [закрытый]


Мне нужно сделать выбор между Xamarin.Формы против собственных приложений Xamarin.

Я хочу пойти с Xamarin.Формы, а также код пользовательского интерфейса будут совместно использоваться.

Итак, каковы недостатки Xamarin.Формы по сравнению с родными.

3 138

3 ответа:

помимо точки показано на веб-сайте Xamarin, вы также должны рассмотреть:

фон вашей команды

есть ли у кого-нибудь в вашей команде предыдущий опыт кодирования изначально для Android или iOS (с использованием Java или Obj-C/Swift)? Этот опыт повторно используется в собственном Xamarin, но им придется изучить другую платформу для кода в формах.

то же самое верно, если они ничего не знают о iOS/Android, но знают некоторые XAML. Конечно Xamarin.Формы отличаются от WPF/Silverlight, но знание XAML, безусловно, помогло мне использовать формы.

производительность

Xamarin Forms по-прежнему имеет некоторые проблемы, такие как время инициализации. Вы должны рассмотреть, будет ли это проблемой для вашего конечного пользователя. Я бы не стал ждать некоторое время для приложения панели мониторинга, которое я использую время от времени, чтобы открыть, но я был бы зол, если бы то же самое произошло с приложением обмена сообщениями.

пока доставка

поскольку общий доступ к коду больше при использовании форм, вы можете ожидать более быстрое время доставки.

сложность приложения

учитывая предыдущий момент, используя формы, вы можете наткнуться на какую-то ошибку show stopper (это очень новая технология в конце концов), которая обнулит выигрыш времени. Рассмотрите сложность вашего приложения перед выбором.

Xamarin.Формы

плюсы

  • создать один пользовательский интерфейс для всех платформ
  • используйте базовые компоненты, доступные на всех платформах (например, кнопки, текстовые поля, блесны и т. д.)
  • нет необходимости изучать все собственные рамки пользовательского интерфейса
  • быстрый кросс-платформенный процесс разработки
  • собственные средства визуализации даст вам возможность настроить внешний вид и ощущение управление

минусы

  • это все еще новая структура и все еще содержит ошибки
  • особенно Windows RT еще не стабильна
  • это иногда медленнее, чем доступ к собственным элементам управления напрямую
  • пользовательские собственные рендеры имеют границы и плохо документированы

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

плюсы

  • создать один пользовательский интерфейс на платформе
  • простая возможность настройки платформы конкретных функций пользовательского интерфейса и компонентов
  • получить максимум из вашего пользовательского интерфейса

минусы

  • кросс-платформенный процесс разработки намного медленнее
  • вам нужно изучить все собственные рамки пользовательского интерфейса
  • вы можете привести к тому, что дублировать код (поскольку вы описываете почти один и тот же пользовательский интерфейс тремя различными способами платформы)

в дополнение к этому Xamarin говорит о https://xamarin.com/forms:

какой подход Xamarin лучше всего подходит для вашего приложения?

Xamarin.Формы лучше всего подходит для:

  • приложения для ввода данных
  • прототипы и доказательства концепции
  • приложения, которые требуют мало специфичных для платформы функциональность
  • приложения, где общий доступ к коду более важен, чем пользовательский интерфейс

Xamarin.iOS и Xamarin.Android лучше всего подходит для:

  • приложения, которые требуют специализированных взаимодействий
  • приложения с полированным дизайном
  • приложения, которые используют много специфичных для платформы API
  • приложения, где пользовательский интерфейс более важен, чем общий доступ к коду

с Сайт Xamarin

Xamarin.Формы лучше всего подходит для:

  • приложения для ввода данных
  • прототипы и доказательства концепции
  • приложения, которые требуют мало специфичной для платформы функциональности
  • приложения, где общий доступ к коду более важен, чем пользовательский интерфейс

Xamarin.iOS и Xamarin.Android лучше всего подходит для:

  • приложений, которые требуют специализированные взаимодействия

  • приложения с полированным дизайном

  • приложения, которые используют много специфичных для платформы API

  • приложения, где пользовательский интерфейс более важен, чем общий доступ к коду