2015-09-09 3 views
1

Мы стремимся создать проект Visual Studio C#, который будет первоначально выпущен в качестве приложения Windows. Однако в будущем мы хотели бы выпустить на платформах iOS и Android, используя расширение Xamarin.Добавление Xamarin в Visual Studio C# project в будущем

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

Действительно ли это хороший план, или лучше включить Xamarin в проект с самого начала?

Мы ранее не использовали Xamarin, и мы надеемся свести к минимуму рефакторинг нашего кода.

ответ

4

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

Тем не менее, Xamarin также развился, и там уже не просто Xamarin.iOS и Xamarin.Andoird. Таким образом, они выпустили свои фантастические рамки Xamarin.Forms несколько месяцев назад. Используя его, вы сможете повторно использовать огромное количество своего кода - даже UI-код. Поэтому, если ваше приложение Windows представляет собой приложение Windows Phone или современный пользовательский интерфейс, а не приложение WinForms (которое не поддерживается Xamarin.Forms), это может быть лучшим вариантом для вас.

2

.Net Framework Portble Class Library - это то, что вам нужно. Код, который является общим для платформ, должен быть реализован с использованием PCL. Что я делаю для своей организации, так это то, что я создал одно решение для каждой платформы и добавил ссылку на PCL, которые содержат наш общий код. Наши PCL могут работать в Windows, Android и iOS.

https://msdn.microsoft.com/en-us/library/gg597391%28v=vs.110%29.aspx

Другой способ сделать это состоит в написании C# классы и добавить ссылки на классы для вашей платформы кода. Однако, если вы идете с этим подходом, каждый раз, когда вы вносите изменения в класс, вам нужно убедиться, что он создается на всех платформах.

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