SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Último (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

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