Как шарить код в универсальных приложениях

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

Ключевая концепция этого нового подхода это Shared project — особый вид проекта, который не имеет никакого бинарного выхода, а просто позволяет распределять (шарить) классы и т.п. между проектами.

The new Univeral app projects

Конечно же у нас есть возможность адаптировать дизайн для каждого устройства. Мы также можем использовать директивы и частичные классы в общем проекте, чтобы определить специфичный код, который будет собираться под каждым приложением. Таким образом, у нас есть один общий пункт сбора для Windows 8.1 и Windows Phone 8.1 проектов, но мы также можем написать собственный код для каждого из них.

Но что же делать, если мы хотим шарить код между различными приложениями, потому что, например, мы хотим перераспределить наши библиотеки? Прежде всего, мы можем подумать об использовании портативных библиотек. Этот тип проекта был улучшен в Visual Studio 2013 Update 2 и теперь, если мы нацелены на Windows 8.1 и Windows Phone 8.1, мы сможем использовать всё общее API. Тем не менее PCL производит единственный двоичный файл, который работает на всех поддерживаемых платформах. Обработка расходящегося API требует использования абстракции более высокого уровня, например, инъекции зависимостей или IoC контейнеры. Мы не можем просто использовать директивы для определения, к какой платформе будет принадлежать код/

К счастью, есть другое решение. Недавно было выпущено расширение под Visual Studio 2013 под названием Shared Project Reference Manager, который позволяет использовать одну и ту же концепцию универсального общего проекта практически с любым C#, VB.NET, C ++ и т.п.. Давайте посмотрим, как его использовать.

Прежде всего, создать два класса библиотек, один для Windows, и второй для Windows Phone. Они будут содержать любой код, если это необходимо.

Libraries for Universal apps

После мы должны добавить новый общий проект к решению. Этот шаблон был добавлен в IDE после установки расширения, описанного выше.

Shared Project

Замечание: очень важно заметить, что выделение должно быть именно на “Visual C#”, т.к. если оно будет на каком-либо другом, например “Universal Apps”, это шаблон НЕ будет представлен.

После этого щелкните правой кнопкой мыши на пункт “Reference” в обеих библиотеках классов, выберите команду  Add Shared Project Reference и в новом окне нажмите на общий проект, который мы только что создали.

Shared Project Reference ManagerТеперь мы можем приступить к созданию любого файла в этом новом общем проекте, как мы делаем это всегда. Поведение будет такое же, как и у основных проектов — все, что мы к нему добавим, будет автоматически доступно в обоих конкретных библиотеках.

Shared Project Library

Вот и вся суть нового расширения, которое помогает значительно улучшить распределение кода и сделать его еще более универсальным.

 

Ссылка на источник: How to share code among different Universal Windows apps

Advertisements
Tagged with: , , , , ,
Опубликовано в Development, Windows 8.1

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: