2016-07-19 4 views
2

Мы планируем пойти с Xamarin для нашего следующего крупного проекта. Кажется, что Xamarin.Forms достаточно зрелы, чтобы идти с производственными проектами. Но все же я хочу взять в руки вас экспертов, мы должны пойти с Xamarin.Forms или Xamarin с архитектурой MvvmCross.Xamarin.Forms vs Xamarin Mvvmcross

Проект является большим и критичным для наших клиентов.

+0

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

+0

@Gerald Я знаю, что мы можем делать Xamarin.Forms с Mvvm, но .. Я спрошу по-другому, Xamarin.Android с Mvvmcross против Xamarin.Forms с Mvvmcross? Я хочу проверить сроки выполнения? – VPatil

+0

Зависит от того, что вы ожидаете от перспективы пользовательского интерфейса. Будет ли приложение иметь множество пользовательских интерфейсов? Будут ли вещи нуждаться в стиле, отличном от нативного контроля? Если вы ожидаете этих требований, Xamarin.Android и Xamarin.iOS w/MvvmCross - прекрасное решение, поскольку оно дает вам расширенный обмен кодами через Mvvm, а также полную гибкость, когда дело доходит до пользовательского интерфейса. Из моего опыта работы с X.Forms время, затрачиваемое на создание собственных визуализаторов, обычно компенсирует время, которое было сохранено. – pnavk

ответ

19

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

На мой взгляд, Xamarin.Forms пытается решить проблему с несколькими платформами неправильно, пытаясь обеспечить общие обертки вокруг элементов пользовательского интерфейса на каждой платформе. Это означает, что вы всегда сможете делать меньше с Xamarin.Forms, чем вы могли бы сделать с Xamarin из коробки, и вы всегда будете сражаться с реалиями наименьшего общего знаменателя из наиболее распространенных элементов, написать собственный код для более продвинутого пользовательского интерфейса.

Напротив, подход MvvmCross стремится объединить как можно больше вашей бизнес-логики в единую библиотеку, оставляя вас свободными делать все, что вы хотите в пользовательском интерфейсе каждой платформы. Вы можете получить до 80-90% кода в общую библиотеку, имея полную свободу для реализации пользовательского интерфейса, который вы хотите для каждой платформы. Это более чистый способ решения многоплатформенной проблемы, ИМО.

+0

Спасибо Adrian за превосходный ответ. – VPatil

+0

Я хочу использовать Xamarin.android вместо Xamarin.forms, но спокойной ночи, буквально все примеры по всей сети, включая курсы Pluralsight и видео Youtube, все ссылки Xamarin.forms. Это заставляет думать, что это единственное, что люди используют! – Helzgate

+1

Да, Microsoft сильно подталкивает подход .Forms. Они все еще думают в эпоху рабочего стола, где вы можете пощекотать приложение WinForms, и это нормально для пользователей, потому что им говорят, что использовать. В мобильном телефоне вам нужно уделять больше внимания UX и .Forms - неправильный подход, если это ваша цель. Существует относительно новый и очень хороший курс Pluralsight на MvvmCross: https://www.pluralsight.com/courses/mvvm-based-architecture-xamarin-mobile-apps –

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