SlideShare a Scribd company logo
1 of 22
Download to read offline
Desktop Applications
Using HTML and JavaScript (and Python and Ruby)



Jeff Haynie
@jhaynie
JEFF HAYNIE

CEO, Appcelerator
Open Source Developer




Twitter: jhaynie
Blog: blog.jeffhaynie.us
Why?

Why would I want to build a desktop application
instead of a web application?
The experience

For the same reasons you’re building a mobile
application instead of running it in the browser
on the device
The user experience
The experience is richer

             Drag and Drop                         Filesystem


                                 Notifications
     True offline

                                                Backgrounding

                   App-to-app interaction
The interaction

Desktop applications typically have deeper
interaction and user affinity
Desktop Development
Windows: Win32 API, MFC, AFC, .NET
Macintosh: Cocoa, Carbon
Linux: GTK+

Cross-platform toolkits:
Java Swing, Eclipse SWT, Mono, GTK+

Adobe AIR *
Why web technologies?
Speed (and thus, cost) of development
Lots of people know them                      Why not?

Great tooling
Lots of libraries
HTML/CSS are good enough for UI
Plenty of online resources, training
Mix of great languages: JavaScript, Python, Ruby
Appcelerator Titanium
• Open source SDK, Tools (Apache)
• Cross-platform (Win32, OSX, Linux)
• Based on WebKit
• Modular and extensible
• Supports JavaScript, Python, Ruby
                                  (more coming)


• http://github.com/marshall/titanium
What about AIR?
• Adobe AIR is a great product
• Different architecture
• Not open source
• Very strong (and rigid) security model
• Mature
• Requires Flash
• Requires pre-installed Runtime
Desktop API
• Filesystem - read, write
• Process - start/stop/control
• UI - menus, trays, drag-drop, etc
• Media - sound, video, camera, mic
• Database - online, offline
• Notifications - user notifications
• Network - robust access and protocols
Titanium Architecture
                                          X495)
                       G"/22)             *22#"1/04.)
                       T<F)                                   >$'B45A)#4/=)89.0($)
    UG<F)                                                     /.=)<4=9#$%)"S).4')#41/#)     >$')
      6V)                                        W44')
                                                                                          ,.%'/##$5)
     CVV)            <4=9#$)
                     </."S$%')                       V'/5')*22#"1/04.)4.1$)89.0($)                F$K$.=)
                                                     /.=)<4=9#$%)25$%$.')                         5$Y9"5$=)
                                                                                                  4204./#)
       *11$%%)(4=9#$%)7"/)6VL)89:&)/.=)+&';4.)

                                                                       G"'/."9()89.0($)/.=)<4=9#$%)

6/7/%15"2')         +#/345()              -,)              <$="/)           +541$%%)        C9%'4()P)

  89:&)            !"#$%&%'$()           *22)            >40?1/04.)        >$'B45A)         C9%'4()Q)

 +&';4.)               *+,)            *./#&01%)          @$%A'42)         <4.A$&)          C9%'4()R)


               C4((4.)D:E$1')F/&$5)                              G;"5=H2/5'&)F":5/5"$%))I$JKJL)M$:N"'O)
Kroll microkernel
• Cross-platform C++
• Small boot kernel which dynamically loads
  modules
• Cross-language, in-process binding
  technology (C++, JS, Ruby, Python)
• All APIs in Titanium are kroll modules
• Separate Github open source project:
 • http://github.com/jhaynie/kroll
You focus on app
• We’ll focus on complexities of packaging,
  installation, updating, analytics, etc
• Apps are packaging in a cross-platform
  specific manner
• Developers control their packaging
• Apps look and feel “native”
Your happy place
• You can use your-favorite-javascript-
  framework
  • JQuery, Dojo, Mootools, Prototype, etc.
  • Capuccino, ExtJS, Entourage, etc.
  • Import existing modules/gems (Py/Ruby)
• Even Flash/Flex, Silverlight (and maybe Java/
  Java FX)
HTML 5 ++
• Database support (we also have Sync DB
  API)
• CSS animation, transitions, gradients
• Custom CSS scrollbars
• Web workers
• Custom Fonts (@font-face)
• SVG
Titanium Apps
• Focus on writing HTML/JavaScript etc
  which runs natively on the desktop
  machine
• Resources are bundled with application and
  are local (but can remotely use resources)
• No cross-domain restrictions (except
  remote resources origin touching Titanium)
• Benefit from shared runtime
  Supports Flash, Silverlight and other plugins
Performance
• Titanium runs on various architectures
  (Intel, PPC, 32-bit, 64-bit)
• Running on EFIKA 5200 B (PPC 128MB)
 • http://www.genesi-usa.com/efika
• Yahoo Sideline port uses 1/4 memory of
  AIR app
• Pandora AIR app pegs CPU at 100%,
  Titanium 8-10%
Demo


• It’s usually easier to demonstrate
Where to get it?

• Download:
 • http://titaniumapp.com/download
• Currently Preview Release 3
• Beta coming very soon
Please talk to me

• Looking for feedback, input and help
• jeff@appcelerator.com
• @jhaynie
• #titanium_app on irc.freenode.net
Big Thanks!

• Thanks to Jonathan Snook for demo code
  and inspiration
• http://snook.ca
• @snookca

More Related Content

Similar to Desktop Applications Using HTML & JavaScript (and Python & Ruby

OSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerOSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerSkills Matter
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileAmazon Web Services Japan
 
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...Rick G. Garibay
 
Android Scripting
Android ScriptingAndroid Scripting
Android ScriptingJuan Gomez
 
Palm Developer Day PhoneGap
Palm Developer Day PhoneGap Palm Developer Day PhoneGap
Palm Developer Day PhoneGap Brian LeRoux
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopmentgillygize
 
Pearson Plug and Play @ Over the Air
Pearson Plug and Play @ Over the AirPearson Plug and Play @ Over the Air
Pearson Plug and Play @ Over the AirDan Murphy
 
cdac@parag.gajbhiye@test123
cdac@parag.gajbhiye@test123cdac@parag.gajbhiye@test123
cdac@parag.gajbhiye@test123Parag Gajbhiye
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp frameworkBob German
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from SingaporeSteve Gill
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016Cisco DevNet
 

Similar to Desktop Applications Using HTML & JavaScript (and Python & Ruby (20)

OSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerOSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle Manager
 
Nodejs - A quick tour (v5)
Nodejs - A quick tour (v5)Nodejs - A quick tour (v5)
Nodejs - A quick tour (v5)
 
Nodejs - A quick tour (v6)
Nodejs - A quick tour (v6)Nodejs - A quick tour (v6)
Nodejs - A quick tour (v6)
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
 
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
 
Android Scripting
Android ScriptingAndroid Scripting
Android Scripting
 
Palm Developer Day PhoneGap
Palm Developer Day PhoneGap Palm Developer Day PhoneGap
Palm Developer Day PhoneGap
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
 
Pearson Plug and Play @ Over the Air
Pearson Plug and Play @ Over the AirPearson Plug and Play @ Over the Air
Pearson Plug and Play @ Over the Air
 
Nodejs - A quick tour (v4)
Nodejs - A quick tour (v4)Nodejs - A quick tour (v4)
Nodejs - A quick tour (v4)
 
cdac@parag.gajbhiye@test123
cdac@parag.gajbhiye@test123cdac@parag.gajbhiye@test123
cdac@parag.gajbhiye@test123
 
Infra@LINE_Chris
Infra@LINE_ChrisInfra@LINE_Chris
Infra@LINE_Chris
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Txjs
TxjsTxjs
Txjs
 
FPGA DESIGN FLOW.pdf
FPGA DESIGN FLOW.pdfFPGA DESIGN FLOW.pdf
FPGA DESIGN FLOW.pdf
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp framework
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from Singapore
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 

More from Axway Appcelerator

Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & RoadmapAxway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & RoadmapAxway Appcelerator
 
2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff Haynie2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff HaynieAxway Appcelerator
 
Stop Debating, Start Measuring
Stop Debating, Start MeasuringStop Debating, Start Measuring
Stop Debating, Start MeasuringAxway Appcelerator
 
Mobile & The New Experience Economy (And What it Means for IT)
Mobile & The New Experience Economy  (And What it Means for IT)Mobile & The New Experience Economy  (And What it Means for IT)
Mobile & The New Experience Economy (And What it Means for IT)Axway Appcelerator
 
Apps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really MeansApps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really MeansAxway Appcelerator
 
Appcelerator Presentation Template
Appcelerator Presentation TemplateAppcelerator Presentation Template
Appcelerator Presentation TemplateAxway Appcelerator
 
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote   jonathan rende, appcelerator's vp of productsCodestrong 2012 keynote   jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote jonathan rende, appcelerator's vp of productsAxway Appcelerator
 
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
Codestrong 2012 keynote   jeff haynie, appcelerator's ceoCodestrong 2012 keynote   jeff haynie, appcelerator's ceo
Codestrong 2012 keynote jeff haynie, appcelerator's ceoAxway Appcelerator
 
Codestrong 2012 keynote how to build a top ten app
Codestrong 2012 keynote   how to build a top ten appCodestrong 2012 keynote   how to build a top ten app
Codestrong 2012 keynote how to build a top ten appAxway Appcelerator
 
Codestrong 2012 breakout session at&t api platform and trends
Codestrong 2012 breakout session  at&t api platform and trendsCodestrong 2012 breakout session  at&t api platform and trends
Codestrong 2012 breakout session at&t api platform and trendsAxway Appcelerator
 
Codestrong 2012 breakout session what's new in titanium studio
Codestrong 2012 breakout session   what's new in titanium studioCodestrong 2012 breakout session   what's new in titanium studio
Codestrong 2012 breakout session what's new in titanium studioAxway Appcelerator
 
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...Axway Appcelerator
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...Axway Appcelerator
 
Codestrong 2012 breakout session new device platform support for titanium
Codestrong 2012 breakout session   new device platform support for titaniumCodestrong 2012 breakout session   new device platform support for titanium
Codestrong 2012 breakout session new device platform support for titaniumAxway Appcelerator
 
Codestrong 2012 breakout session mobile platform and infrastructure
Codestrong 2012 breakout session   mobile platform and infrastructureCodestrong 2012 breakout session   mobile platform and infrastructure
Codestrong 2012 breakout session mobile platform and infrastructureAxway Appcelerator
 
Codestrong 2012 breakout session making money on appcelerator's marketplace
Codestrong 2012 breakout session   making money on appcelerator's marketplaceCodestrong 2012 breakout session   making money on appcelerator's marketplace
Codestrong 2012 breakout session making money on appcelerator's marketplaceAxway Appcelerator
 
Codestrong 2012 breakout session live multi-platform testing
Codestrong 2012 breakout session   live multi-platform testingCodestrong 2012 breakout session   live multi-platform testing
Codestrong 2012 breakout session live multi-platform testingAxway Appcelerator
 
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Codestrong 2012 breakout session   leveraging titanium as part of your mobile...Codestrong 2012 breakout session   leveraging titanium as part of your mobile...
Codestrong 2012 breakout session leveraging titanium as part of your mobile...Axway Appcelerator
 
Codestrong 2012 breakout session i os internals and best practices
Codestrong 2012 breakout session   i os internals and best practicesCodestrong 2012 breakout session   i os internals and best practices
Codestrong 2012 breakout session i os internals and best practicesAxway Appcelerator
 

More from Axway Appcelerator (20)

Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & RoadmapAxway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
 
2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff Haynie2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff Haynie
 
Making the Mobile Mind Shift
Making the Mobile Mind ShiftMaking the Mobile Mind Shift
Making the Mobile Mind Shift
 
Stop Debating, Start Measuring
Stop Debating, Start MeasuringStop Debating, Start Measuring
Stop Debating, Start Measuring
 
Mobile & The New Experience Economy (And What it Means for IT)
Mobile & The New Experience Economy  (And What it Means for IT)Mobile & The New Experience Economy  (And What it Means for IT)
Mobile & The New Experience Economy (And What it Means for IT)
 
Apps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really MeansApps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really Means
 
Appcelerator Presentation Template
Appcelerator Presentation TemplateAppcelerator Presentation Template
Appcelerator Presentation Template
 
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote   jonathan rende, appcelerator's vp of productsCodestrong 2012 keynote   jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
 
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
Codestrong 2012 keynote   jeff haynie, appcelerator's ceoCodestrong 2012 keynote   jeff haynie, appcelerator's ceo
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
 
Codestrong 2012 keynote how to build a top ten app
Codestrong 2012 keynote   how to build a top ten appCodestrong 2012 keynote   how to build a top ten app
Codestrong 2012 keynote how to build a top ten app
 
Codestrong 2012 breakout session at&t api platform and trends
Codestrong 2012 breakout session  at&t api platform and trendsCodestrong 2012 breakout session  at&t api platform and trends
Codestrong 2012 breakout session at&t api platform and trends
 
Codestrong 2012 breakout session what's new in titanium studio
Codestrong 2012 breakout session   what's new in titanium studioCodestrong 2012 breakout session   what's new in titanium studio
Codestrong 2012 breakout session what's new in titanium studio
 
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...
 
Codestrong 2012 breakout session new device platform support for titanium
Codestrong 2012 breakout session   new device platform support for titaniumCodestrong 2012 breakout session   new device platform support for titanium
Codestrong 2012 breakout session new device platform support for titanium
 
Codestrong 2012 breakout session mobile platform and infrastructure
Codestrong 2012 breakout session   mobile platform and infrastructureCodestrong 2012 breakout session   mobile platform and infrastructure
Codestrong 2012 breakout session mobile platform and infrastructure
 
Codestrong 2012 breakout session making money on appcelerator's marketplace
Codestrong 2012 breakout session   making money on appcelerator's marketplaceCodestrong 2012 breakout session   making money on appcelerator's marketplace
Codestrong 2012 breakout session making money on appcelerator's marketplace
 
Codestrong 2012 breakout session live multi-platform testing
Codestrong 2012 breakout session   live multi-platform testingCodestrong 2012 breakout session   live multi-platform testing
Codestrong 2012 breakout session live multi-platform testing
 
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Codestrong 2012 breakout session   leveraging titanium as part of your mobile...Codestrong 2012 breakout session   leveraging titanium as part of your mobile...
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
 
Codestrong 2012 breakout session i os internals and best practices
Codestrong 2012 breakout session   i os internals and best practicesCodestrong 2012 breakout session   i os internals and best practices
Codestrong 2012 breakout session i os internals and best practices
 

Desktop Applications Using HTML & JavaScript (and Python & Ruby

  • 1. Desktop Applications Using HTML and JavaScript (and Python and Ruby) Jeff Haynie @jhaynie
  • 2. JEFF HAYNIE CEO, Appcelerator Open Source Developer Twitter: jhaynie Blog: blog.jeffhaynie.us
  • 3. Why? Why would I want to build a desktop application instead of a web application?
  • 4. The experience For the same reasons you’re building a mobile application instead of running it in the browser on the device
  • 5. The user experience The experience is richer Drag and Drop Filesystem Notifications True offline Backgrounding App-to-app interaction
  • 6. The interaction Desktop applications typically have deeper interaction and user affinity
  • 7. Desktop Development Windows: Win32 API, MFC, AFC, .NET Macintosh: Cocoa, Carbon Linux: GTK+ Cross-platform toolkits: Java Swing, Eclipse SWT, Mono, GTK+ Adobe AIR *
  • 8. Why web technologies? Speed (and thus, cost) of development Lots of people know them Why not? Great tooling Lots of libraries HTML/CSS are good enough for UI Plenty of online resources, training Mix of great languages: JavaScript, Python, Ruby
  • 9. Appcelerator Titanium • Open source SDK, Tools (Apache) • Cross-platform (Win32, OSX, Linux) • Based on WebKit • Modular and extensible • Supports JavaScript, Python, Ruby (more coming) • http://github.com/marshall/titanium
  • 10. What about AIR? • Adobe AIR is a great product • Different architecture • Not open source • Very strong (and rigid) security model • Mature • Requires Flash • Requires pre-installed Runtime
  • 11. Desktop API • Filesystem - read, write • Process - start/stop/control • UI - menus, trays, drag-drop, etc • Media - sound, video, camera, mic • Database - online, offline • Notifications - user notifications • Network - robust access and protocols
  • 12. Titanium Architecture X495) G"/22) *22#"1/04.) T<F) >$'B45A)#4/=)89.0($) UG<F) /.=)<4=9#$%)"S).4')#41/#) >$') 6V) W44') ,.%'/##$5) CVV) <4=9#$) </."S$%') V'/5')*22#"1/04.)4.1$)89.0($) F$K$.=) /.=)<4=9#$%)25$%$.') 5$Y9"5$=) 4204./#) *11$%%)(4=9#$%)7"/)6VL)89:&)/.=)+&';4.) G"'/."9()89.0($)/.=)<4=9#$%) 6/7/%15"2') +#/345() -,) <$="/) +541$%%) C9%'4()P) 89:&) !"#$%&%'$() *22) >40?1/04.) >$'B45A) C9%'4()Q) +&';4.) *+,) *./#&01%) @$%A'42) <4.A$&) C9%'4()R) C4((4.)D:E$1')F/&$5) G;"5=H2/5'&)F":5/5"$%))I$JKJL)M$:N"'O)
  • 13. Kroll microkernel • Cross-platform C++ • Small boot kernel which dynamically loads modules • Cross-language, in-process binding technology (C++, JS, Ruby, Python) • All APIs in Titanium are kroll modules • Separate Github open source project: • http://github.com/jhaynie/kroll
  • 14. You focus on app • We’ll focus on complexities of packaging, installation, updating, analytics, etc • Apps are packaging in a cross-platform specific manner • Developers control their packaging • Apps look and feel “native”
  • 15. Your happy place • You can use your-favorite-javascript- framework • JQuery, Dojo, Mootools, Prototype, etc. • Capuccino, ExtJS, Entourage, etc. • Import existing modules/gems (Py/Ruby) • Even Flash/Flex, Silverlight (and maybe Java/ Java FX)
  • 16. HTML 5 ++ • Database support (we also have Sync DB API) • CSS animation, transitions, gradients • Custom CSS scrollbars • Web workers • Custom Fonts (@font-face) • SVG
  • 17. Titanium Apps • Focus on writing HTML/JavaScript etc which runs natively on the desktop machine • Resources are bundled with application and are local (but can remotely use resources) • No cross-domain restrictions (except remote resources origin touching Titanium) • Benefit from shared runtime Supports Flash, Silverlight and other plugins
  • 18. Performance • Titanium runs on various architectures (Intel, PPC, 32-bit, 64-bit) • Running on EFIKA 5200 B (PPC 128MB) • http://www.genesi-usa.com/efika • Yahoo Sideline port uses 1/4 memory of AIR app • Pandora AIR app pegs CPU at 100%, Titanium 8-10%
  • 19. Demo • It’s usually easier to demonstrate
  • 20. Where to get it? • Download: • http://titaniumapp.com/download • Currently Preview Release 3 • Beta coming very soon
  • 21. Please talk to me • Looking for feedback, input and help • jeff@appcelerator.com • @jhaynie • #titanium_app on irc.freenode.net
  • 22. Big Thanks! • Thanks to Jonathan Snook for demo code and inspiration • http://snook.ca • @snookca