SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
PhoneGap

                           Easy Mobile Apps with JavaScript




Monday, December 7, 2009
THANK YOU!

             > var web = {};
             undefined
             > web.next();
             [”javascript”,”mobile”]




Monday, December 7, 2009
me.
         • github.com/brianleroux
         • twitter.com/brianleroux




                                     3


Monday, December 7, 2009
http://www.gartner.com/it/page.jsp?id=1126812
Monday, December 7, 2009
Mobile app dev is hard.




Monday, December 7, 2009
Device Platform Fragmentation
  Platform                 Language                    Notes

  Apple iPhone             Objective C                 Requires an Apple machine.
                                                       Left arm.

  RIM Blackberry OS        Java                        Requires a Windows based
                                                       machine. WTF.

  Google Android           Java (Dalvik VM)            Runs mostly anywhere.


  Windows Mobile           .NET or unmanaged C++       Requires a Windows based
                                                       machine.

  Nokia Symbian            C++, Java, Python, Flash,   Runs mostly anywhere.
                           WRT

  Palm WebOS               HTML, CSS and JavaScript Runs mostly anywhere.



Monday, December 7, 2009
App Distribution Fragmentation
    Apple App Store 
    Android Market 
    Blackberry App World 
    Nokia Ovi Store 
    GetJar 
    Palm App Catalog 
    Samsung App Store 
    LG Application Store 
    Mobango 
    Sony Ericsson PlayNow 
    Windows Marketplace 
    Vodafone App Store 
    Java App Store 
    Verizon VCast

Monday, December 7, 2009
Dev and distribution nightmare.




Monday, December 7, 2009
This is why the internet works.

                           cross platform
                           open standards
                           open source



Monday, December 7, 2009
Cross Platform iPhone
                           Android
                           Blackberry
                           Windows Mobile
                           Nokia
                           Palm *
                           Maemo*




                                            * releasing VERY soon

Monday, December 7, 2009
HTML5

                            sorta




Monday, December 7, 2009
Webkit APIs

 SQLite
 Cache Manifest
 CSS Transitions / Transforms / Animations
 Custom fonts




Monday, December 7, 2009
PhoneGap API
                           Geolocation
                           Accelerometer
                           Notifications
                           Media playback
                           Camera
                           Device info
                           Contacts
                           Online/Offline
                           SMS / Telephone
                           Magnetometer




Monday, December 7, 2009
Future APIs




                                   File IO
                               WebSocket
                           SQLite Wrapper

Monday, December 7, 2009
Free: as in freedom.

                                MIT Licensed




Monday, December 7, 2009
PhoneGap Philosophy

                           The purpose is to cease to exist.
                           Make the web a first class dev tool.
                           Be open, transparent and free.
                           Adhere to standards when possible.




Monday, December 7, 2009
Sony Ericsson WebSDK




                http://developer.sonyericsson.com/websdk



                                                       17


Monday, December 7, 2009
Yeah way.

       Geolocation
       Accelerometer
       Notifications
       Media playback
       Camera
       Device info
       Contacts
                                       On these devices:
       Online/Offline
       SMS / Telephone                 iPhone / iPod Touch
       Magnetometer                    Android
                                       Blackberry
                                       Nokia
                                       Windows Mobile
                                       Palm webOS

Monday, December 7, 2009
Problems with the PhoneGap project


            documentation
            app store FUD
            no fucking tests
            many webkit variants
            perceived competition
            tooling is not consolidated
            source is a bit of a gong show
            no standard technique for extending the project




Monday, December 7, 2009
docs.phonegap.com
                   http://github.com/phonegap/phonegap-docs 




Monday, December 7, 2009
App Store Rejections?

                              Rename your project.




Monday, December 7, 2009
No fucking tests?!




Monday, December 7, 2009
mobile-spec




Monday, December 7, 2009
Webkit




                                    24


Monday, December 7, 2009
Yay Webkit!


                                     Good!
                                     sqlite
                                     cache manifest
                                     css awesome
                                     custom fontage



Monday, December 7, 2009
Bad *




                           * many variants
                           ** not mozilla
Monday, December 7, 2009
Ugly
                           •   Blackberry less than 4.6 have no XHR

                           •   Windows Mobile runs IE 4

                           •   Or worse: IE 6 + 7




Monday, December 7, 2009
The many flavours of Webkit
   iPhone OS 3.0 Webkit 528.16 Build
   iPhone OS 2.2 Webkit 525.20 Build
   iPhone OS 2.02 Webkit 525.20 Build
   iPhone OS 1.5 Webkit 419.3 Build
   Android 1.5 Webkit Nov 2008 Fork
   Android 1.1 Webkit Rev r30692
   Android 1.0 Webkit
   PalmPre OS Webkit
   Nokia S60 Webkit Fork
   Nokia WRT Webkit Fork




Monday, December 7, 2009
Not to mention what isn't Webkit

     Blackberry 
     Windows Mobile
     .
     .
     .
     .
     .
     .
     .
     ...yet.




Monday, December 7, 2009
The web still rocks.

                           (even if the browsers do not)




Monday, December 7, 2009
Other options?
  Option                   Supported Platforms   Language            License
  BigFive                  iPhone                HTML, CSS and JS    GPL2

  LiquidGear               iPhone                HTML, CSS and JS*   MIT


  Corona                   iPhone                Lua                 Proprietary

  Appcelerator             iPhone                HTML, CSS and JS*   Apache
                           Android

  Rhodes                   iPhone                HTML, CSS and JS. GPL3
                           Symbian               Ruby for native code.
                           Android               Accessed client/server
                           BlackBerry            style.
                           Windows Mobile

  NimbleKit                iPhone                HTML, CSS and JS*   Proprietary

 * Renders native controls via JavaScript.
Monday, December 7, 2009
PhoneGap supported devices

                           http://rubyurl.com/jtNs




                                                     32


Monday, December 7, 2009
Wash, Rinse, Repeat...FAIL

   1. First, install all these:
       o iPhone SDK
       o Android SDK
       o Blackberry SDK
       o Windows Mobile SDK
       o Nokia WRT SDK
   2. Download the PhoneGap source. 
   3. Map to each SDK.
   4. Copy your app into each.
   5. Build for each.
   6. Fix a bug. 
   7. GOTO 3.

 Automation FAIL.
Monday, December 7, 2009
phonegap-dev

                            coming soon...




Monday, December 7, 2009
is demo time nao




Monday, December 7, 2009
Extending PhoneGap

                                 Plugins




Monday, December 7, 2009
Many codebases.
Monday, December 7, 2009
Great but how to get started?

 Small screens.
 Less memory.
 Less CPU.
 Less hard drive space if any.
 Sketchy connectivity.




Monday, December 7, 2009
Constraints == Focus

                                      




Monday, December 7, 2009
JavaScript Sucks

                            (But it is ubiquitous.)




Monday, December 7, 2009
jQuery / Dojo / YUI / MooTools




Monday, December 7, 2009
XUI

                           2.2 kb




Monday, December 7, 2009
XUI + Emile




Monday, December 7, 2009
Good enough.

                           DOM / Event / Style / XHR / FX




Monday, December 7, 2009
What about UI components?

                               




Monday, December 7, 2009
FUCK UI components.


Monday, December 7, 2009
Apps built w/ components look like it.
Monday, December 7, 2009
Solve your unique problem.

                           goals > features




Monday, December 7, 2009
Tapbots, for example.




Monday, December 7, 2009
This is the modern equivalent of
                                 Outlook Express.




            Fuck components. Especially native components.
Monday, December 7, 2009
Solve your unique problem.




            And you will do it better than a generic solution.

Monday, December 7, 2009
Maybe you don't even need native features?

 Use a mobile specific stylesheet.
 Progressive enhancement of functionality w/ js.




Monday, December 7, 2009
The Future




Monday, December 7, 2009
More devices.
Monday, December 7, 2009
OMTP BONDI

                              Spec.




Monday, December 7, 2009
W3C Device API Group




Monday, December 7, 2009
Get involved.
         • code: github.com
         • docs: docs.phonegap.com / wiki.phonegap.com
         • test: mobile-spec

         •   blog about it
         •   tweet about it!
         •   tell your mom about it (I already did)
         •   help on mailing list
                                                      57


Monday, December 7, 2009
Now... go write some apps!*
                     http://phonegap.com
                     http://groups.google.com/group/phonegap


                     Brian LeRoux
                     brian@nitobi.com
                     http://twitter.com/brianleroux
                     * After beers. Ideally at least 12 hours after beers.


Monday, December 7, 2009

Mais conteúdo relacionado

Semelhante a Mobile Web App Development

Brian Le Roux Presentation Introducing Phone Gap
Brian Le Roux Presentation Introducing Phone GapBrian Le Roux Presentation Introducing Phone Gap
Brian Le Roux Presentation Introducing Phone Gap
Ajax Experience 2009
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
Brian LeRoux
 
Developing cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phoneDeveloping cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phone
Colin Eberhardt
 
Owasp App Sec Ireland Windows Phone 7 Security
Owasp App Sec Ireland Windows Phone 7 SecurityOwasp App Sec Ireland Windows Phone 7 Security
Owasp App Sec Ireland Windows Phone 7 Security
Security Ninja
 
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Fred Sauer
 
Widget Workshop Advanced Development
Widget Workshop Advanced DevelopmentWidget Workshop Advanced Development
Widget Workshop Advanced Development
Dominik Helleberg
 
FITC Android for Flashers
FITC Android for FlashersFITC Android for Flashers
FITC Android for Flashers
weyert
 

Semelhante a Mobile Web App Development (20)

Brian Le Roux Presentation Introducing Phone Gap
Brian Le Roux Presentation Introducing Phone GapBrian Le Roux Presentation Introducing Phone Gap
Brian Le Roux Presentation Introducing Phone Gap
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
Developing cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phoneDeveloping cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phone
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web Development
 
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...
Talk by Tomas Lin on Building Killer RIAs with Flex and Grails at the Groovy ...
 
Owasp App Sec Ireland Windows Phone 7 Security
Owasp App Sec Ireland Windows Phone 7 SecurityOwasp App Sec Ireland Windows Phone 7 Security
Owasp App Sec Ireland Windows Phone 7 Security
 
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
 
Widget Workshop Advanced Development
Widget Workshop Advanced DevelopmentWidget Workshop Advanced Development
Widget Workshop Advanced Development
 
Vagrant at LA Ruby
Vagrant at LA RubyVagrant at LA Ruby
Vagrant at LA Ruby
 
Android
AndroidAndroid
Android
 
Google chrome
Google chromeGoogle chrome
Google chrome
 
MinneWebCon 2009 CodeMorphic Hybrid iPhone App Presentation
MinneWebCon 2009 CodeMorphic Hybrid iPhone App PresentationMinneWebCon 2009 CodeMorphic Hybrid iPhone App Presentation
MinneWebCon 2009 CodeMorphic Hybrid iPhone App Presentation
 
FITC Android for Flashers
FITC Android for FlashersFITC Android for Flashers
FITC Android for Flashers
 
Cross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case studyCross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case study
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
 
Native Smartphone Development with Ruby
Native Smartphone Development with RubyNative Smartphone Development with Ruby
Native Smartphone Development with Ruby
 
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für TabletsiEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
 
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für TabletsiEnterprise - Mit HTML5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für Tablets
 
Demoscene, now available in JavaScript flavor
Demoscene, now available in JavaScript flavorDemoscene, now available in JavaScript flavor
Demoscene, now available in JavaScript flavor
 
The Mobile Experience Ecosystem - Towards Personal Mobile Information Archite...
The Mobile Experience Ecosystem - Towards Personal Mobile Information Archite...The Mobile Experience Ecosystem - Towards Personal Mobile Information Archite...
The Mobile Experience Ecosystem - Towards Personal Mobile Information Archite...
 

Mais de Brian LeRoux (13)

Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
Mobeers waterloo-2011
Mobeers waterloo-2011Mobeers waterloo-2011
Mobeers waterloo-2011
 
Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011
 
After HTML5 Mobilism 2011
After HTML5 Mobilism 2011After HTML5 Mobilism 2011
After HTML5 Mobilism 2011
 
Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US
 
Fullfrontal 2010
Fullfrontal 2010Fullfrontal 2010
Fullfrontal 2010
 
Txjs
TxjsTxjs
Txjs
 
Palm Developer Day PhoneGap
Palm Developer Day PhoneGap Palm Developer Day PhoneGap
Palm Developer Day PhoneGap
 
Scurvyconf
ScurvyconfScurvyconf
Scurvyconf
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
Mobile JavaScript
Mobile JavaScriptMobile JavaScript
Mobile JavaScript
 
Phonegap 1.0
Phonegap 1.0Phonegap 1.0
Phonegap 1.0
 
PhoneGap at JSConf
PhoneGap at JSConfPhoneGap at JSConf
PhoneGap at JSConf
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Mobile Web App Development

  • 1. PhoneGap Easy Mobile Apps with JavaScript Monday, December 7, 2009
  • 2. THANK YOU! > var web = {}; undefined > web.next(); [”javascript”,”mobile”] Monday, December 7, 2009
  • 3. me. • github.com/brianleroux • twitter.com/brianleroux 3 Monday, December 7, 2009
  • 5. Mobile app dev is hard. Monday, December 7, 2009
  • 6. Device Platform Fragmentation Platform Language Notes Apple iPhone Objective C Requires an Apple machine. Left arm. RIM Blackberry OS Java  Requires a Windows based machine. WTF. Google Android Java (Dalvik VM) Runs mostly anywhere. Windows Mobile .NET or unmanaged C++ Requires a Windows based machine. Nokia Symbian C++, Java, Python, Flash, Runs mostly anywhere. WRT Palm WebOS HTML, CSS and JavaScript Runs mostly anywhere. Monday, December 7, 2009
  • 7. App Distribution Fragmentation Apple App Store  Android Market  Blackberry App World  Nokia Ovi Store  GetJar  Palm App Catalog  Samsung App Store  LG Application Store  Mobango  Sony Ericsson PlayNow  Windows Marketplace  Vodafone App Store  Java App Store  Verizon VCast Monday, December 7, 2009
  • 8. Dev and distribution nightmare. Monday, December 7, 2009
  • 9. This is why the internet works. cross platform open standards open source Monday, December 7, 2009
  • 10. Cross Platform iPhone Android Blackberry Windows Mobile Nokia Palm * Maemo* * releasing VERY soon Monday, December 7, 2009
  • 11. HTML5 sorta Monday, December 7, 2009
  • 12. Webkit APIs SQLite Cache Manifest CSS Transitions / Transforms / Animations Custom fonts Monday, December 7, 2009
  • 13. PhoneGap API Geolocation Accelerometer Notifications Media playback Camera Device info Contacts Online/Offline SMS / Telephone Magnetometer Monday, December 7, 2009
  • 14. Future APIs File IO WebSocket SQLite Wrapper Monday, December 7, 2009
  • 15. Free: as in freedom. MIT Licensed Monday, December 7, 2009
  • 16. PhoneGap Philosophy The purpose is to cease to exist. Make the web a first class dev tool. Be open, transparent and free. Adhere to standards when possible. Monday, December 7, 2009
  • 17. Sony Ericsson WebSDK http://developer.sonyericsson.com/websdk 17 Monday, December 7, 2009
  • 18. Yeah way. Geolocation Accelerometer Notifications Media playback Camera Device info Contacts On these devices: Online/Offline SMS / Telephone iPhone / iPod Touch Magnetometer Android Blackberry Nokia Windows Mobile Palm webOS Monday, December 7, 2009
  • 19. Problems with the PhoneGap project documentation app store FUD no fucking tests many webkit variants perceived competition tooling is not consolidated source is a bit of a gong show no standard technique for extending the project Monday, December 7, 2009
  • 20. docs.phonegap.com  http://github.com/phonegap/phonegap-docs  Monday, December 7, 2009
  • 21. App Store Rejections? Rename your project. Monday, December 7, 2009
  • 22. No fucking tests?! Monday, December 7, 2009
  • 24. Webkit 24 Monday, December 7, 2009
  • 25. Yay Webkit! Good! sqlite cache manifest css awesome custom fontage Monday, December 7, 2009
  • 26. Bad * * many variants ** not mozilla Monday, December 7, 2009
  • 27. Ugly • Blackberry less than 4.6 have no XHR • Windows Mobile runs IE 4 • Or worse: IE 6 + 7 Monday, December 7, 2009
  • 28. The many flavours of Webkit iPhone OS 3.0 Webkit 528.16 Build iPhone OS 2.2 Webkit 525.20 Build iPhone OS 2.02 Webkit 525.20 Build iPhone OS 1.5 Webkit 419.3 Build Android 1.5 Webkit Nov 2008 Fork Android 1.1 Webkit Rev r30692 Android 1.0 Webkit PalmPre OS Webkit Nokia S60 Webkit Fork Nokia WRT Webkit Fork Monday, December 7, 2009
  • 29. Not to mention what isn't Webkit Blackberry  Windows Mobile . . . . . . . ...yet. Monday, December 7, 2009
  • 30. The web still rocks. (even if the browsers do not) Monday, December 7, 2009
  • 31. Other options? Option Supported Platforms Language License BigFive iPhone HTML, CSS and JS GPL2 LiquidGear iPhone HTML, CSS and JS* MIT Corona iPhone Lua Proprietary Appcelerator iPhone HTML, CSS and JS* Apache Android Rhodes iPhone HTML, CSS and JS. GPL3 Symbian Ruby for native code. Android Accessed client/server BlackBerry style. Windows Mobile NimbleKit iPhone HTML, CSS and JS* Proprietary * Renders native controls via JavaScript. Monday, December 7, 2009
  • 32. PhoneGap supported devices http://rubyurl.com/jtNs 32 Monday, December 7, 2009
  • 33. Wash, Rinse, Repeat...FAIL 1. First, install all these: o iPhone SDK o Android SDK o Blackberry SDK o Windows Mobile SDK o Nokia WRT SDK 2. Download the PhoneGap source.  3. Map to each SDK. 4. Copy your app into each. 5. Build for each. 6. Fix a bug.  7. GOTO 3. Automation FAIL. Monday, December 7, 2009
  • 34. phonegap-dev coming soon... Monday, December 7, 2009
  • 35. is demo time nao Monday, December 7, 2009
  • 36. Extending PhoneGap Plugins Monday, December 7, 2009
  • 38. Great but how to get started? Small screens. Less memory. Less CPU. Less hard drive space if any. Sketchy connectivity. Monday, December 7, 2009
  • 39. Constraints == Focus   Monday, December 7, 2009
  • 40. JavaScript Sucks (But it is ubiquitous.) Monday, December 7, 2009
  • 41. jQuery / Dojo / YUI / MooTools Monday, December 7, 2009
  • 42. XUI 2.2 kb Monday, December 7, 2009
  • 43. XUI + Emile Monday, December 7, 2009
  • 44. Good enough. DOM / Event / Style / XHR / FX Monday, December 7, 2009
  • 45. What about UI components?   Monday, December 7, 2009
  • 46. FUCK UI components. Monday, December 7, 2009
  • 47. Apps built w/ components look like it. Monday, December 7, 2009
  • 48. Solve your unique problem. goals > features Monday, December 7, 2009
  • 49. Tapbots, for example. Monday, December 7, 2009
  • 50. This is the modern equivalent of Outlook Express. Fuck components. Especially native components. Monday, December 7, 2009
  • 51. Solve your unique problem. And you will do it better than a generic solution. Monday, December 7, 2009
  • 52. Maybe you don't even need native features? Use a mobile specific stylesheet. Progressive enhancement of functionality w/ js. Monday, December 7, 2009
  • 55. OMTP BONDI Spec. Monday, December 7, 2009
  • 56. W3C Device API Group Monday, December 7, 2009
  • 57. Get involved. • code: github.com • docs: docs.phonegap.com / wiki.phonegap.com • test: mobile-spec • blog about it • tweet about it! • tell your mom about it (I already did) • help on mailing list 57 Monday, December 7, 2009
  • 58. Now... go write some apps!* http://phonegap.com http://groups.google.com/group/phonegap Brian LeRoux brian@nitobi.com http://twitter.com/brianleroux * After beers. Ideally at least 12 hours after beers. Monday, December 7, 2009