SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Using Titanium for
multi-platform development
                     Arul Kumaran
       Twitter: @_Arul | http://blog.luracast.com



                   More Information:
    Twitter: @appcelerator | http://appcelerator.com


                     BarCamp Singapore 4               1
Today’s Presentation
• What is Titanium?
• Why Titanium?
• API Overview
• Demos:
 – Your First Project
 – Mobile TwitPic Client
 – The mobile ‘kitchen sink’
•Q&A

               @_Arul | Arul Kumaran - BarCamp Singapore 4   2
An Unlikely Hero
• For a decade, web technologies have
  become one of the world’s most popular
  client application technology solutions:
 – Easy to deploy and maintain
 – Cross platform
 – Open standards
• Warts and all, it’s tough to find a developer
  who has ZERO experience with these tools


               @_Arul | Arul Kumaran - BarCamp Singapore 4   3
If web apps are so great...
...why are we interested in building native
applications at all? Well:
– They feel responsive
– They leverage platform capabilities
  • Filesystem I/O
  • Local Database
  • Mobile: Camera or Accelerometer
– They are or can be ‘always on’
– They can be used offline

               @_Arul | Arul Kumaran - BarCamp Singapore 4   4
But my dev shop has...
• An investment in the people, tools, skills,
  and technology to build web applications
• An appreciation for open source and open
  standards
• A need to get market quickly
• An aversion to maintaining a codebase per
  supported platform



              @_Arul | Arul Kumaran - BarCamp Singapore 4   5
If only you could...
• Build fully native apps using web
  technologies you know today
• Build cross platform apps from a shared
  codebase
• Use open source software, based on open
  standards
• Find lots of available development talent to
  build these apps


              @_Arul | Arul Kumaran - BarCamp Singapore 4   6
Enter Titanium

 Titanium is an open source framework for
    building native desktop and mobile
 applications using open web technologies
        (HTML, CSS, and JavaScript)

• Website: http://appcelerator.com
• Twitter: http://twitter.com/appcelerator
• Source: http://github.com/appcelerator

              @_Arul | Arul Kumaran - BarCamp Singapore 4   7
Platforms?
• Desktop: Win32, Mac OS X (Intel), Linux
• Mobile: iPhone OS, Android
• More to come




              @_Arul | Arul Kumaran - BarCamp Singapore 4   8
License?
• Open Source under Apache 2.0
• Commercial training and support services
  available
• More value add services to come (analytics)
• Core SDK - always free and open source




              @_Arul | Arul Kumaran - BarCamp Singapore 4   9
Titanium “Sweet Spot”
• Data-driven web service clients (Enterprise
  applications)
• Web service mash-ups
• Social utilities
• Brand affinity
• Casual games
• Anything requiring cross-platform support


              @_Arul | Arul Kumaran - BarCamp Singapore 4   10
More on Titanium
• Web: http://appcelerator.com
• Twitter: http://twitter.com/appcelerator
• Docs: http://www.codestrong.com
• Videos: http://vimeo.com/appcelerator
• Source: http://github.com/appcelerator




              @_Arul | Arul Kumaran - BarCamp Singapore 4   11
Desktop Architecture and API
         Overview



        @_Arul | Arul Kumaran - BarCamp Singapore 4   12
Desktop Architecture




    @_Arul | Arul Kumaran - BarCamp Singapore 4   13
Desktop User Interface
• Tray and Dock icons
• System Notifications
• Application Menus
• More




              @_Arul | Arul Kumaran - BarCamp Singapore 4   14
Media
• Play bundled or remote sound files
• System notification (beep)




              @_Arul | Arul Kumaran - BarCamp Singapore 4   15
Networking
• HTTPClient (XHR style object)
• Socket level access
• Built-in IRC chat client




              @_Arul | Arul Kumaran - BarCamp Singapore 4   16
Database and Filesystem
• Write files to the
  local filesystem
• Read files from disk
• Read file via drag and
  drop
• Use a synchronous or
  async database API



               @_Arul | Arul Kumaran - BarCamp Singapore 4   17
Workers
• Spin off worker threads
• Communicate asynchronously with the
  worker through a JavaScript API
• Offload long running tasks to keep your app
  responsive




              @_Arul | Arul Kumaran - BarCamp Singapore 4   18
Language Modules
• Language modules
  are optionally
  included
• Full DOM access
• Three currently
  supported modules:
 – Ruby
 – Python
 – PHP

              @_Arul | Arul Kumaran - BarCamp Singapore 4   19
More
• Manage/run processes and applications
• Take screenshots
• Update your application remotely
• Get runtime platform data
• More at http://codestrong.com/titanium




             @_Arul | Arul Kumaran - BarCamp Singapore 4   20
Mobile Architecture and API
         Overview



       @_Arul | Arul Kumaran - BarCamp Singapore 4   21
Mobile Architecture




   @_Arul | Arul Kumaran - BarCamp Singapore 4   22
Media
Stream or package audio and video
content




                   @_Arul | Arul Kumaran - BarCamp Singapore 4   23
More Media...
Interact with the iPhone or Android
built-in cameras




                   @_Arul | Arul Kumaran - BarCamp Singapore 4   24
Geo-location
Use Geo-location to leverage your
user’s position in the world




                   @_Arul | Arul Kumaran - BarCamp Singapore 4   25
Accelerometer
Use advanced gestures and track
movement to create
groundbreaking user interfaces




                   @_Arul | Arul Kumaran - BarCamp Singapore 4   26
Database and File System
Access a SQLite Database (sync or
async) and the platform file system




                   @_Arul | Arul Kumaran - BarCamp Singapore 4   27
Network
XHR-style object for remote data
requests.




                   @_Arul | Arul Kumaran - BarCamp Singapore 4   28
Native UI Controls
Use native controls through a
JavaScript interface.




                    @_Arul | Arul Kumaran - BarCamp Singapore 4   29
Integrated YQL Support
• YQL - A web service
  aggregator using
  open tables
• Built in to
  Titanium.Yahoo
  namespace




              @_Arul | Arul Kumaran - BarCamp Singapore 4   30
Facebook Connect
• Facebook Connect
  module (currently
  iPhone only)
• Currently support
  for FQL
• More on the way




              @_Arul | Arul Kumaran - BarCamp Singapore 4   31
Native iPhone UI
• Tab Bar
• Nav Bar
• Table View
• Alert / Options
• Group Views / Text
• Many More



              @_Arul | Arul Kumaran - BarCamp Singapore 4   32
Native Android UI
• Tab Bar
• Table View
• Alert / Options
• Activity Indicator
• Notifications
• Many More



               @_Arul | Arul Kumaran - BarCamp Singapore 4   33
Common APIs
iPhone Table View                                            Android Table View




                        Same Code Creates Both




                    @_Arul | Arul Kumaran - BarCamp Singapore 4                   34
More APIs
• Platform / OS Data
• Application Properties
• Logging
• Scroll and Image Views
• Composite Views
• More always coming



              @_Arul | Arul Kumaran - BarCamp Singapore 4   35
Still Want More?
• Kitchen Sink - Full API Demo
• Codestrong.com has Examples and Guides
• http://www.codestrong.com/timobile/
  samples/




             @_Arul | Arul Kumaran - BarCamp Singapore 4   36
Titanium Developer
•Developer is a Titanium Application
•Projects created/managed via Titanium
 Developer
•Titanium Developer deploys code to
 simulators
•Developer also helps with testing and
 packaging for devices
•Requires sign-up for Appcelerator Network
 (support, e-mail list, other services)
             @_Arul | Arul Kumaran - BarCamp Singapore 4   37
Kicking The Tires
• Your first application
 – Desktop project layout
 – Mobile project layout
• Demos
 – Mobile TwitPic Client
 – Mobile: Kitchen Sink




               @_Arul | Arul Kumaran - BarCamp Singapore 4   38
Next Steps
• Download: appcelerator.com/download
• Hack
 – Docs/Samples: http://www.codestrong.com
 – Screencasts: http://vimeo.com/appcelerator
• Get Help
 – http://support.appcelerator.net
 – IRC Chat - irc.freenode.net / #titanium_app



               @_Arul | Arul Kumaran - BarCamp Singapore 4   39
Questions?




@_Arul | Arul Kumaran - BarCamp Singapore 4   40

Weitere ähnliche Inhalte

Was ist angesagt?

Primavera Mobile Applications - Now and Beyond
Primavera Mobile Applications - Now and BeyondPrimavera Mobile Applications - Now and Beyond
Primavera Mobile Applications - Now and Beyondp6academy
 
Dashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxDataDashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxDataInfluxData
 
A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)Ralf Sternberg
 
Primavera Oracle Cloud Market Place
Primavera Oracle Cloud Market PlacePrimavera Oracle Cloud Market Place
Primavera Oracle Cloud Market Placep6academy
 
Oracle Primavera P6 R16.1
Oracle Primavera P6 R16.1Oracle Primavera P6 R16.1
Oracle Primavera P6 R16.1Eduard Enache
 
What is Enterprise Resource Planning, SAP and SAP FIORI?
What is Enterprise Resource Planning, SAP and SAP FIORI? What is Enterprise Resource Planning, SAP and SAP FIORI?
What is Enterprise Resource Planning, SAP and SAP FIORI? Pavan Golesar
 
P6 Release 8 Application Considerations Overview
P6 Release 8 Application Considerations OverviewP6 Release 8 Application Considerations Overview
P6 Release 8 Application Considerations Overviewp6academy
 
T44u 2015, upgrading to 8
T44u 2015, upgrading to 8T44u 2015, upgrading to 8
T44u 2015, upgrading to 8Terminalfour
 

Was ist angesagt? (10)

Primavera Mobile Applications - Now and Beyond
Primavera Mobile Applications - Now and BeyondPrimavera Mobile Applications - Now and Beyond
Primavera Mobile Applications - Now and Beyond
 
Sap HCI online training
Sap HCI online trainingSap HCI online training
Sap HCI online training
 
Dashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxDataDashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxData
 
What's New in Primavera P6 16.2
What's New in Primavera P6 16.2What's New in Primavera P6 16.2
What's New in Primavera P6 16.2
 
A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)
 
Primavera Oracle Cloud Market Place
Primavera Oracle Cloud Market PlacePrimavera Oracle Cloud Market Place
Primavera Oracle Cloud Market Place
 
Oracle Primavera P6 R16.1
Oracle Primavera P6 R16.1Oracle Primavera P6 R16.1
Oracle Primavera P6 R16.1
 
What is Enterprise Resource Planning, SAP and SAP FIORI?
What is Enterprise Resource Planning, SAP and SAP FIORI? What is Enterprise Resource Planning, SAP and SAP FIORI?
What is Enterprise Resource Planning, SAP and SAP FIORI?
 
P6 Release 8 Application Considerations Overview
P6 Release 8 Application Considerations OverviewP6 Release 8 Application Considerations Overview
P6 Release 8 Application Considerations Overview
 
T44u 2015, upgrading to 8
T44u 2015, upgrading to 8T44u 2015, upgrading to 8
T44u 2015, upgrading to 8
 

Andere mochten auch

Testing and Documenting Pragmatic / RESTful Web API
Testing and Documenting Pragmatic / RESTful Web APITesting and Documenting Pragmatic / RESTful Web API
Testing and Documenting Pragmatic / RESTful Web APIArul Kumaran
 
Science Shop Presentation Brussels Dec 2007 4[1]
Science Shop Presentation Brussels Dec 2007 4[1]Science Shop Presentation Brussels Dec 2007 4[1]
Science Shop Presentation Brussels Dec 2007 4[1]Michael Søgaard Jørgensen
 
17 09 2008 Ms Jorgensen Env Mgmt Transnat Product Chains
17 09 2008 Ms Jorgensen Env Mgmt Transnat Product Chains17 09 2008 Ms Jorgensen Env Mgmt Transnat Product Chains
17 09 2008 Ms Jorgensen Env Mgmt Transnat Product ChainsMichael Søgaard Jørgensen
 
Taking Care of The REST - Creating your own RESTful API Server using Restler 2.0
Taking Care of The REST - Creating your own RESTful API Server using Restler 2.0Taking Care of The REST - Creating your own RESTful API Server using Restler 2.0
Taking Care of The REST - Creating your own RESTful API Server using Restler 2.0Arul Kumaran
 
Evaluating and Testing Web APIs
Evaluating and Testing Web APIsEvaluating and Testing Web APIs
Evaluating and Testing Web APIsSmartBear
 

Andere mochten auch (6)

Testing and Documenting Pragmatic / RESTful Web API
Testing and Documenting Pragmatic / RESTful Web APITesting and Documenting Pragmatic / RESTful Web API
Testing and Documenting Pragmatic / RESTful Web API
 
Science Shop Presentation Brussels Dec 2007 4[1]
Science Shop Presentation Brussels Dec 2007 4[1]Science Shop Presentation Brussels Dec 2007 4[1]
Science Shop Presentation Brussels Dec 2007 4[1]
 
17 09 2008 Ms Jorgensen Env Mgmt Transnat Product Chains
17 09 2008 Ms Jorgensen Env Mgmt Transnat Product Chains17 09 2008 Ms Jorgensen Env Mgmt Transnat Product Chains
17 09 2008 Ms Jorgensen Env Mgmt Transnat Product Chains
 
Taking Care of The REST - Creating your own RESTful API Server using Restler 2.0
Taking Care of The REST - Creating your own RESTful API Server using Restler 2.0Taking Care of The REST - Creating your own RESTful API Server using Restler 2.0
Taking Care of The REST - Creating your own RESTful API Server using Restler 2.0
 
Evaluating and Testing Web APIs
Evaluating and Testing Web APIsEvaluating and Testing Web APIs
Evaluating and Testing Web APIs
 
Api testing
Api testingApi testing
Api testing
 

Ähnlich wie Using Titanium for multi-platform development

Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendBuilding iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendAndrew Chalkley
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Curity
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSaspyker
 
DevOps, Kubernetes and Istio
DevOps, Kubernetes and IstioDevOps, Kubernetes and Istio
DevOps, Kubernetes and IstioJohn Jardin
 
Behaviour Driven Development - Cuking the Agile world
Behaviour Driven Development - Cuking the Agile worldBehaviour Driven Development - Cuking the Agile world
Behaviour Driven Development - Cuking the Agile worldGaurav Awasthi
 
2013 ASTD TechKnowledge Case Studies – Aaron Silvers
2013 ASTD TechKnowledge Case Studies – Aaron Silvers2013 ASTD TechKnowledge Case Studies – Aaron Silvers
2013 ASTD TechKnowledge Case Studies – Aaron SilversRustici Software
 
aOS Monaco - SPFx deployment
aOS Monaco - SPFx deploymentaOS Monaco - SPFx deployment
aOS Monaco - SPFx deploymentYannick Borghmans
 
Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Marco Antonio Maciel
 
Getting Started with Splunk Breakout Session
Getting Started with Splunk Breakout SessionGetting Started with Splunk Breakout Session
Getting Started with Splunk Breakout SessionSplunk
 
B3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentB3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentDr. Wilfred Lin (Ph.D.)
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton Araf Karsh Hamid
 
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...DianaGray10
 
How Spinnaker helped us achieve real Continuous Delivery
How Spinnaker helped us achieve real Continuous DeliveryHow Spinnaker helped us achieve real Continuous Delivery
How Spinnaker helped us achieve real Continuous DeliveryAhmed Misbah
 
Automating the management of Akamai properties with Open Source
Automating the management of Akamai properties with Open SourceAutomating the management of Akamai properties with Open Source
Automating the management of Akamai properties with Open Source💻 Javier Garza
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleSimon Haslam
 
NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework Shashikant Jagtap
 
Oracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformOracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformStefan Oehrli
 

Ähnlich wie Using Titanium for multi-platform development (20)

Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendBuilding iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSS
 
TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto
 
DevOps, Kubernetes and Istio
DevOps, Kubernetes and IstioDevOps, Kubernetes and Istio
DevOps, Kubernetes and Istio
 
Behaviour Driven Development - Cuking the Agile world
Behaviour Driven Development - Cuking the Agile worldBehaviour Driven Development - Cuking the Agile world
Behaviour Driven Development - Cuking the Agile world
 
2013 ASTD TechKnowledge Case Studies – Aaron Silvers
2013 ASTD TechKnowledge Case Studies – Aaron Silvers2013 ASTD TechKnowledge Case Studies – Aaron Silvers
2013 ASTD TechKnowledge Case Studies – Aaron Silvers
 
aOS Monaco - SPFx deployment
aOS Monaco - SPFx deploymentaOS Monaco - SPFx deployment
aOS Monaco - SPFx deployment
 
Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)
 
Getting Started with Splunk Breakout Session
Getting Started with Splunk Breakout SessionGetting Started with Splunk Breakout Session
Getting Started with Splunk Breakout Session
 
B3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentB3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_development
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
 
How Spinnaker helped us achieve real Continuous Delivery
How Spinnaker helped us achieve real Continuous DeliveryHow Spinnaker helped us achieve real Continuous Delivery
How Spinnaker helped us achieve real Continuous Delivery
 
Automating the management of Akamai properties with Open Source
Automating the management of Akamai properties with Open SourceAutomating the management of Akamai properties with Open Source
Automating the management of Akamai properties with Open Source
 
SharePoint Apps model overview
SharePoint Apps model overviewSharePoint Apps model overview
SharePoint Apps model overview
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
 
NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework
 
Oracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformOracle Cloud deployment with Terraform
Oracle Cloud deployment with Terraform
 
Building an aruba proof of concept lab javier urtubia
Building an aruba proof of concept lab javier urtubiaBuilding an aruba proof of concept lab javier urtubia
Building an aruba proof of concept lab javier urtubia
 

Mehr von Arul Kumaran

Getting out of Callback Hell in PHP
Getting out of Callback Hell in PHPGetting out of Callback Hell in PHP
Getting out of Callback Hell in PHPArul Kumaran
 
Accelerating Xamarin Development
Accelerating Xamarin DevelopmentAccelerating Xamarin Development
Accelerating Xamarin DevelopmentArul Kumaran
 
iOS Native Development with Xamarin
iOS Native Development with XamariniOS Native Development with Xamarin
iOS Native Development with XamarinArul Kumaran
 
Less Verbose ActionScript 3.0 - Write less and do more!
Less Verbose ActionScript 3.0 - Write less and do more!Less Verbose ActionScript 3.0 - Write less and do more!
Less Verbose ActionScript 3.0 - Write less and do more!Arul Kumaran
 
UI Interactions Testing with FlexMonkey
UI Interactions Testing with FlexMonkeyUI Interactions Testing with FlexMonkey
UI Interactions Testing with FlexMonkeyArul Kumaran
 
Flex Production Tips & Techniques
Flex Production Tips & TechniquesFlex Production Tips & Techniques
Flex Production Tips & TechniquesArul Kumaran
 

Mehr von Arul Kumaran (6)

Getting out of Callback Hell in PHP
Getting out of Callback Hell in PHPGetting out of Callback Hell in PHP
Getting out of Callback Hell in PHP
 
Accelerating Xamarin Development
Accelerating Xamarin DevelopmentAccelerating Xamarin Development
Accelerating Xamarin Development
 
iOS Native Development with Xamarin
iOS Native Development with XamariniOS Native Development with Xamarin
iOS Native Development with Xamarin
 
Less Verbose ActionScript 3.0 - Write less and do more!
Less Verbose ActionScript 3.0 - Write less and do more!Less Verbose ActionScript 3.0 - Write less and do more!
Less Verbose ActionScript 3.0 - Write less and do more!
 
UI Interactions Testing with FlexMonkey
UI Interactions Testing with FlexMonkeyUI Interactions Testing with FlexMonkey
UI Interactions Testing with FlexMonkey
 
Flex Production Tips & Techniques
Flex Production Tips & TechniquesFlex Production Tips & Techniques
Flex Production Tips & Techniques
 

Kürzlich hochgeladen

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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...Martijn de Jong
 
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...Miguel Araújo
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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 Servicegiselly40
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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 RobisonAnna Loughnan Colquhoun
 
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 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
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...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Using Titanium for multi-platform development

  • 1. Using Titanium for multi-platform development Arul Kumaran Twitter: @_Arul | http://blog.luracast.com More Information: Twitter: @appcelerator | http://appcelerator.com BarCamp Singapore 4 1
  • 2. Today’s Presentation • What is Titanium? • Why Titanium? • API Overview • Demos: – Your First Project – Mobile TwitPic Client – The mobile ‘kitchen sink’ •Q&A @_Arul | Arul Kumaran - BarCamp Singapore 4 2
  • 3. An Unlikely Hero • For a decade, web technologies have become one of the world’s most popular client application technology solutions: – Easy to deploy and maintain – Cross platform – Open standards • Warts and all, it’s tough to find a developer who has ZERO experience with these tools @_Arul | Arul Kumaran - BarCamp Singapore 4 3
  • 4. If web apps are so great... ...why are we interested in building native applications at all? Well: – They feel responsive – They leverage platform capabilities • Filesystem I/O • Local Database • Mobile: Camera or Accelerometer – They are or can be ‘always on’ – They can be used offline @_Arul | Arul Kumaran - BarCamp Singapore 4 4
  • 5. But my dev shop has... • An investment in the people, tools, skills, and technology to build web applications • An appreciation for open source and open standards • A need to get market quickly • An aversion to maintaining a codebase per supported platform @_Arul | Arul Kumaran - BarCamp Singapore 4 5
  • 6. If only you could... • Build fully native apps using web technologies you know today • Build cross platform apps from a shared codebase • Use open source software, based on open standards • Find lots of available development talent to build these apps @_Arul | Arul Kumaran - BarCamp Singapore 4 6
  • 7. Enter Titanium Titanium is an open source framework for building native desktop and mobile applications using open web technologies (HTML, CSS, and JavaScript) • Website: http://appcelerator.com • Twitter: http://twitter.com/appcelerator • Source: http://github.com/appcelerator @_Arul | Arul Kumaran - BarCamp Singapore 4 7
  • 8. Platforms? • Desktop: Win32, Mac OS X (Intel), Linux • Mobile: iPhone OS, Android • More to come @_Arul | Arul Kumaran - BarCamp Singapore 4 8
  • 9. License? • Open Source under Apache 2.0 • Commercial training and support services available • More value add services to come (analytics) • Core SDK - always free and open source @_Arul | Arul Kumaran - BarCamp Singapore 4 9
  • 10. Titanium “Sweet Spot” • Data-driven web service clients (Enterprise applications) • Web service mash-ups • Social utilities • Brand affinity • Casual games • Anything requiring cross-platform support @_Arul | Arul Kumaran - BarCamp Singapore 4 10
  • 11. More on Titanium • Web: http://appcelerator.com • Twitter: http://twitter.com/appcelerator • Docs: http://www.codestrong.com • Videos: http://vimeo.com/appcelerator • Source: http://github.com/appcelerator @_Arul | Arul Kumaran - BarCamp Singapore 4 11
  • 12. Desktop Architecture and API Overview @_Arul | Arul Kumaran - BarCamp Singapore 4 12
  • 13. Desktop Architecture @_Arul | Arul Kumaran - BarCamp Singapore 4 13
  • 14. Desktop User Interface • Tray and Dock icons • System Notifications • Application Menus • More @_Arul | Arul Kumaran - BarCamp Singapore 4 14
  • 15. Media • Play bundled or remote sound files • System notification (beep) @_Arul | Arul Kumaran - BarCamp Singapore 4 15
  • 16. Networking • HTTPClient (XHR style object) • Socket level access • Built-in IRC chat client @_Arul | Arul Kumaran - BarCamp Singapore 4 16
  • 17. Database and Filesystem • Write files to the local filesystem • Read files from disk • Read file via drag and drop • Use a synchronous or async database API @_Arul | Arul Kumaran - BarCamp Singapore 4 17
  • 18. Workers • Spin off worker threads • Communicate asynchronously with the worker through a JavaScript API • Offload long running tasks to keep your app responsive @_Arul | Arul Kumaran - BarCamp Singapore 4 18
  • 19. Language Modules • Language modules are optionally included • Full DOM access • Three currently supported modules: – Ruby – Python – PHP @_Arul | Arul Kumaran - BarCamp Singapore 4 19
  • 20. More • Manage/run processes and applications • Take screenshots • Update your application remotely • Get runtime platform data • More at http://codestrong.com/titanium @_Arul | Arul Kumaran - BarCamp Singapore 4 20
  • 21. Mobile Architecture and API Overview @_Arul | Arul Kumaran - BarCamp Singapore 4 21
  • 22. Mobile Architecture @_Arul | Arul Kumaran - BarCamp Singapore 4 22
  • 23. Media Stream or package audio and video content @_Arul | Arul Kumaran - BarCamp Singapore 4 23
  • 24. More Media... Interact with the iPhone or Android built-in cameras @_Arul | Arul Kumaran - BarCamp Singapore 4 24
  • 25. Geo-location Use Geo-location to leverage your user’s position in the world @_Arul | Arul Kumaran - BarCamp Singapore 4 25
  • 26. Accelerometer Use advanced gestures and track movement to create groundbreaking user interfaces @_Arul | Arul Kumaran - BarCamp Singapore 4 26
  • 27. Database and File System Access a SQLite Database (sync or async) and the platform file system @_Arul | Arul Kumaran - BarCamp Singapore 4 27
  • 28. Network XHR-style object for remote data requests. @_Arul | Arul Kumaran - BarCamp Singapore 4 28
  • 29. Native UI Controls Use native controls through a JavaScript interface. @_Arul | Arul Kumaran - BarCamp Singapore 4 29
  • 30. Integrated YQL Support • YQL - A web service aggregator using open tables • Built in to Titanium.Yahoo namespace @_Arul | Arul Kumaran - BarCamp Singapore 4 30
  • 31. Facebook Connect • Facebook Connect module (currently iPhone only) • Currently support for FQL • More on the way @_Arul | Arul Kumaran - BarCamp Singapore 4 31
  • 32. Native iPhone UI • Tab Bar • Nav Bar • Table View • Alert / Options • Group Views / Text • Many More @_Arul | Arul Kumaran - BarCamp Singapore 4 32
  • 33. Native Android UI • Tab Bar • Table View • Alert / Options • Activity Indicator • Notifications • Many More @_Arul | Arul Kumaran - BarCamp Singapore 4 33
  • 34. Common APIs iPhone Table View Android Table View Same Code Creates Both @_Arul | Arul Kumaran - BarCamp Singapore 4 34
  • 35. More APIs • Platform / OS Data • Application Properties • Logging • Scroll and Image Views • Composite Views • More always coming @_Arul | Arul Kumaran - BarCamp Singapore 4 35
  • 36. Still Want More? • Kitchen Sink - Full API Demo • Codestrong.com has Examples and Guides • http://www.codestrong.com/timobile/ samples/ @_Arul | Arul Kumaran - BarCamp Singapore 4 36
  • 37. Titanium Developer •Developer is a Titanium Application •Projects created/managed via Titanium Developer •Titanium Developer deploys code to simulators •Developer also helps with testing and packaging for devices •Requires sign-up for Appcelerator Network (support, e-mail list, other services) @_Arul | Arul Kumaran - BarCamp Singapore 4 37
  • 38. Kicking The Tires • Your first application – Desktop project layout – Mobile project layout • Demos – Mobile TwitPic Client – Mobile: Kitchen Sink @_Arul | Arul Kumaran - BarCamp Singapore 4 38
  • 39. Next Steps • Download: appcelerator.com/download • Hack – Docs/Samples: http://www.codestrong.com – Screencasts: http://vimeo.com/appcelerator • Get Help – http://support.appcelerator.net – IRC Chat - irc.freenode.net / #titanium_app @_Arul | Arul Kumaran - BarCamp Singapore 4 39
  • 40. Questions? @_Arul | Arul Kumaran - BarCamp Singapore 4 40