Как это работает

Разработка

1. Архитектурный дизайн

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

  • Компоненты пользовательских приложений, обслуживающие сессии мобильных пользователей. Компоненты этого типа ближе всего к традиционным мобильным приложениям, управляемым действиями пользователей через UI.
  • Сервисные компоненты, которые постоянно существуют в системе и предназначеня для обслуживания запросов других компонент. Компоненты этого типа не связаны с пользовательскими сессиями и не имеют UI.
  • Стандартные библиотечные компоненты различных типов – например, служба аутентификации, доступ к БД и т.д..

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

2. Генерация заготовок исходного кода

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

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

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

3. Создание UI

В платформе UbiqMobile реализована гибкая адаптивная модель UI, не зависящая от размеров экранов и форм-факторов клиентских мобильных устройств. Экранные формы представлены в виде шаблонов, которые хранятся в ресурсных файлах специального типа (.ubiqml) внутри соответствующих подпроектов. Для представления экранных форм используется специальный формат на основе xml (ubiqml), структура которого близка к структуре языка XAML.

Создание и редактирование элементов экранного интерфейса выполняется при помощи специального инструментального средства – визуального дизайнера UI, входящего в состав UbiqMobile SDK. Элементы экранного интерфейса могут редактироваться либо в визуальном, либо в текстовом режиме. В процессе редактирования все изменения в экранных элементах синхронно отображаются как в визуальном режиме (на макете экрана), так и в окне текстового (.ubiqml) представления визуального дизайнера.

4. Программирование бизнес-логики приложения

Для реализации бизнес-логики разрабатываемого приложения, необходимо включить написанный вами код в каждую не-библиотечную компоненту его архитектуры. Изначально подпроекты, соответствующие отдельным компонентам, уже содержат исходные C#-файлы c автоматически сгенерированными заготовками служебного кода. Этот код содержит инициализацию системных классов и определения и инициализацию интерфейсов для взаимодействия с другими компонентами. Написанный вами код должен добавляться в автоматически сгенерированный файл – UserSection.cs. Если одного файла исходного текста оказывается недостаточно, можно включать в проект другие исходные файлы. Все эти файлы будут оставаться неизменными, даже если соответствующие проекты будут заново сгенерированы вследствие изменений в архитектурной диаграмме.

Отладка

UbiqMobile позволяет отлаживать разрабатываемые приложения в режиме эмуляции, подобно тому как это происходит в нативных средах разработки для мобильных платформ. По нажанию кнопки «Debug» Microsoft Visual Studio запускаются эмуляторы сервера и клиента, заранее сконфигурированные для отладки вашего приложения. Эмулятор клиента может моделировать множество типов мобильных устройств с различными форм-факторами (более 10 вариантов). Для отладки многопользовательских приложений, эмулятор может моделировать одновременно несколько мобильных устройств различных типов.

Эмуляторы сервера и клиента интегрированы с отладчиком Microsoft Visual Studio, так что разработчик может отлаживать приложение в привычном режиме, расставляя точки останова и организуя пошаговое выполнение программы.

Как показыват практика, до 90% работы по отладке приложений может быть выпонено в режиме эмуляции, без обращения к реальным мобильным устройствам.

Выгрузка готовых приложений

1. Выгрузка серверных компонент

Основная часть бизнес-логики и обработки данных приложений UbiqMobile сосредоточена на стороне сервера.

Серверные компоненты приложений могут размещаться

  • В облаке общего пользования, ресурсы которого UbiqMobile предоставляет разработчикам (по умолчанию – Microsoft Azure)
  • В любом другом облаке
  • На выделенном сервере

Среда разработки UbiqMobile позволяет выгружать серверные компоненты приложения в один клик.

2. Доступ к вашему приложению с мобильных устройств

Для доступа к вашему приложению с мобильного устройства используются мобильные клиентские приложения. Система поддерживает два типа мобильных клиентов:

  • Универсальное приложение-контейнер
  • «Персонализированные» клиентские приложения

Универсальный контейнер – это приложение, представляющее собой тонкий мобильный клиент, обеспечивающий доступ к различным приложениям UbiqMobile. После установки клиента этого типа на ваше мобильное устройство, вы получаете доступ ко всем своим приложениям UbiqMobile, выгруженным в облако или на выделенный сервер. Все доступные приложения отображаются в списке оглавления, через которое в любой момент можно переключиться на нужное приложение.

Другой подход – это создание индивидуальных мобильных клиентов на каждое разработанное приложение. Все, что для этого нужно сделать – это настроить необходимые параметры (логотип, цвета, заставки, режимы по умолчанию) при помощи специального мастера дизайна клиентских приложений, входящего в состав SDK, и послать запрос на удаленный сервис сборки, который скомпонует клиентские модули специально для вашего приложения и пришлет вам набор исполняемых файлов для различных мобильных платформ (.apk, .xap, .jar files etc.). Эти файлы вы можете подписать своим сертифкатом и разместить в соответствующем магазине приложений.