SlideShare una empresa de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

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

Similar 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
 

Similar 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
 

Más 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
 

Más 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

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
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
 
"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
 
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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 

Último (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
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
 
"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
 
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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 

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