![Page 1: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/1.jpg)
Using JavaScript to BuildNative iOSApplicationsAndrew LombardiOwner, Tech EvangelistMystic Coders, LLCandrew AT mysticcoders DOT com
kinabalu @ irc://irc.freenode.net - ##wicket, ##javakinabalu @ twitter
Monday, April 4, 2011
![Page 2: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/2.jpg)
Monday, April 4, 2011
![Page 3: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/3.jpg)
11 Years in business
Monday, April 4, 2011
![Page 4: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/4.jpg)
Software Consultants
11 Years in business
Monday, April 4, 2011
![Page 5: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/5.jpg)
Software Consultants
International Speaker
11 Years in business
Monday, April 4, 2011
![Page 6: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/6.jpg)
Software Consultants
International Speaker
Training
11 Years in business
Monday, April 4, 2011
![Page 7: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/7.jpg)
Software Consultants
International Speaker
Training
11 Years in business
Apache Wicket Contributor
Monday, April 4, 2011
![Page 8: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/8.jpg)
Software Consultants
International Speaker
Training
11 Years in business
Apache Wicket Contributor
iPhone Developer (Obj-C / JavaScript)
Monday, April 4, 2011
![Page 9: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/9.jpg)
To our success!
Software Consultants
International Speaker
Training
11 Years in business
Apache Wicket Contributor
iPhone Developer (Obj-C / JavaScript)
Monday, April 4, 2011
![Page 10: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/10.jpg)
Monday, April 4, 2011
![Page 11: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/11.jpg)
Monday, April 4, 2011
![Page 12: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/12.jpg)
Monday, April 4, 2011
![Page 13: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/13.jpg)
Tried learning Objective-C
Monday, April 4, 2011
![Page 14: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/14.jpg)
Appcelerator Titaniumhttp://www.appcelerator.com/
Monday, April 4, 2011
![Page 15: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/15.jpg)
Sunshine! Blue Skies!Monday, April 4, 2011
![Page 16: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/16.jpg)
Titanium is an open source framework for building mobile and desktop applications using web technology (HTML, CSS and JavaScript)
Titanium is...
Monday, April 4, 2011
![Page 17: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/17.jpg)
What we’ll cover
Monday, April 4, 2011
![Page 18: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/18.jpg)
1. The Setup
What we’ll cover
Monday, April 4, 2011
![Page 19: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/19.jpg)
1. The Setup2. Platform Overview
What we’ll cover
Monday, April 4, 2011
![Page 20: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/20.jpg)
1. The Setup2. Platform Overview3. Supported Modules
What we’ll cover
Monday, April 4, 2011
![Page 21: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/21.jpg)
1. The Setup2. Platform Overview3. Supported Modules4. Demos
What we’ll cover
Monday, April 4, 2011
![Page 22: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/22.jpg)
The Setup
Monday, April 4, 2011
![Page 23: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/23.jpg)
1. Download iOS SDK - http://developer.apple.com
Monday, April 4, 2011
![Page 24: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/24.jpg)
Monday, April 4, 2011
![Page 25: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/25.jpg)
Pay the
Monday, April 4, 2011
![Page 26: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/26.jpg)
Pay the
Apple
Monday, April 4, 2011
![Page 27: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/27.jpg)
Pay the
AppleTax
Monday, April 4, 2011
![Page 28: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/28.jpg)
Pay the
AppleTax $99
USDMonday, April 4, 2011
![Page 29: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/29.jpg)
2. Download: http://www.appcelerator.com/products/download/
Monday, April 4, 2011
![Page 30: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/30.jpg)
License?
• Apache 2.0 Licensed• Commercial training and support services
available• Core SDK - free and open source
Monday, April 4, 2011
![Page 31: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/31.jpg)
What is it good for?
• Data-driven web service clients• Web service mash-ups• Social utilities• Casual games
Monday, April 4, 2011
![Page 32: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/32.jpg)
Mobile Architecture
Monday, April 4, 2011
![Page 33: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/33.jpg)
Training
http://developer.appcelerator.com/training
Monday, April 4, 2011
![Page 34: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/34.jpg)
Titanium Plus
Monday, April 4, 2011
![Page 35: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/35.jpg)
Titanium Developer
• Manage and run Titanium applications
• Package applications for distribution
• Run on a device for testing
• Manage Appcelerator account
Monday, April 4, 2011
![Page 36: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/36.jpg)
Access to Media
Interact with the iOS built-in cameras
Ti.Media.showCamera({success: function(imageBlob) {
},cancel: function() {
},error: function(error) {
},allowImageEditing: true});
Monday, April 4, 2011
![Page 37: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/37.jpg)
Network
XHR-style object for remote data requests.
var loader = Ti.Network.createHTTPClient();
loader.open("GET","http://www.google.com/api/something");
loader.onload = function() { }
// Send the HTTP requestloader.send();
Monday, April 4, 2011
![Page 38: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/38.jpg)
Facebook Connect
Titanium.Facebook.appid = '[YOUR APPID]';Titanium.Facebook.permissions = ['publish_stream'];Titanium.Facebook.addEventListener('login', function(e) { if (e.success) { alert('Logged In'); } else if (e.error) { alert(e.error); } else if (e.cancelled) { alert("Cancelled"); }});Titanium.Facebook.authorize();
Monday, April 4, 2011
![Page 39: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/39.jpg)
Native User ExperienceNative performance + Native UI (tables, animations, gestures, etc).
Location-based ServicesAugmented reality, geo-location, compass, native maps
Social SharingAuthenticated access to Facebook, Twitter, Yahoo YQL. Native email/address book.
DataAccess online / device data, embedded SQL database, filesystem, web services
MultimediaCamera, video camera, streaming / device audio/video
AnalyticsCamera, video camera, native image viewers, streaming or device audio/video
ExtensibilityAdd any native Obj. C (iPhone) or Java (Android) module into Titanium
Development ToolsCreate, test, and publish your app
Full-Featured Development...
Monday, April 4, 2011
![Page 40: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/40.jpg)
• A Titanium application is a JavaScript program that is interpreted at runtime on the device
• app.js = root execution context of the app
• No browser involved• We use the WebKit KJS
JavaScript engine (iOS) or Rhino (Android/BB)
Titanium Fundamentals
Monday, April 4, 2011
![Page 41: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/41.jpg)
• Organized into logical namespaces• “Titanium” (or just “Ti” for short) is the root
namespace for all Titanium functionality• A few other odds and ends in the global space
– setTimeout/setInterval– alert– JSON
Titanium Javascript API
Monday, April 4, 2011
![Page 42: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/42.jpg)
• A single window or stack of windows• Tab Group containing many windows• Windows contain views
Titanium UI Composition
Monday, April 4, 2011
![Page 43: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/43.jpg)
DEMO!
Monday, April 4, 2011
![Page 44: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/44.jpg)
More websites for Titanium knowledge
RESOURCES
Monday, April 4, 2011
![Page 45: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/45.jpg)
General
Homepage: http://www.appcelerator.com
Twitter: @appcelerator
IRC: #twitter_app
Source: http://github.com/appcelerator
New Semantic Tags (more)
Monday, April 4, 2011
![Page 46: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/46.jpg)
Monday, April 4, 2011
![Page 47: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/47.jpg)
Titanium Rocks!!
Monday, April 4, 2011
![Page 48: Using+javascript+to+build+native+i os+applications](https://reader035.vdocument.in/reader035/viewer/2022062510/54b4f2524a79599c3b8b459d/html5/thumbnails/48.jpg)
Q&AThanks for listening!
Andrew LombardiOwner, Tech EvangelistMystic Coders, LLCandrew AT mysticcoders DOT com
kinabalu @ irc://irc.freenode.net - ##wicket, ##java
Monday, April 4, 2011