2016-05-25 2 views
0

Я новичок в разработке Android, я вошел в него по совпадению, и теперь я немного хорошо разбираюсь в разработке Android и Xamarin, но одна вещь, которая меня так смущает, когда я вижу, что люди говорят о Xamarin.Forms, иногда я думаю, что они говорят о другой платформе, а не только о ссылке в проекте. Итак, из вашего опыта работы с Xamarin вы можете подробно рассказать об этом и описать разработчику 3-недельного опыта, как Xamarin.Forms улучшают развитие, что делает его самым ярким аспектом в развитии Xamarin?Что они на самом деле говорят, когда говорят о Xamarin.Forms?

+0

Вместо того, чтобы иметь проекты Android и iOS в Xamarin, с общим проектом, который реализует «переднюю часть» каждой платформы, это общий проект «front end», по моему мнению, который работает для всех платформ. – PmanAce

+0

https://developer.xamarin.com/guides/xamarin-forms/ – Jason

+1

Вам все еще нужны конкретные проекты для Android и iOS, которые создают APK и IPA соответственно, и эти проекты будут иметь определенный код платформы. Но у вас также будет другой проект, который является общим (совместно используемый проект или PCL), который определяет пользовательский интерфейс в переносном коде Xamarin.Forms. – dylansturg

ответ

1

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

  • Вам не нужно знать все о пользовательском интерфейсе каждой платформы, чтобы написать заявление
  • Элементы управления, которые приходят из коробки будет автоматически иметь вид и ощущение целевая платформа
  • Если вы хотите использовать пользовательские элементы управления, вы можете написать для конкретной платформы «рендеры», чтобы настроить внешний вид и на ощупь или для повышения производительности

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

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

1

Это было очень полезно для такого человека, как я, который ничего не знал о разработке приложений для iOS. У меня был опыт создания приложений для Android, но ничего для iOS, но с помощью этого я также могу создавать приложения для iOS.

Использование Xamarin Forms позволяет вам использовать код C# или Xaml. Если вы познакомитесь с Xaml, очень легко и просто сделать дизайн быстро. Хотя у вас нет преимущества просматривать результат по мере его сборки, но мы все же надеемся получить его в ближайшее время.

Используя Xamarin Forms, вам не нужно беспокоиться о внешнем виде. Хамарин прекрасно это поддерживает. Просто используя предоставленные элементы управления, вы можете сделать самое родное приложение во всех поддерживаемых фреймворках.

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

Также, если вы хотите что-либо, недоступное в Xamarin Forms, то вы можете использовать Renderers для этого. Если вы хотите использовать какой-то определенный для платформы код, который можно использовать непосредственно как __IOS__ ... блоки в Shared, а для PCL вы создаете службы зависимостей.

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

1

Xamarin Forms позволяет вам создать один C# Solution/Application, который будет работать на Android, iOS и Windows Phone.

При создании нового приложения будут созданы 4 проекта - один для Android, один для iOS, один для WinPhone и один проект Portable или Shared. Любой код, который может быть общим, будет жить в проекте Portable, который будет включать в себя любое определение модели, бизнес-логику и большую часть пользовательского интерфейса. Каждый из проектов, специфичных для платформы, содержит код для запуска приложения на этой платформе, загрузки компонентов Forms и вызова в проект Portable. Конкретные проекты на платформе могут также содержать код, который является специфичным для этой платформы и не поддерживается формами. Два примера - это функции чтения/записи на устройство и «пользовательский рендерер» объекта WebView (объект Forms), который позволяет установить строку UserAgent.

Код может быть протестирован и скомпилирован для каждой платформы, установив проект этой платформы как «Startup Project». Переносимый код будет скомпилирован на соответствующий язык для платформы, установленной в качестве Startup Project. Таким образом, вы получите (до) 3 разных приложения для конкретной платформы из одной базы кода.

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