SlideShare a Scribd company logo
Mobile for the rest of us
About Me

• @jhaynie
• http://blog.jeffhaynie.us
• jhaynie@appcelerator.com
• #titanium_app on freenode
Appcelerator

Empower developers to quickly create and
commercialize web, desktop and mobile
applications
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.
Product Architecture
                             Mobile                                        Desktop
Titanium




                           Advanced                      Advanced                           Advanced APIs
                             APIs                          APIs




               Analytics              Advertising      Social Networking    Team Collaboration
Appcelerator




                                         -  uattro
                                          Q                   -  acebook
                                                               F               -  hare your Project
                                                                                S
                - Usage
  Network




                                       -  reystripe
                                        G                      - Twitter     - Account Management
                - Events
                                                                -  ahoo
                                                                 Y


                                                      Training
                                                      Support
Titanium

• Desktop: Win32, OSX, Linux
• Mobile: iPhone and Android
Programming Model

Titanium supports JavaScript, HTML, CSS for
building mobile applications
UI

• Clean separation of Design from Code
• UI is constructed via HTML, CSS
• JavaScript access to create native controls,
  native views, windows, etc.
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.
App Assembly

Titanium SDK compiles (using Titanium
Developer) the application using the Mobile
SDK into a native application
Mobile APIs

                Geolocation
Accelerometer
                 Gesture
   Analytics
                  Media
      App
                 Network
  Database
                 Platform
  Filesystem
                    UI
Building the UI

• <html> accepted here (including HTML5)
• optimized native UI controls
• hybrid UI composition
Typical iPhone UI
Typical Android UI
<html>
Native UI views
Grouped View   Table View
Composite UI
Grouped View Example


   var groupedView = Titanium.UI.iPhone.createGroupedView();
groupedView.addSection(optionSection);
groupedView.addSection(buttonSection);
groupedView.addSection(inputSection);
groupedView.open({animated:true});
Button Group Section
   var optionData = [
    {title:'Option 1', selected:true},
    {title:'Option 2'},
    {title:'Option 3'}  
];

var optionSection =
Titanium.UI.iPhone.createGroupedSection({header:'Option
Group', type:'option', data:optionData});

optionSection.addEventListener('click',function(e)
{
});
Input Group Section

     var inputData = [
      {title:'Input 1',
       input:switchInstance, image:'iTunes.png'},
      {title:'Sound', input:sliderInstance, image:'Mail.png'},
      {title:'Name', input:textInstance},
      {title:'Input 2', value:'foo', hasChild:true},
      {title:'Input 3'}  
];

var inputSection =
Titanium.UI.iPhone.createGroupedSection({header:'Input
Group', type:'input', data:inputData});
inputSection.addEventListener('click',function(e)
{
});
Native UI Controls
• Toolbars
• Tab Bars
• Status Bars
• Dialogs
• Controls
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');
Camera

  Titanium.Media.showCamera(
{
    success:function(image,details)
    {
        $("status").innerHTML="Uploading...."+image.url;
    }
});
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();
Gestures
  function onShake()
{
   document.getElementById("status").innerHTML =
   'Stop Shaking me';  
}
var listenerId = Titanium.Gesture.addEventListener("shake",
onShake);
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
});
Titanium Info
• http://www.appcelerator.com
• http://github.com/appcelerator
• @appcelerator
• #titanium_app on irc.freenode.net
Mountain View July JavaScript Meetup at Google

More Related Content

KEY
July iPhone Business Meetup
KEY
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
PDF
Human Centered Branding
PPTX
TiConf.eu -- Titanium Developer Conference in Europe, 2013
PPTX
TiConf NYC 2014
PPTX
Titanium Conf Baltimore Keynote 2013
PPTX
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
KEY
Appcelerator Titanium at Mobile 2.0
July iPhone Business Meetup
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Human Centered Branding
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf NYC 2014
Titanium Conf Baltimore Keynote 2013
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
Appcelerator Titanium at Mobile 2.0

Viewers also liked (12)

PPTX
TiConf Australia 2013
PPTX
Mobile Developer Conference 2012 Hamburg, Germany Keynote
PPTX
SoCon 12 : Where are you in your mobile maturity?
PDF
Appcelerator Overview
KEY
CommNexus San Diego Presentation
PDF
What's great in Appcelerator Titanium 0.8
KEY
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
PPT
SoCon 08 Opening Presentation by Jeff Haynie
PPT
Ajaxworld March 2008 - Jeff Haynie Keynote - Appcelerator
PPT
Guia argentina de tratamiento de la EPOC
PDF
Raisers' Ask - South Asia's Fundraising Magazine
PDF
Más facilidades para adoptar
TiConf Australia 2013
Mobile Developer Conference 2012 Hamburg, Germany Keynote
SoCon 12 : Where are you in your mobile maturity?
Appcelerator Overview
CommNexus San Diego Presentation
What's great in Appcelerator Titanium 0.8
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
SoCon 08 Opening Presentation by Jeff Haynie
Ajaxworld March 2008 - Jeff Haynie Keynote - Appcelerator
Guia argentina de tratamiento de la EPOC
Raisers' Ask - South Asia's Fundraising Magazine
Más facilidades para adoptar
Ad

Similar to Mountain View July JavaScript Meetup at Google (20)

KEY
Open Source World : Using Web Technologies to build native iPhone and Android...
ZIP
Using Web Technologies to Build Native iPhone & Android Applications
ZIP
iPhone and the Enterprise
ZIP
iPhone/iPad Development with Titanium
ZIP
Mobile for the rest of us
KEY
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
PPTX
Modeveast Appcelerator Presentation
PPTX
PaaS + Appcelerator = WIN
PPT
Titanium Overview (Mobile March 2011)
PDF
Reinventing Identity and Social Graphs with Digits
ZIP
Introducing Titanium
PPTX
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
KEY
Titanium appcelerator sdk
KEY
Idea to Appstore with Titanium Mobile
KEY
Web app
KEY
Web app
PPTX
Getting started with titanium
ZIP
Introducting Titanium Mobile
KEY
DFW Wordpress February Meetup - Appcelerator Titanium
PDF
Nokia Developer Offering Series 40
Open Source World : Using Web Technologies to build native iPhone and Android...
Using Web Technologies to Build Native iPhone & Android Applications
iPhone and the Enterprise
iPhone/iPad Development with Titanium
Mobile for the rest of us
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Modeveast Appcelerator Presentation
PaaS + Appcelerator = WIN
Titanium Overview (Mobile March 2011)
Reinventing Identity and Social Graphs with Digits
Introducing Titanium
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Titanium appcelerator sdk
Idea to Appstore with Titanium Mobile
Web app
Web app
Getting started with titanium
Introducting Titanium Mobile
DFW Wordpress February Meetup - Appcelerator Titanium
Nokia Developer Offering Series 40
Ad

More from Jeff Haynie (10)

PDF
How to build great teams
PPTX
#Startup lessons
PPTX
Ti AppCamp 2 : Atlanta
PPTX
TiTokyo conference in Tokyo, Japan for Appcelerator community
PPTX
Mobile Monday Hamburg, Germany
KEY
The Mobile Opportunity
KEY
Shotput Ventures - Building startups are hard work
PDF
Developing Desktop Applications using HTML and Javascript
PPT
SoCon09 Keynote - Jeff Haynie
PPT
SD Forum Java SIG - Service Oriented UI Architecture
How to build great teams
#Startup lessons
Ti AppCamp 2 : Atlanta
TiTokyo conference in Tokyo, Japan for Appcelerator community
Mobile Monday Hamburg, Germany
The Mobile Opportunity
Shotput Ventures - Building startups are hard work
Developing Desktop Applications using HTML and Javascript
SoCon09 Keynote - Jeff Haynie
SD Forum Java SIG - Service Oriented UI Architecture

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
MYSQL Presentation for SQL database connectivity
Dropbox Q2 2025 Financial Results & Investor Presentation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The AUB Centre for AI in Media Proposal.docx
Encapsulation_ Review paper, used for researhc scholars
Digital-Transformation-Roadmap-for-Companies.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
Per capita expenditure prediction using model stacking based on satellite ima...
Unlocking AI with Model Context Protocol (MCP)

Mountain View July JavaScript Meetup at Google

  • 1. Mobile for the rest of us
  • 2. About Me • @jhaynie • http://blog.jeffhaynie.us • jhaynie@appcelerator.com • #titanium_app on freenode
  • 3. Appcelerator Empower developers to quickly create and commercialize web, desktop and mobile applications
  • 4. 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.
  • 5. Product Architecture Mobile Desktop Titanium Advanced Advanced Advanced APIs APIs APIs Analytics Advertising Social Networking Team Collaboration Appcelerator -  uattro Q -  acebook F -  hare your Project S - Usage Network -  reystripe G - Twitter - Account Management - Events -  ahoo Y Training Support
  • 6. Titanium • Desktop: Win32, OSX, Linux • Mobile: iPhone and Android
  • 7. Programming Model Titanium supports JavaScript, HTML, CSS for building mobile applications
  • 8. UI • Clean separation of Design from Code • UI is constructed via HTML, CSS • JavaScript access to create native controls, native views, windows, etc.
  • 9. 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.
  • 10. App Assembly Titanium SDK compiles (using Titanium Developer) the application using the Mobile SDK into a native application
  • 11. Mobile APIs Geolocation Accelerometer Gesture Analytics Media App Network Database Platform Filesystem UI
  • 12. Building the UI • <html> accepted here (including HTML5) • optimized native UI controls • hybrid UI composition
  • 16. Native UI views Grouped View Table View
  • 18. Grouped View Example var groupedView = Titanium.UI.iPhone.createGroupedView(); groupedView.addSection(optionSection); groupedView.addSection(buttonSection); groupedView.addSection(inputSection); groupedView.open({animated:true});
  • 19. Button Group Section var optionData = [     {title:'Option 1', selected:true},     {title:'Option 2'},     {title:'Option 3'}   ]; var optionSection = Titanium.UI.iPhone.createGroupedSection({header:'Option Group', type:'option', data:optionData}); optionSection.addEventListener('click',function(e) { });
  • 20. Input Group Section var inputData = [     {title:'Input 1', input:switchInstance, image:'iTunes.png'},     {title:'Sound', input:sliderInstance, image:'Mail.png'},     {title:'Name', input:textInstance},     {title:'Input 2', value:'foo', hasChild:true},     {title:'Input 3'}   ]; var inputSection = Titanium.UI.iPhone.createGroupedSection({header:'Input Group', type:'input', data:inputData}); inputSection.addEventListener('click',function(e) { });
  • 21. Native UI Controls • Toolbars • Tab Bars • Status Bars • Dialogs • Controls
  • 22. 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');
  • 23. Camera Titanium.Media.showCamera( {     success:function(image,details)     {         $("status").innerHTML="Uploading...."+image.url; } });
  • 24. 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();
  • 25. Gestures function onShake() {    document.getElementById("status").innerHTML = 'Stop Shaking me';   } var listenerId = Titanium.Gesture.addEventListener("shake", onShake);
  • 26. 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 });
  • 27. Titanium Info • http://www.appcelerator.com • http://github.com/appcelerator • @appcelerator • #titanium_app on irc.freenode.net