Можно ли создавать приложения xamarin для Windows, MacOS с одним и тем же исходным кодом? - PullRequest
0 голосов
/ 14 октября 2019

Учитывая приложение, написанное на C # для Xamarin, можно ли его создать для запуска на всех поддерживаемых платформах с минимальными изменениями, включая Android, iOS, MacOS, Windows?

Я понимаю, что Xamarin претендует на 90%код доступен для всех платформ (и 10% необходимо настроить), и я имею в виду это «90%».

Чего я не понимаю, так это того, что эти 90% являются общими для разных инструментов Xamarin, например, Xamarin.Forms и Xamarin.Mac, или это существенно разные инструменты с разными API и т. Д.

Например, я вижу, что с Xamarin.Forms я могу создавать для iOS, Android и Windows. Но не MacOS. Итак, можно ли на Mac установить Xamarin.Mac, а затем собрать то же приложение для MacOS?

Ответы [ 3 ]

1 голос
/ 15 октября 2019

Вы можете добавить цель MacOS для вашего Xamarin.Forms пользовательского интерфейса, конечно, это делается через Visual Studio для Mac:

В формах форм есть элементы, которые не полностью укомплектованы в MacOS, и поэтому он все еще находится в выпуске «Предварительный просмотр», и они перечислены в вики «Состояние macOS поддержки платформы»:

1 голос
/ 15 октября 2019

Пока вы используете .Net-код и Xamarin.Forms, он на 100% переносим / разделяем для каждого отдельного проекта. Xamarin.Forms в настоящее время находятся в стадии бета-тестирования для macOS и Windows WPF (но для UWP это не бета-версия), и, в частности, для macOS они не имеют истинного собственного вида.

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

Так что нет ничего лучше, чем совместное использование на 90%, это может быть некоторой оценкой для некоторых случаев. Он может быть доступен на 100% или может быть только на 10% в зависимости от вашего проекта и того, насколько вы придерживаетесь разделяемых API.

1 голос
/ 14 октября 2019

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

Когда они говорят, что 90% совместно используются, они означают, что в Xamarin.Forms ... 90% работы над вашими моделями и кодом могут быть распределены между проектами (в рамках этого решения Xamarin.Forms)и 10% должны быть адаптированы для каждой платформы (UWP, Android, iOS)

...