Использование расширений для создания дополнительного функционала в приложениях
Цель лекции: изучить понятие расширения и его роль в создании дополнительных функциональных возможностей приложения LightSwitch. Ознакомиться с наиболее интересными расширениями из галереи Visual Studio, относящихся к категории LightSwitch. Рассмотреть процесс создания расширений с использованием Visual Studio LightSwitch 2011 Extensibility Toolkit.
Компания Microsoft позиционирует LightSwitch 2011 как эффективный инструмент построения приложений на основе баз данных. Встроенная функциональность покрывает значительную часть потребностей таких приложений. Однако в ходе разработки возникают требования пользователей, которые не могут быть реализованы имеющимся функционалом и необходимо использовать как другие способы работы с данными, так и реализовывать дополнительные интерфейсные возможности.
Разработчики LightSwitch учли данную потребность и обеспечили возможность добавления дополнительных функций посредством создания расширения. Расширения также создают определенный рынок инструментов, где как компании, так и отдельные разработчики имеют возможность заработать на продаже оригинальных и востребованных расширений.
Расширения не ограничиваются только специальными элементами управления. Как расширения распространяются бизнес-типы, провайдеры для источников данных, шаблоны экранов, темы и специальные оболочки. Это создает из LightSwitch мощный продукт без ограничений и когда требуется дополнительная функциональность достаточно либо скачать необходимое расширение из Visual Studio gallery, либо купить необходимое расширение и установить его на компьютер и сервер через Extensions Manager.
Таким образом, с использованием расширений можно реализовать дополнительные возможности по представлению данных и их визуализации, созданию отчетов, управления контентом, подключению к источникам разнородных данных, обработке изображений, штриховых кодов, проверке кредитных карт и другие функции электронной коммерции.
Имеются следующие основные типы расширений LightSwitch:
- Бизнес-тип – позволяет создать обертку над базовыми типами, обеспечивая дополнительный контроль данных и методы их отображения, а также механизм их сохранения с помощью допустимых LightSwitch типов. Также с бизнес- типом может идти специальный элемент управления, обеспечивающий удобное его отображение.
- Пользовательский элемент управления – элемент управления Silverlight с дополнительными атрибутами, позволяющими его интегрировать и использовать в LightSwitch.
- Источник данных – специальный адаптер, реализованный в виде класса и позволяющий работать с нестандартным источником данных.
- Шаблон экрана – используется для создания экранов с раскладкой и связями, отличными от стандартных шаблонов.
- Оболочка – реализует оболочку с отличающейся от стандартной раскладкой и возможностями, например, можно разработать оболочку, ориентированную на использование сенсорных экранов.
- Тема – реализует отличающиеся от стандартного цветовое и стилевое оформление приложения и используемых элементов управления.
Рассмотрим подробнее каждый из видов расширений с типовыми примерами их представления и использования.
Темы и оболочки.
Учитывая, что ключевая цель LightSwitch – реализовать удобный для пользователя интерфейс, темы и оболочки можно отнести к важной части оформления интерфейса. Каждая из этих типов расширения обеспечивает свои настройки для измененного пользовательского интерфейса. Рассмотрим особенности каждого из этих типов и опишем принципы совместного использования на конкретном примере.
Тема представляет собой единый набор настроек для шрифтов и цветов элементов интерфейса с учетом их гармонической сочетаемости. Изменяя тему можно подобрать наиболее удобный для пользователя вид. Аналогом тем в веб-разработке являются каскадные таблицы стилей (CSS).
Оболочка является аналогом обложек или скинов и определяет вид и расположение элементов, в частности, местоположение навигационных панелей, меню, панели главного меню, прорисовки элементов. Темы и оболочки можно значительно изменять внешний вид и способы взаимодействия с приложением, не создавая программный код и не внося изменения в приложения LightSwitch. Примером приложения с измененной темой и оболочкой приведены на рисунке 15.1 .
Следует отметить следующие изменения в интерфейсе по сравнению с его стандартным видом:
- Главное меню представлено в виде текста, также меню продублировано в нижней части в виде пиктограмм.
- Группы и ссылки на окна расположены в нижней части экрана.
- Меню экрана расположено в нижней части активного экрана
Таким образом, следует указать, что темы и оболочки находятся в рамках базовой идеи LightSwitch, когда основная функциональность заложена в базу, а дополнительные функции можно получить через расширения.
Бизнес-типы.
Бизнес-типы представляют собой комбинацию форматирования, способы проверки и другие дополнительные характеристики, что позволят удобно их использовать в рамках предметной области, для которой создается приложение. Разработчики могут создавать собственные бизнес-типы, что открывает широкое поле деятельности. В качестве бизнес-типов могут выступать определенные сущности, которые используются в различных местах и требуется обеспечить единообразие их использования. Такой подход позволяет выделить внутренние и публичные бизнес-типы. Внутренние типы используются в рамках корпорации для единообразного описания используемых кодов, объектов, элементов. Например, с его помощью можно описывать уникальные идентификаторы объектов на основе внутренних механизмов маркировки. Бизнес-тип позволит контролировать правильность вода значения идентификатора.
В качестве публичных можно рассматривать почтовые индексы, географические координаты, специальные коды и другую информацию, имеющую стандартизированную структуру или специфический диапазон допустимых значений.
Создание бизнес-типа для таких значений является одним из способов обеспечения их единообразного использования внутри организации.
Расширение на базе источников данных является оболочкой над . Net WCFRIA службой. Оформление их в виде расширения упрощает механизм установки и развертывания. Создание такого расширения может быть полезным в случае, когда известна точная структура источника данных, а также для получения данных другими типами расширений.
В более общих случаях, когда структура и отношения между данными неизвестны, а источник не относится к стандартным, можно использовать сторонние расширения, например, ряд оригинальных поставщиков данных от компании RSSBus.
Например, поставщик данных Google от RSSBus дает разработчикам возможность легко подключать к популярным службам Google, включая Gmail, Google Docs, Календарь Google, Google Talk и др.