Transcript
Page 1: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Software Freedom Day, Саратов 2010

Page 2: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

[email protected] generalarcade.com termit.name titaniumdev.ru twitter.com/termit

Page 3: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

— платформа, позволяющая легко и быстро создавать нативные кросc-платформенные мобильные и десктоп приложения используя уже известные вам веб-технологии

Page 4: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Apple iOS Google Android HP/Palm WebOS Nokia Symbian, MeeGo RIM Blackberry Microsoft Windows 7 Series Samsung Bada

Page 5: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

iPhone, iPad, iPod Touch (Objective-C) Android, Blackberry (Java) WebOS (JavaScript) Symbian (Symbian C++) Windows 7 (.NET/Silverlite) Bada (C++) MeeGo (Language Zoo)

Page 6: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Имитация нативного вида UI Отсутствие/ограничения в доступе к

мультимедийным возможностям аппарата

Медленная скорость работы И т.д.

Page 7: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Разработка нативных приложений с использованием JavaScript под:Apple iOSGoogle AndroidRIM BlackberryВ планах Samsung Badu и Microsoft Windows 7 Series

Page 8: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Кросс-платформенность Открытость (Open Source) Бесплатность Нативные код Богатый API Высокая скорость разработки Расширяемость Большое сообщество Качественная документация Поддержка и учебные курсы

Page 9: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Geolocation SQL Database Sound, Video Filesystem Camera 2D, 3D Animation Audio, Video streaming

Networking Maps Gestures Facebook, Twitter,

YQL Web services Accelerometer UI elements

Page 10: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium
Page 11: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

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);

Page 12: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

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();

Page 13: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

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);

Page 14: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Код на JavaScript транслируется в код разработки для конкретной платформы (для iOS в Objective-C, для Android в Java)

При необходимости можно внести изменения

Затем с использованием стандартных инструментов компилируется в нативный бинарный код для нужной платформы

Page 15: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Использовать Module SDK Использовать готовые Java Script

библиотеки Использовать исходники Titanium

Mobile

Page 16: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

Новости обновлений фреймворка

Переводы статей Перевод документации F.A.Q. Библиотеки и модули How-To’s Форум

www.titaniumdev.ru

Page 17: Разработка кросс-платформенных мобильных приложений с использованием Appcelerator Titanium

appcelerator.com github.com/appcelerator twitter.com/appcelerator

titaniumdev.ru [email protected]


Recommended