SlideShare uma empresa Scribd logo
1 de 27
Titanium Mobile
writing native iPhone and Android apps with web technologies.
About Me

             Marshall Culpepper
Titanium Project Lead / Hacker Extraordinaire
                @marshall_law
           http://www.arcaner.com
       mculpepper@appcelerator.com
          http://github.com/marshall
Agenda

• Titanium Mobile Intro
• Mobile Architecture
• API Overview
• Guided Lab: Snappost
Titanium Mobile


•   UI with HTML5, CSS, Canvas. The best of the open web.

•   iPhone 2.2.1 -> 3.x support, Android 1.5 support

•   Native widgets, views with Javascript APIs - fast!

•   No need to learn multiple languages (Objective-C, Java) to be
    productive

•   Resources get compiled into a native executable - non editable
    by mere mortals
Mobile Architecture
Media API
More Media API
Geolocation API
Accelerometer API
Database API
Synchronous and Asynchronous (HTML5) APIs
Network API
XHR-style object for remote data requests
Native UI Controls
Use native controls with Javascript
Native iPhone UI


•   Tab Bar / Nav Bar

•   Table View / Group View

•   Alert / Options

•   Buttons / Sliders / Progress / Activity

•   more...
Native Android UI


•   Tab Bar

•   Table View

•   Alert / Options

•   Buttons / Sliders / Progress / Activity

•   more...
Common API
iPhone Table View           Android Table View




                Same code
Useful Resources


•   KitchenSink : Full API demo

•   Full API Reference, Platform Guides, Docs:

    •   http://codestrong.com

•   #titanium_app on irc.freenode.net

•   Support: http://support.appcelerator.net
Developer+Mobile



•   With Mobile projects, Developer deploys code to the simulator/
    emulator

•   Can also deploy directly to device (requires some setup)
Hello World app


•   Prerequisites

    •   iPhone and/or Android SDK

    •   Titanium Developer + Mobile SDK
Snappost: Our first app

•   An app that can post a photo and a message to Twitter via
    TwitPic

•   Use TwitPic REST API, Titanium, jQuery

•   Basic TwitPic spec:

    •   POST to REST API @ https://twitpic.com/api/uploadAndPost
        •   message: update message

        •   username: twitter username

        •   password: twitter password

        •   media: image binary data
Step 1: Configuration
•   $ROOT/tiapp.xml

•   Configure tabs, and their properties
Step 2: HTML, CSS, JS
•   organize $ROOT/index.html

•   code up simplistic UI, use a native button
Step 3: Create the button

•   Use Titanium.UI.createButton to create a native button
    inside the web content
Step 4: Pick a photo

•   Use Titanium.UI.openPhotoGallery to prompt for a photo
Step 5: Post to TwitPic
•   Send image blob data directly using our Native XHR
Done!
Final Thoughts



•   Titanium: Native desktop and mobile apps made simple with
    web technologies

•   In the future we hope to support Blackberry, Windows Mobile,
    Symbian

•   See Roadmap for Desktop and Mobile on Codestrong
Q/A, Titanium hackathon

Mais conteúdo relacionado

Mais procurados

Appcelerator Titanium - Hybrid App-Development
Appcelerator Titanium - Hybrid App-DevelopmentAppcelerator Titanium - Hybrid App-Development
Appcelerator Titanium - Hybrid App-Development
h_marvin
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic Framework
Troy Miles
 

Mais procurados (20)

Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
 
Ionic 2: Mobile apps with the Web
Ionic 2: Mobile apps with the WebIonic 2: Mobile apps with the Web
Ionic 2: Mobile apps with the Web
 
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
 
Automating PhoneGap Build
Automating PhoneGap BuildAutomating PhoneGap Build
Automating PhoneGap Build
 
PhoneGap: a brief history and apologia
PhoneGap: a brief history and apologiaPhoneGap: a brief history and apologia
PhoneGap: a brief history and apologia
 
Appcelerator Titanium - Hybrid App-Development
Appcelerator Titanium - Hybrid App-DevelopmentAppcelerator Titanium - Hybrid App-Development
Appcelerator Titanium - Hybrid App-Development
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)
 
Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overview
 
Mobile apps with Ionic 2
Mobile apps with Ionic 2Mobile apps with Ionic 2
Mobile apps with Ionic 2
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ Codeaholics
 
Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGap
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGap
 
Reark : a Reference Architecture for Android using RxJava
Reark : a Reference Architecture for Android using RxJavaReark : a Reference Architecture for Android using RxJava
Reark : a Reference Architecture for Android using RxJava
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic Framework
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJS
 
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSCordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
 
Pepperoni 2.0 - How to spice up your mobile apps
Pepperoni 2.0 - How to spice up your mobile apps Pepperoni 2.0 - How to spice up your mobile apps
Pepperoni 2.0 - How to spice up your mobile apps
 
Intro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular jsIntro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular js
 
Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)
 

Destaque

Using Titanium Mobile
Using Titanium MobileUsing Titanium Mobile
Using Titanium Mobile
johndbritton
 

Destaque (9)

P2PU School of Webcraft - SXSW 2011
P2PU School of Webcraft - SXSW 2011P2PU School of Webcraft - SXSW 2011
P2PU School of Webcraft - SXSW 2011
 
My scrapbook
My scrapbookMy scrapbook
My scrapbook
 
Mujer
MujerMujer
Mujer
 
The Cell
The CellThe Cell
The Cell
 
The Cell
The CellThe Cell
The Cell
 
CELL
CELLCELL
CELL
 
The Cell
The CellThe Cell
The Cell
 
Cell division
Cell divisionCell division
Cell division
 
Using Titanium Mobile
Using Titanium MobileUsing Titanium Mobile
Using Titanium Mobile
 

Semelhante a Titanium Mobile Intro

Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
Nicholas Jansma
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
sschwarzhoff
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
Axway Appcelerator
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
davyjones
 

Semelhante a Titanium Mobile Intro (20)

Titanium Desktop Intro
Titanium Desktop IntroTitanium Desktop Intro
Titanium Desktop Intro
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
Absolute Beginners Guide to iPhone dev
Absolute Beginners Guide to iPhone devAbsolute Beginners Guide to iPhone dev
Absolute Beginners Guide to iPhone dev
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile Hack
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with Titanium
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with Titanium
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And Intelligence
 
Phone gap development, testing, and debugging
Phone gap development, testing, and debuggingPhone gap development, testing, and debugging
Phone gap development, testing, and debugging
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
Mobile for the rest of us
Mobile for the rest of usMobile for the rest of us
Mobile for the rest of us
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Besides Objective-C
Besides Objective-CBesides Objective-C
Besides Objective-C
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhone
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Titanium Mobile Intro

  • 1. Titanium Mobile writing native iPhone and Android apps with web technologies.
  • 2. About Me Marshall Culpepper Titanium Project Lead / Hacker Extraordinaire @marshall_law http://www.arcaner.com mculpepper@appcelerator.com http://github.com/marshall
  • 3. Agenda • Titanium Mobile Intro • Mobile Architecture • API Overview • Guided Lab: Snappost
  • 4. Titanium Mobile • UI with HTML5, CSS, Canvas. The best of the open web. • iPhone 2.2.1 -> 3.x support, Android 1.5 support • Native widgets, views with Javascript APIs - fast! • No need to learn multiple languages (Objective-C, Java) to be productive • Resources get compiled into a native executable - non editable by mere mortals
  • 10. Database API Synchronous and Asynchronous (HTML5) APIs
  • 11. Network API XHR-style object for remote data requests
  • 12. Native UI Controls Use native controls with Javascript
  • 13. Native iPhone UI • Tab Bar / Nav Bar • Table View / Group View • Alert / Options • Buttons / Sliders / Progress / Activity • more...
  • 14. Native Android UI • Tab Bar • Table View • Alert / Options • Buttons / Sliders / Progress / Activity • more...
  • 15. Common API iPhone Table View Android Table View Same code
  • 16. Useful Resources • KitchenSink : Full API demo • Full API Reference, Platform Guides, Docs: • http://codestrong.com • #titanium_app on irc.freenode.net • Support: http://support.appcelerator.net
  • 17. Developer+Mobile • With Mobile projects, Developer deploys code to the simulator/ emulator • Can also deploy directly to device (requires some setup)
  • 18. Hello World app • Prerequisites • iPhone and/or Android SDK • Titanium Developer + Mobile SDK
  • 19. Snappost: Our first app • An app that can post a photo and a message to Twitter via TwitPic • Use TwitPic REST API, Titanium, jQuery • Basic TwitPic spec: • POST to REST API @ https://twitpic.com/api/uploadAndPost • message: update message • username: twitter username • password: twitter password • media: image binary data
  • 20. Step 1: Configuration • $ROOT/tiapp.xml • Configure tabs, and their properties
  • 21. Step 2: HTML, CSS, JS • organize $ROOT/index.html • code up simplistic UI, use a native button
  • 22. Step 3: Create the button • Use Titanium.UI.createButton to create a native button inside the web content
  • 23. Step 4: Pick a photo • Use Titanium.UI.openPhotoGallery to prompt for a photo
  • 24. Step 5: Post to TwitPic • Send image blob data directly using our Native XHR
  • 25. Done!
  • 26. Final Thoughts • Titanium: Native desktop and mobile apps made simple with web technologies • In the future we hope to support Blackberry, Windows Mobile, Symbian • See Roadmap for Desktop and Mobile on Codestrong