Обзор мультиплатформенных фреймворков — Appcelerator Titanium Mobile (4/6)

4) Appcelerator Titanium Mobile

titanium лого

Titanium Mobile — это нечто большее чем просто фреймворк. В поставке идет на пару вместе с Appcelerator Titanium Studio, предоставляющего возможность эмуляции устройств , а так же сборки приложения. По сути приложения пишутся на JS.

К достоинствам Titanium Mobile можно отнести:

  • Собственная среда разработки , позволяющая не только моделировать устройства, но и делать сборку проекта , т.е. тем самым нам больше не понадобится PhoneGap. Система на основе Eclipce
  • Облегченная версия для разработки — бесплатная.
  • При покупке полной версии доступна куча возможностей от управления пуш сообщениями до облачных решений, позволяющих конечному пользователю получать доступ к контенту без привязки к устройству, а также позволяющие взаимодействовать с устройствами других пользователей и получать доступ к их локальному контенту.

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

Интерфейс включает в себя несколько экземпляров Titanium Window и Titanium TableView. «Главный» экран представляет собой список строк. После выбора строки создается новый экземпляр Titanium Window, который заполняется соответствующимTableView.

Отвечающий за интерфейс код app.js:

var data = [
    {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 win = Titanium.UI.currentWindow;
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',
});

Обработка нажатий :

tableView.addEventListener('click', function(e){
        var win = Titanium.UI.createWindow({  
        url: e.rowData.view,  
        title: e.rowData.title,  
        navBarHidden: true,  
        exitOnClose: false,  
    });  
    win.open();
});

Проигрывание звука:

tableView.addEventListener('click', function (e){
    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)

Добавить комментарий