Appcelerator Titanium at Mobile 2.0

  • 6,672 views
Uploaded on

This is the Appcelerator Titanium presentation titled "Mobile for the rest of us" presented at the Mobile 2.0 conference in Mountain View, California on October 16, 2009. This presentation was given …

This is the Appcelerator Titanium presentation titled "Mobile for the rest of us" presented at the Mobile 2.0 conference in Mountain View, California on October 16, 2009. This presentation was given by Jeff Haynie.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,672
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
197
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Mobile for the rest of us Mobile 2.0 Conference Mountain View, CA Jeff Haynie @jhaynie
  • 2. About Me • @jhaynie @appcelerator • http://blog.jeffhaynie.us • jhaynie@appcelerator.com • #titanium_app on freenode
  • 3. Explosion of opportunities 20% year over year growth anticipated for next 5 years in smart phones
  • 4. Oh no. • iPhone (Objective-C, 28th!) • Android (Java, Google Style) • RIM (Java, Blackberry or Midlet style) • Symbian (old school C) • Palm Pre (Web 2.0) • Windows Mobile (.NET compact) • Maemo (GTK+)
  • 5. Oh, yeah... • Web Browsers • Desktop Apps • Net books • E-Book readers • Tablets • etc etc.
  • 6. We Web • HTML, CSS, JavaScript • Presentation / UI can easily be built with HTML/ CSS • JavaScript API for mobile features, platform, UI • Run locally, integrate cloud services
  • 7. It’s the UX Build applications that fit the use cases that are tailored for the modality
  • 8. What we want • Skills • Tools • Reusability • Platforms • Portability • Speed / Cost • Open source / Standards
  • 9. Appcelerator Empower developers to quickly create and commercialize web, desktop and mobile applications
  • 10. Titanium • Desktop: Win32, OSX, Linux • Mobile: iPhone and Android (Palm WebOS) • 100% code on github.com/appcelerator • Apache Public License • Active Open Source Community
  • 11. Appcelerator Products Create, test, and commercialize native mobile and desktop applications with the web technologies you use today. Develop Native iPhone Build Desktop apps Cloud services used for Web development tools and Android apps with that can be deployed testing, packaging, that enable rapid RIA full access to each with one code base on distribution, and development. device’s APIs. the PC, Mac, or Linux analytics. platforms.
  • 12. Product Architecture Mobile Desktop
  • 13. Programming Model Titanium supports JavaScript, HTML, CSS for building mobile applications
  • 14. UI • Clean separation of Design from Code • UI is constructed via HTML, CSS • JavaScript access to create native controls, native views, windows, etc.
  • 15. JavaScript • JavaScript is used to program Mobile Features, Access local Resources, Database, Remote Web Services, etc. • Use your favorite JS Toolkit - jQuery,YUI, Dojo, Mootools, etc etc.
  • 16. App Assembly Titanium SDK compiles (using Titanium Developer) the application using the Mobile SDK into a native application
  • 17. Mobile APIs Geolocation Accelerometer Gesture Analytics Media App Network Database Platform Facebook UI Filesystem Yahoo
  • 18. Building the UI • <html> accepted here (including HTML5) • optimized native UI controls • hybrid UI composition • custom native UI controls
  • 19. Typical iPhone UI
  • 20. Typical Android UI
  • 21. <html>
  • 22. Native UI views Grouped View Table View
  • 23. Composite UI
  • 24. Composite Views
  • 25. Custom OpenGL UI
  • 26. Simple APIs Titanium.UI.setTabBadge(10) Titanium.UI.createMenu()
  • 27. Native UI Controls • Toolbars • Tab Bars • Status Bars • Dialogs • Controls
  • 28. Native UI (Android)
  • 29. Databases var db = Titanium.Database.open('mydb'); db.execute('INSERT INTO DATABASETEST (ID, NAME ) VALUES(?,?)', 1,'Name 1'); db.execute('INSERT INTO DATABASETEST (ID, NAME ) VALUES(?,?)', 2,'Name 2'); db.execute('INSERT INTO DATABASETEST (ID, NAME ) VALUES(?,?)', 3,'Name 3'); db.execute('INSERT INTO DATABASETEST (ID, NAME ) VALUES(?,?)', 4,'Name 4');
  • 30. Camera Titanium.Media.showCamera( {     success:function(image,details)     {         $("status").innerHTML="Uploading...."+image.url; } });
  • 31. Video var video = Titanium.Media. createVideoPlayer({ contentURL : "movie.mp4"}); var listenerId = video.addEventListener("complete", function() {    video.removeEventListener('complete', listenerId);    var dlg = Titanium.UI.createAlertDialog({     'title' : 'Video Complete',     'message' : 'video completed',     'buttonNames' : [ 'OK' ]    });    dlg.show(); }); video.play();
  • 32. Gestures function onShake() {    document.getElementById("status").innerHTML = 'Stop Shaking me';   } var listenerId = Titanium.Gesture.addEventListener("shake", onShake);
  • 33. Accelerometer Titanium.Accelerometer.addEventListener('update',function(e){    document.getElementById('x').innerHTML = e.x;    document.getElementById('y').innerHTML = e.y;    document.getElementById('z').innerHTML = e.z });
  • 34. Titanium Info • http://www.appcelerator.com • http://github.com/appcelerator • @appcelerator • #titanium_app on irc.freenode.net • http://slideshare.net/jhaynie