Встраиваемые
технологии

You’ll make breakthroughs by
extending the value of InterSystems’ products

Zen Mojo

Что такое Zen Mojo?

Zen Mojo – это расширение InterSystems Zen™ — набор классов Caché, позволяющих быстро создавать современные пользовательские интерфейсы для мобильных и настольных веб-приложений.

Почему именно Zen Mojo?

Создание веб-приложений очень интересно, пока вы не столкнетесь с необходимостью обслуживать многие функции на нескольких платформах, что снижает производительность. Zen Mojo позволяет сосредоточиться на важных аспектах вашего решения: дизайне приложения и пользовательском интерфейсе.

Введение в  Zen Mojo

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

Приложения, разработанные с помощью Zen Mojo, используют одностраничную архитектуру (SPA). Вместо того, чтобы создавать HTML-код на сервере, который потом передается клиенту, сервер передает пакеты JSON, управляющие контентом страницы. Переход между страницами прост: нужно изменить метаданные и вызвать метод.

Отрисовка страниц выполняется подключаемыми модулями Zen Mojo. Подключаемые модули могут использовать сторонние библиотеки для предоставления передовых виджетов или вызова кода из вашей собственной библиотеки.

Чем же так хороша одностраничная архитектура?

Одностраничная архитектура — это эффективный подход, позволяющий сократить обмен данными между клиентом и сервером. Базовая структура программы (которая имеет вид HTML-страницы) довольно компактна, и контент можно обновлять с помощью метаданных, передаваемых сервером. Изменяя метаданные, страница может изменять текущие отображающиеся данные или даже переключаться на отображение новой страницы, не перемещаясь на новую физическую страницу. Для обмена данными Zen Mojo использует JSON (эффективный формат необработанных данных), поэтому одностраничная архитектура минимизирует полезную нагрузку между клиентом и сервером и обеспечивает оптимизацию управления для разработчика.

Как работают подключаемые модули?

Zen Mojo использует подключаемые модули для обеспечения простой интеграции передовых библиотек JavaScript, таких как jQuery Mobile или Dojo Toolkit. Таким образом, разработчики могут выбирать новые парадигмы пользовательского интерфейса по мере их появления.

Существует два вида подключаемых модулей: PageManager и Helper.

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

Подключаемые модули Helper добавляют поддержку позиционирования и отрисовки объектов, которые можно определить в метаданных. Некоторые из этих элементов могут быть очень простыми и предоставляют только контейнер <div>. Другие же могут быть мощными и обеспечивать сложные визуальные эффекты или интеграцию сторонних библиотек.

Создание мобильных веб-приложений

Поддерживается несколько мобильных библиотек JavaScript. jQuery Mobile упрощает процесс создания собственного интерфейса для кросс-платформенной аудитории, а ChocolateChip-UI предоставляет конкретные компоненты и таблицы стилей, которые имитируют интерфейсы устройств iOS, Android и Windows Phone.

jQuery Mobile

ChocolateChip UI

Можно ли создавать мобильные приложения с помощью Zen Mojo?

Безусловно. Можно написать нативное приложение на Objective-C (для iOS) или Java (для Android) и внедрить в него свое веб-приложение. Этот подход называется гибридным приложением (в отличие от нативных приложений). PhoneGap на базе Apache Cordova отлично подходит для этого.

По умолчанию приложения Zen Mojo развертываются в серверной среде. Такие приложения называются веб-приложениями, и для них требуется подключение к серверу хотя бы на время запуска.

Zen Mojo позволяет компилировать и упаковывать пакет приложения, который можно запустить локально откуда угодно. Связь пакета с сервером осуществляется без изменений в коде, но для запуска сервер не требуется. Пакеты предназначены для использования в гибридных приложениях.

PhoneGap

Создание настольных веб-приложений

Подход с использованием подключаемых модулей Zen Mojo позволяет интегрировать популярные библиотеки и создавать полнофункциональные настольные приложения. В настоящее время поддерживается Dojo Toolkit, в состав которой входит огромное количество виджетов Dijit и которая позволяет обрабатывать интерактивные двухмерные диаграммы.

The Dojo Toolkit

Как можно получить Zen Mojo?

Zen Mojo можно скачать на портале распространения WRC (доступ предоставляется только клиентам с действующей лицензией). Начиная с версии 2014.2, Caché будет поставляться вместе с текущим выпуском Zen Mojo.

WRC Distribution Portal

Ключевые возможности Zen Mojo 1.0.7

Zen Mojo 1.0.7 включает в себя множество новых возможностей. Нам бы хотелось выделить самые важные.

Представляем справочник по виджетам

Справочник по виджетам предоставляет готовые к использованию примеры кода и увеличивает скорость освоения Zen Mojo. Справочник по виджетам демонстрирует виджеты и их использование в стандартных конфигурациях. Каждый пример включает описание, отрисованные виджеты и кнопку для доступа к исходному коду. После нажатия на кнопку появится всплывающее окно, в котором описана каждая часть кода из примера: объект макета, связанные данные и все CSS. В настоящее время справочник по виджетам предоставляет контент для jQuery Mobile 1.3.2 с используемым подключаемым модулем jQMHelper.

Поддержка $if

mojoDefaultHelper теперь поддерживает конструкцию $if. Этот объект макета не предоставляет HTML-код. Вместо этого он отрисовывает все дочерние элементы, если условие разрешается (true), в противном случае дочерние элементы игнорируются. Элемент $if использует два атрибута для создания условия: value и expectedValue. Условие всегда проверяется на равенство.

Параметр динамического запуска для documentView

Компонент documentView теперь предоставляет обратный вызов OnLoad, который можно использовать для инициализации компонента. Обратный вызов позволяет задать первоначальные ключи в среде выполнения, т. е. на базе localStorage, сохранив данные из предыдущего сеанса.

Объединение файлов для развертывания гибридных приложений

Чтобы упростить задачу включения всех необходимых файлов в проект PhoneGap, %ZEN.Mojo.Utils теперь предоставляет метод подсистемы, который создает автономную страницу Zen Mojo, определяет необходимые создаваемые файлы для этой страницы и копирует их в целевой каталог. Обратите внимание, что подсистема не может определить все зависимости, в частности подразумеваемые параметрами CSSINCLUDES и JSINCLUDES, поскольку некоторые из этих зависимостей можно определить только во время выполнения.

Более полная поддержка библиотеки jQuery Mobile

Этот набор предоставляет более полные возможности для объектов макета в подключаемом модуле jQMHelper.