Технический обзор платформы UbiqMobile

Содержание:

Платформа

UbiqMobile представляет собой инструментальное средство разработки распределенных мобильных приложений с возможностью доступа с различных типов мобильных устройств. Приложения UbiqMobile имеют клиент-серверную архитектуру с тонким клиентом. Серверные компоненты приложений разрабатываются в среде Microsoft.NET и располагаются в облаке Microsoft Azure, а на мобильных устройствах работают унифицированные клиентские приложения.

Технологии, используемые в приложениях UbiqMobile, предоставляют ряд преимуществ по сравнению с традиционными средами разработки мобильных приложений. Кросс-платформенная совместимость, работа на Java-телефонах, чрезвычайная нетребовательность к качеству соединения и беспроблемная масштабируемость. Приложения UbiqMobile работают на основных популярных мобильных платформах.

Назначение SDK

Инструментальные средства разработки приложений на базе платформы Ubiq Mobile объединены в SDK, оформленное в виде расширения (plug-in) к Microsoft Visual Studio 2012 или 2013. В состав SDK, помимо собственно инструментальных средств, входит набор библиотек, реализующих специфические доступные для приложений программные интерфейсы (API), а также набор шаблонов готовых приложений. Помимо шаблонов, SDK включает в себя набор часто используемых компонент, которые могут включаться в состав разрабатываемых приложений. Пример такой компоненты – диспетчер, обеспечивающий коммутацию между различными пользователями распределенного многопользовательского приложения.

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

Ubiq Mobile SDK включает в свой состав:

  • Расширение (plug-in) к Microsoft Visual Studio, осуществляющее поддержку и управление проектами Ubiq Mobile, генерацией компонент приложений, выгрузкой кода на сервер и т.д.
  • Дизайнер компонент – визуальный дизайнер компонентной архитектуры распределенных приложений
  • Генератор кода — компонент плагина, который позволяет делать автогенерацию кода
  • Эмулятор сервера (запускается в фоновом режиме, вывод сообщений и событий через окно “Output” Visual Studio), используемый для локальной отладки разрабатываемых приложения
  • Универсальный эмулятор клиента, используемый для локальной отладки приложений
  • Готовые библиотеки — набор часто используемых компонент, которые могут включаться в состав разрабатываемых приложений
  • Готовые шаблоны типовых приложений – образцы приложений и примеров кода, которые можно использовать в качестве образцов при разработке приложений

Использование Ubiq Mobile SDK позволяет разрабатывать и отлаживать приложения Ubiq Mobile на локальной машине, а затем выгружать (публиковать) отлаженные приложения в облако. Для локальной отладки используются эмуляторы сервера и клиента, входящие в состав SDK, для размещения отлаженого приложения в реальной среде выполнения используется экземпляр сервера, запущенный в Microsoft Azure, и набор мобильных клиентов для устройств разных типов, доступные для скачивания с сайта. Среда выполнения plug-in’а Ubiq Mobile — Microsoft Visual Studio 2012 или Microsoft Visual Studio 2013.

Структура проекта UbiqMobile и доступные команды

После создания проекта Ubiq Mobile в Visual Studio мы получаем готовый к работе проект, созданный на основе одного из шаблонов, например, шаблона QueueTemplate (Рис. 1):

fig1

Рис. 1. Созданный на основе шаблона проект UbiqMobile с открытым окном дизайнера компонент

fig2

Рис. 2. Панель инструментов для дизайнера компонент

Добавляя компоненты в рабочую зону и определяя интерфейсы взаимодействия между ними, мы создаем основу нашего приложения. Для добавления предустановленных библиотечных компонент необходимо выбрать обобщенный компонент UbiqLibrary из панели инструментов, и при помощи его свойства Name через выпадающий список выбрать имя требуемого конкретного компонента. Например, таким образом можно выбрать предустановленный компонент UbiqDispatcher (Рис. 3).

fig3

Рис. 3. Добавление и привязка компонента (UbiqDispatcher), основные свойства

Каждый используемый компонент (приложение, коннектор, связи, порты) имеет вкладку “Свойства”, в которой определяются его параметры, доступные для модификации пользователем. Некоторые заполняются в режиме автогенерации, некоторые можно редактировать (Рис. 4).

fig4

Рис. 4. Свойства Output Port

После окончания создания компонентной структуры («скелета») приложения, необходимо запустить процесс построения проекта – либо через выпадающее меню по правой кнопке мыши на строчке решения (Solution), содержащего проект, либо через пункт Build Solution основного меню.

В процессе построения (Рис. 5), расширение Visual Studio автоматически (если необходимо) сгенерирует и добавит сгенерированные проекты в текущее решение.

fig5

Рис. 5. Запуск на генерацию и построение проекта UbiqMobile

Каждой не-библиотечной компоненте соответствует отдельный C#-проект в рамках общего решения. Для обеспечения интерфейсов между компонентами в процессе построения создаются необходимые автоматически генерируемые классы, которые в дереве проектов помещаются в папку GeneratedCode (Рис. 6).

Автоматически сгенерированные файлы исходного кода помещаются в папку соответствующего проекта.

Для каждой компоненты автоматически генерируются два C#-файла с исходными текстами: <Имя_компоненты>.cs содержит автоматически сгенерированный код, реализующий интерфейсы компоненты, а UserSection.cs содержит содержательную логику компоненты (которая сразу после генерации пуста) или, если использовался один из готовых шаблонов, заполнена работающим кодом. Пользователь может модифицировать UserSection.cs – все его изменения сохранятся при последующих перегенерациях проекта. В то же время, автоматически сгенерированная секция с интерфейсами будет обновляться при всякой перегенерации проекта (в часности, при изменени конфигурации компонент), поэтому пользователь не должен ее модифицировать.

fig6

Рис. 6. Результат генерации проекта

Для запуска и отладки разрабатываемого приложения используются стандартные команды запуска (Start/Stop debugging) Microsoft Visual Studio, также можно воспользоваться кнопкой “Старт” из панели инструментов (Рис. 7).

fig7

Рис. 7. Панель инструментов Visual Studio

В режиме отладки приложения UbiqMobile запускается экземпляр эмулятора сервера UbiqMobile в фоновом режиме и экземпляр эмулятора клиента (Рис. 8), при этом автоматически происходит подключение отладчика Visual Studio к процессу Ubiq сервера. Трассировку событий (logging) сервера можно увидеть в окне Visual Studio “Output”. Трассировка кода и расстановка точек останова выполняется традиционным образом (Рис. 9).

fig8

Рис. 8. Запуск эмулятора клиента и сервера в режиме отладки приложения

fig9

Рис. 9. Трассировка кода приложения

Возникли вопросы? Нужна помощь? Нашли ошибку?

Задайте вопрос, сообщите нам об ошибке или напишите на электронную почту