4) Appcelerator Titanium Mobile
Titanium Mobile — это нечто большее чем просто фреймворк. В поставке идет на пару вместе с Appcelerator Titanium Studio, предоставляющего возможность эмуляции устройств , а так же сборки приложения. По сути приложения пишутся на JS.
К достоинствам Titanium Mobile можно отнести:
- Собственная среда разработки , позволяющая не только моделировать устройства, но и делать сборку проекта , т.е. тем самым нам больше не понадобится PhoneGap. Система на основе Eclipce
- Облегченная версия для разработки — бесплатная.
- При покупке полной версии доступна куча возможностей от управления пуш сообщениями до облачных решений, позволяющих конечному пользователю получать доступ к контенту без привязки к устройству, а также позволяющие взаимодействовать с устройствами других пользователей и получать доступ к их локальному контенту.
Рассмотрим технологию разработки на примере экрана с несколькими строками , при нажатии на которые открывается соответствующее данной строке окно. При нажатии на подстроку в открывшемся окне проигрывается звуковой файл.
Интерфейс включает в себя несколько экземпляров Titanium Window и Titanium TableView. «Главный» экран представляет собой список строк. После выбора строки создается новый экземпляр Titanium Window, который заполняется соответствующимTableView.
Отвечающий за интерфейс код app.js:
{title: 'Строка номер 1', view: 'v/string1.js'},
{title: 'Строка номер 2', view: 'v/string2.js'},
];
var window = Titanium.UI.createWindow({
title: 'Тестовый пример',
backgroundColor:'#000',
exitOnClose: true,
});
var tableView = Titanium.UI.createTableView({
data: data,
headerTitle: 'Тестовый пример',
});
window.add(tableView);
window.open()
Код в string1.js имеет вид:
var data = [
{title: 'Подстрока 1', file: 'sound_01.mp3'},
{title: 'Подстрока 2', file: 'sound_02.mp3'},
{title: 'Подстрока 3', file: 'sound_03.mp3'},
];
var tableView = Titanium.UI.createTableView({
data: data,
headerTitle: 'Строка 1',
});
Обработка нажатий :
var win = Titanium.UI.createWindow({
url: e.rowData.view,
title: e.rowData.title,
navBarHidden: true,
exitOnClose: false,
});
win.open();
});
Проигрывание звука:
var sound = Titanium.Media.createSound();
sound.url = '../mp3/' + e.rowData.file;
Titanium.API.info('mp3/' + e.rowData.file);
sound.play();
});
Как видно все приложение написано на JS. По сути мы имеем опять таки событийную модель работы, что позволяет гибко разделить визуальную функциональную часть приложения.
Минусы использования :
- Цена за pro версию доходит до 2500$ в месяц !! (хотя для обычной разработки она не нужна)
- Достаточно высокий порог вхождения
Продолжение:
Обзор мультиплатформенных фреймворков — jQuery Mobile (1/6)
Обзор мультиплатформенных фреймворков — MGWT + PHONEGAP (2/6)
Обзор мультиплатформенных фреймворков — Sencha Touch (3/6)
Обзор мультиплатформенных фреймворков — Vaadin TouchKit (5/6)
Обзор мультиплатформенных фреймворков — IBM WorkLight (6/6)