Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium
Software Freedom Day, Саратов 2010
[email protected] generalarcade.com termit.name titaniumdev.ru twitter.com/termit
— платформа, позволяющая легко и быстро создавать нативные кросc-платформенные мобильные и десктоп приложения используя уже известные вам веб-технологии
Apple iOS Google Android HP/Palm WebOS Nokia Symbian, MeeGo RIM Blackberry Microsoft Windows 7 Series Samsung Bada
iPhone, iPad, iPod Touch (Objective-C) Android, Blackberry (Java) WebOS (JavaScript) Symbian (Symbian C++) Windows 7 (.NET/Silverlite) Bada (C++) MeeGo (Language Zoo)
Имитация нативного вида UI Отсутствие/ограничения в доступе к
мультимедийным возможностям аппарата
Медленная скорость работы И т.д.
Разработка нативных приложений с использованием JavaScript под:Apple iOSGoogle AndroidRIM BlackberryВ планах Samsung Badu и Microsoft Windows 7 Series
Кросс-платформенность Открытость (Open Source) Бесплатность Нативные код Богатый API Высокая скорость разработки Расширяемость Большое сообщество Качественная документация Поддержка и учебные курсы
Geolocation SQL Database Sound, Video Filesystem Camera 2D, 3D Animation Audio, Video streaming
Networking Maps Gestures Facebook, Twitter,
YQL Web services Accelerometer UI elements
CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f);UIImageView *myImage = [[UIImageView alloc]
initWithFrame:myImageRect];[myImage setImage:[UIImage imageNamed:@"myImage.png"]];myImage.opaque = YES;[self.view addSubview:myImage];[myImage release];
CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f);UIImageView *myImage = [[UIImageView alloc]
initWithFrame:myImageRect];[myImage setImage:[UIImage imageNamed:@"myImage.png"]];myImage.opaque = YES;[self.view addSubview:myImage];[myImage release];
var image = Titanium.UI.createImageView({url:’myImage.png’,width:320,height:109,});view.add(image);
var image = Titanium.UI.createImageView({url:’myImage.png’,width:320,height:109,});view.add(image);
SystemSoundID pmph;id sndpath = [[NSBundle mainBundle]
pathForResource:@"mySound" ofType:@"wav“inDirectory:@"/"];
CFURLRef baseURL = (CFURLRef) [[NSURL alloc]initFileURLWithPath:sndpath];AudioServicesCreateSystemSoundID (baseURL, &pmph); AudioServicesPlaySystemSound(pmph); [baseURL release];
SystemSoundID pmph;id sndpath = [[NSBundle mainBundle]
pathForResource:@"mySound" ofType:@"wav“inDirectory:@"/"];
CFURLRef baseURL = (CFURLRef) [[NSURL alloc]initFileURLWithPath:sndpath];AudioServicesCreateSystemSoundID (baseURL, &pmph); AudioServicesPlaySystemSound(pmph); [baseURL release];
var player = Ti.UI.createSound({url:“mySound.wav"});player.play();
var player = Ti.UI.createSound({url:“mySound.wav"});player.play();
CGRect webFrame = CGRectMake(0.0, 0.0, 320.0, 460.0);UIWebView *webView = [[UIWebView alloc] initWithFrame:webFrame]; [webView setBackgroundColor:[UIColor whiteColor]];NSString *urlAddress = @"http://www.google.com";NSURL *url = [NSURL URLWithString:urlAddress];NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];[webView loadRequest:requestObj];[self addSubview:webView];[webView release];
CGRect webFrame = CGRectMake(0.0, 0.0, 320.0, 460.0);UIWebView *webView = [[UIWebView alloc] initWithFrame:webFrame]; [webView setBackgroundColor:[UIColor whiteColor]];NSString *urlAddress = @"http://www.google.com";NSURL *url = [NSURL URLWithString:urlAddress];NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];[webView loadRequest:requestObj];[self addSubview:webView];[webView release];
var webView = Titanium.UI.createWebView({url: http://www.google.com '});
self.add(webView);
var webView = Titanium.UI.createWebView({url: http://www.google.com '});
self.add(webView);
Код на JavaScript транслируется в код разработки для конкретной платформы (для iOS в Objective-C, для Android в Java)
При необходимости можно внести изменения
Затем с использованием стандартных инструментов компилируется в нативный бинарный код для нужной платформы
Использовать Module SDK Использовать готовые Java Script
библиотеки Использовать исходники Titanium
Mobile
Новости обновлений фреймворка
Переводы статей Перевод документации F.A.Q. Библиотеки и модули How-To’s Форум
www.titaniumdev.ru
appcelerator.com github.com/appcelerator twitter.com/appcelerator
titaniumdev.ru [email protected]