2015-08-25 3 views
121

Мне нужно сделать выбор между Xamarin.Forms vs Xamarin родными приложениями.Когда использовать Xamarin.Forms vs Xamarin Native?

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

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

+0

Взгляните на [The Good and The Bad of Xamarin Mobile Development] (https://www.altexsoft.com/blog/mobile/the-good-and-the-bad-of-xamarin-mobile-development /) для отличного обсуждения с января 2017 года. – Schollii

ответ

107

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

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

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

То же самое верно, если они ничего не знают о iOS/Android, но знают некоторые xaml. Конечно, Xamarin.Forms отличается от WPF/Silverlight, но знание xaml помогло мне использовать Forms.

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

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

Времени до поставки

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

Сложность вашего приложения

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

+1

Я добавлю к этому, если вы ожидаете иметь хорошее приложение, у вас будет много пользовательских интерфейсов с Xamarin Native code для каждой платформы – Lemberg

35

Из Xamarin Website

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

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

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

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

  • Apps с отполированным дизайном

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

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

133

Xamarin.Forms код

Pros

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

Cons

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

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

Pros

  • Cre съел один пользовательский интерфейс каждой платформы
  • Легкая возможность регулировки платформы специфические особенности пользовательского интерфейса и компоненты
  • Получите максимум из вашего UI

Cons

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

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

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

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

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

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

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

Что касается «приложений, для которых требуется небольшая функциональность для платформы», есть примеры, чтобы понять, какие функции мы говорим? –

+0

Маленькая функциональность платформы означает, что вы выполняете привязку данных и другие бизнес-правила, в первую очередь, как приложение. Не много пользовательского чертежа или попытка сделать все пиксель идеальным. Если вы в порядке с общим макетом, который является отзывчивым, тогда Xamarin.Forms подходит. –

+0

Лучший ответ на мой взгляд. Это прояснилось для меня: «Xamarin.Forms: создайте один пользовательский интерфейс для всех платформ» и «Xamarin.iOS, Xamarin.Android: создайте один пользовательский интерфейс на платформу». Благодаря! – JedatKinports

Смежные вопросы