Я новичок в разработке Android, я вошел в него по совпадению, и теперь я немного хорошо разбираюсь в разработке Android и Xamarin, но одна вещь, которая меня так смущает, когда я вижу, что люди говорят о Xamarin.Forms, иногда я думаю, что они говорят о другой платформе, а не только о ссылке в проекте. Итак, из вашего опыта работы с Xamarin вы можете подробно рассказать об этом и описать разработчику 3-недельного опыта, как Xamarin.Forms улучшают развитие, что делает его самым ярким аспектом в развитии Xamarin?Что они на самом деле говорят, когда говорят о Xamarin.Forms?
ответ
Xamarin.Forms позволяет вам определить один пользовательский интерфейс, который будет доступен для всех поддерживаемых платформ. Это имеет несколько преимуществ:
- Вам не нужно знать все о пользовательском интерфейсе каждой платформы, чтобы написать заявление
- Элементы управления, которые приходят из коробки будет автоматически иметь вид и ощущение целевая платформа
- Если вы хотите использовать пользовательские элементы управления, вы можете написать для конкретной платформы «рендеры», чтобы настроить внешний вид и на ощупь или для повышения производительности
вы заметите, что это немного медленнее, чем пользовательский интерфейс, но я заметил это только при переключении из режима просмотра в режим просмотра. Кроме того, некоторые элементы управления платформой могут быть недоступны в Xamarin.Forms.
При создании приложения Xamarin у вас нет есть, чтобы использовать Xamarin.Forms; вы также можете использовать собственный пользовательский интерфейс для каждой платформы отдельно.
Это было очень полезно для такого человека, как я, который ничего не знал о разработке приложений для iOS. У меня был опыт создания приложений для Android, но ничего для iOS, но с помощью этого я также могу создавать приложения для iOS.
Использование Xamarin Forms позволяет вам использовать код C# или Xaml. Если вы познакомитесь с Xaml, очень легко и просто сделать дизайн быстро. Хотя у вас нет преимущества просматривать результат по мере его сборки, но мы все же надеемся получить его в ближайшее время.
Используя Xamarin Forms, вам не нужно беспокоиться о внешнем виде. Хамарин прекрасно это поддерживает. Просто используя предоставленные элементы управления, вы можете сделать самое родное приложение во всех поддерживаемых фреймворках.
Другое преимущество, так как каждый говорит, код один раз и готовит ваше приложение на других платформах.
Также, если вы хотите что-либо, недоступное в Xamarin Forms, то вы можете использовать Renderers для этого. Если вы хотите использовать какой-то определенный для платформы код, который можно использовать непосредственно как __IOS__
... блоки в Shared, а для PCL вы создаете службы зависимостей.
О производительности приложения вы можете заметить небольшое отставание или увеличение размера приложения, но эти вещи можно позаботиться и есть доступные решения. Но если вы получите все эти преимущества, я бы, конечно, попробовал. Это мои мысли, хотя вы получите хорошие ответы о преимуществах Xamarin Forms.
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 разных приложения для конкретной платформы из одной базы кода.
- 1. регистры/нить говорят 50, но они на самом деле 56
- 2. Что они говорят о том, когда говорят о «уникальных типах» и «типах в LLVM, являются уникальными»?
- 3. Что значит, когда говорят, что JavaScript однопоточный?
- 4. Что люди говорят, когда говорят: «Perl очень хорош в разборе»?
- 5. Что люди говорят, когда говорят (и пишут) тестирование жизненного цикла?
- 6. Что они означают, когда говорят, что LINQ является композиционным?
- 7. Что люди говорят, когда говорят, что на C++ есть «неразрешимая грамматика»?
- 8. Что делают распорки по-разному, когда говорят о REST
- 9. Что означает «транзакция», когда люди говорят о параллелизме?
- 10. Подтверждение пользователя является пользователем Википедии, о котором они говорят.
- 11. Почему они не говорят «ваш пароль ошибочен»?
- 12. Почему они не говорят о происхождении бот-сетей?
- 13. Что делает session_register_shutdown на самом деле?
- 14. Когда люди говорят о масштабировании веб-сайта с помощью «осколков», что они означают?
- 15. Поле MVC не требуется, но пользователю говорят, что они
- 16. , когда люди говорят, что они запускают «scala в backend», в каком контексте они могут говорить?
- 17. Что такое _: в Свифт говорят?
- 18. Что означает «Когда класс загружен» на самом деле означает?
- 19. О чем говорят люди этого стека?
- 20. Ошибка на говорят, когда выходной формат волна
- 21. Почему свойства всегда говорят, что они неатомичны в Objective C?
- 22. Два .NET объекты, которые равны не говорят, что они
- 23. Что происходит, когда говорят, что компьютер «зависает» или замерзает?
- 24. JSF: некоторые говорят, что это слой презентации, некоторые говорят, что это веб-уровень
- 25. Что это значит, когда говорят, что HTTP не имеет статуса
- 26. Проверка меркурийских изменений от тех, с кем они говорят, от
- 27. Что на самом деле $ RPM_BUILD_ROOT?
- 28. Что значит, когда говорят, что «Реагент» защищен XSS?
- 29. Почему конструкторы и деструкторы называются, когда они есть? Что они на самом деле делают? C++
- 30. Что на самом деле означает?
Вместо того, чтобы иметь проекты Android и iOS в Xamarin, с общим проектом, который реализует «переднюю часть» каждой платформы, это общий проект «front end», по моему мнению, который работает для всех платформ. – PmanAce
https://developer.xamarin.com/guides/xamarin-forms/ – Jason
Вам все еще нужны конкретные проекты для Android и iOS, которые создают APK и IPA соответственно, и эти проекты будут иметь определенный код платформы. Но у вас также будет другой проект, который является общим (совместно используемый проект или PCL), который определяет пользовательский интерфейс в переносном коде Xamarin.Forms. – dylansturg