Анонсирован Xamarin 3 — кросс-платформенная среда разработки на C# для большинства мобильных платформ. Основные нововведения: дизайнер интерфейса для iOS Xamarin Designer, кросс-платформенная библиотека для построения пользовательского интерфейса Xamarin.Forms, улучшения IDE, новые методики повторного использования кода.
1. Xamarin Designer для iOS — визуальный дизайнер для iOS, работающий и в Xamarin Studio и Visual Studio. Поддерживается полная совместимость с форматом Storyboard, так что Visual Studio и Xamarin Studio могут использоваться совместно с Xcode Interface Builder. Нестандартные элементы управления прорисовываются прямо в дизайнере. Подробнее о Xamarin Designer.
2. Xamarin.Forms — новая библиотека, позволяющая строить родной UI для iOS, Android и Windows Phone на основании общей базы кода С# с помощью более чем 40 кросс-платформенных элементов управления и схем (layouts), которые связываются с родными элементами при выполнении программы, что означает полное соответствие платформе. Например Xamarin.Forms Entry становится UITextView на iOS, EditText на Android, и TextBox on Windows Phone. Xamarin.Forms поставляется как библиотека переносимых классов (portable class library) и позволяет легко смешивать общий код UI с плаформо-зависимыми интерфейсными API Xamarin. Например можно использовать Xamarin.Forms для экрана входа в приложение и Xamarin.iOS/Xamarin.Android для остальных экранов. Можно встраивать собственные представления, написанные непосредственно на Xamarin.iOS/Xamarin.Android, внутрь страниц Xamarin.Forms. Подробнее о Xamarin.Forms.
3. Существенные улучшения IDE
— Обновление внешнего вида. Xamarin Studio теперь включает в себя новый начальный экран, сотни новых иконок, улучшенную поддержку Retina-дисплеев и приятные улучшения внутри IDE.
— Улучшенная поддержка Visual Studio. Расширения для iOS и Android собраны в одно расширение Visual Studio, упрощая его установку, обновление и собственно процесс разработки и отладки.
— NuGet – Xamarin 3 включает в себя полную поддержку пакетов NuGet для ваших мобильных приложений как в Xamarin Studio, так и в Visual Studio, что дает вам возможность воспользоваться массой пакетов NuGet, которые теперь поставляются совместимыми с Xamarin
— Документация по .NET BCL — полная документация по по базовым библиотекам классов .NET теперь встроена в Xamarin Studio, спасибо нашим друзьям из Microsoft
— Поддержка F# — Xamarin Studio теперь поставляется со встроенной поддержкой разработки приложений для iOS и Android на набирающем популярность функциональном языке программирования F#
4. Улучшения в области повторного использования кода.
В Xamarin 3 представлены две новые техники для повторного использования кода на разных платформах:
Общие проекты (Shared Projects) обеспечивают простой и изящный подход к повторному использованию кода в кросс-платформенных приложениях. Разработчики могут использовать эти проекты для общего использования кода из под iOS, Android и Windows как в Xamarin Studio так и в Visual Studio.
Преимущества:
— Позволяют создавать код, общий для нескольких проектов
— Общий код может разветвляться (be branched ) в зависимости от платформы с использованием директив компилятора (например #if __ANDROID__, как описано в документе Building Cross Platform Applications).
— Проекты приложений могут включать в себя платформо-зависимые ссылки, которые сможет использовать общий проект (такие как использование Community.CsharpSqlite.WP7 в пример Tasky для Windows Phone).
Недостатки:
— В отличие от других типов проектов общие проекты не имеют «выходной» сборки. При компиляции файлы рассматриваются как часть связанного проекта и компилируются в его DLL. Если вы хотите выносить общий код в DLL, то вам лучше подойдут переносимые библиотеки классов.
— Рефакторинг, затрагивающий код внутри «неактивных» директив компилятора не будет обновлять код
Переносные библиотеки классов (Portable Class Libraries) — это библиотеки, которые используются на большом количестве совсем разных .Net платформ. С Xamarin 3 можно создавать и использовать переносные библиотеки классов как в Xamarin Studio так и в Visual Studio.
Преимущества:
— Позволяют создавать код, общий для нескольких проектов
— Рефакторинг всегда обновит все зависимые части кода
Недостатки:
— Нельзя использовать директивы компилятора
— Доступна лишь часть .Net framework, в соответствии с выбранным профилем (больше информации в Introduction to PCL)
Автор: Vedomir