SlideShare a Scribd company logo
1 of 35
Brian LeRoux, Nitobi
The Road to PhoneGap 1.0

phonegap.com
nitobi.com

brian@nitobi.com

twitter.com/brianleroux
brianleroux.github.com
westcoastlogic.com
etc.
Nitobi Software
 ‣   Founded in 1998
 ‣   15 employees
 ‣   Based in Vancouver, BC (Gastown)
 ‣   ^---Canada, eh.
 ‣   Early player in JavaScript, Ajax, AIR,
     Mobile web



                          Brian LeRoux / Nitobi Software / PhoneGap
<3 JavaScript Esp.<3 FOSS
 ‣   CompleteUI
 ‣   PhoneGap




                  Brian LeRoux / Nitobi Software / PhoneGap
Here’s the thing...
    Platform          Language                  Awesome
     iPhone          Objective C             Not so much.
    Android        Java (Dalvik VM)                  Ok.
   Blackberry     Java (Who knows.)             Bad scene.

 Windows Mobile   .NET and/or C++                Nuff said.

     Nokia         C++, Java, Flash        Sorta cool right?
                    Lite, Web tech
      Palm           HTML. CSS.                   Exactly.
                      JavaScript.


                              Brian LeRoux / Nitobi Software / PhoneGap
We’ve seen this before...
 ‣   History is repeating itself.
 ‣   Platforms causing fragmentation.
 ‣   Who will save us?!




                           Brian LeRoux / Nitobi Software / PhoneGap
Stand back! I know javascript.




                                 Brian LeRoux / Nitobi Software / PhoneGap
PhoneGap is Web Dev
 ‣   with native api access
 ‣   web technology: html, css and
     javascript




                         Brian LeRoux / Nitobi Software / PhoneGap
Our philosophy
 ‣   The purpose of PhoneGap is for
     PhoneGap to cease to exist.




                         Brian LeRoux / Nitobi Software / PhoneGap
In plain english

  Problem: too many devices, platforms and stores.
  Solution: enable web developers.


   • Cross Platform
   • Open Standards
   • Open Source

                            Brian LeRoux / Nitobi Software / PhoneGap
Why?




       Brian LeRoux / Nitobi Software / PhoneGap
One last time
 ‣   We are here to bring the web to native
     devices not the other way around
 ‣   We are going to adhere to open
     standards whenever possible
 ‣   The entire project stack is to remain
     completely open source




                          Brian LeRoux / Nitobi Software / PhoneGap
PhoneGap Risks
 ‣   API still evolving and the Roadmap is unclear.
 ‣   Documentation is terrible and divisive.
 ‣   Competition?
 ‣   App store rejection FUD.
 ‣   Which webkit?
 ‣   Tooling is not consolidated.
 ‣   No fucking tests!
 ‣   No plugin architecture.
 ‣   The source tree is a mess.
 ‣   No defined roles, incentives, timelines for contributers.




                                               Brian LeRoux / Nitobi Software / PhoneGap
API
 ‣   users do not easily know what is going
     on on which device
 ‣   a hourly test page output would fix this
 ‣   whats next for phonegap?
 ‣   how do we plan features?
 ‣   (hint: not implmented)



                          Brian LeRoux / Nitobi Software / PhoneGap
Docs
 ‣   complete fail
 ‣   we need: examples, quickstarts,
     advanced usage, official blog, api docs
     and how to contribute tutorials




                          Brian LeRoux / Nitobi Software / PhoneGap
PhoneGap “Competition”

    bigfive         iphone               web                gpl2

  liquidgear       iphone               web?                mit

   corona          iphone                lua          proprietary
                                                      proprietary/
 appcelerator   iphone/android          web?
                                                        apache
   rhodes       iphone/android          ruby               gpl3

  nimblekit        iphone               web?          proprietary


                             Brian LeRoux / Nitobi Software / PhoneGap
Don’t be fooled

 ‣   Lockin is not a goal of phonegap.




                         Brian LeRoux / Nitobi Software / PhoneGap
Rejection Letters
 ‣   the drama was nice
 ‣   but it was a symptom of our own
     failure not Apple’s
 ‣   need to have a unified build process
     across devices that performs project
     naming and obfuscation built in




                          Brian LeRoux / Nitobi Software / PhoneGap
Which Webkit?
 ‣   we need to document the differences
     between our platforms
 ‣   needs to be accessible to all users
     quickly
 ‣   should give warnings during unified
     build process
 ‣   sounds a whole lot like CI


                          Brian LeRoux / Nitobi Software / PhoneGap
Tooling not consolidated
 ‣   You need to download Palm, Android,
     iPhone, BlackBerry SDK's...
 ‣   Then you need to learn how to build
     for each on individually...
 ‣   Then resolve each x-platform issue...
 ‣   Repeat?!
 ‣   automation FAIL

                         Brian LeRoux / Nitobi Software / PhoneGap
Testing
 ‣   the JavaScript API needs tests
 ‣   (src for impls too but thats not as
     important b/c thats not our
     abstraction remember)
 ‣   I wrote the basis for this months ago ;)
 ‣   We need a continuous integration
     server showing the results online all
     the time

                          Brian LeRoux / Nitobi Software / PhoneGap
Plugins
 ‣   native apis that don't fit our web-iful
     world view
 ‣   so simple to do!
 ‣   we need a leader for this
 ‣   Possibly an official 3rd party site?




                           Brian LeRoux / Nitobi Software / PhoneGap
Source is a mess
 ‣   lots to say about it but suffice to say
     first time user is going to be FUCKED
     trying to navigate this
 ‣   needs to be solved TODAY by us all
 ‣   later.




                           Brian LeRoux / Nitobi Software / PhoneGap
Roles
 ‣   We’re serious about recognizing
     contribution.
 ‣   Projects concerned with problem
     areas/risks instead of specific tech.




                          Brian LeRoux / Nitobi Software / PhoneGap
PhoneGap Projects
 ‣   Everyone: source tree organization review w/ team
 ‣   mobile-spec
 ‣   phonegap-doc
 ‣   phonegap-dev
 ‣   phonegap-install
 ‣   Plugin Project




                               Brian LeRoux / Nitobi Software / PhoneGap
How do we organize?
 ‣   Separate projects.
 ‣   Separate source.
 ‣   Separate issue trackers.




                          Brian LeRoux / Nitobi Software / PhoneGap
Timing
 ‣   Starts immediately.
 ‣   Friday Afternoon PhoneGap Hackdays
     2pm - ?
 ‣   Its ready when its ready!




                           Brian LeRoux / Nitobi Software / PhoneGap
PhoneGap 1.0 (proposed)
 ‣   Installer/Updater of SDK
 ‣   New Docs Online
 ‣   CI Running
 ‣   Unified Build Process in place
 ‣   Plugin Website




                          Brian LeRoux / Nitobi Software / PhoneGap
Installer Project
 ‣   Single click install
 ‣   Everything a dev needs in one package
     including SDK’s
 ‣   Updating




                            Brian LeRoux / Nitobi Software / PhoneGap
Docs Project
 ‣   One simple example app
 ‣   Quickstarts for each feature
 ‣   Advanced Usage tutorial w/ XUI
 ‣   Searchable and styled API docs
 ‣   Offline API doc in PDF form
 ‣   How to Contribute tutorial
 ‣   Official Blog w/ one post a week
                         Brian LeRoux / Nitobi Software / PhoneGap
Continuous Integration
 ‣   Single suite of tests for the JS API
 ‣   Runs hourly and online
 ‣   Packaged w/ the SDK
 ‣   Separate project will be useful for our
     ‘competition’




                           Brian LeRoux / Nitobi Software / PhoneGap
Unified Build Process
 ‣   One click and I get three binaries:
     iPhone, Android, BB from one www
     folder.
 ‣   Thats it! So simple! ;)




                           Brian LeRoux / Nitobi Software / PhoneGap
Plugins
 ‣   Need to define an API for this
 ‣   Would be nice if it was mirrored in JS
     so plugins could be 100% web
 ‣   More important than any other Android
     or iPhone feature.
 ‣   Need a repo and separate site for
     listing plugins.


                          Brian LeRoux / Nitobi Software / PhoneGap
On the Horizon
 ‣   Palm, WRT and WinMo
 ‣   Bondi and Widgets




                         Brian LeRoux / Nitobi Software / PhoneGap
PhoneGap Touring
 ‣   OSCON
 ‣   FITC
 ‣   Ajax Experience
 ‣   Adobe Max




                       Brian LeRoux / Nitobi Software / PhoneGap
one last thing

 ‣   Browsers are already making PhoneGap
     obsolete.
 ‣   Which means we're winning.
 ‣   Real artists ship. Here’s to 1.0!




                           Brian LeRoux / Nitobi Software / PhoneGap

More Related Content

What's hot

Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapPrajyot Mainkar
 
Code analysis for a better future
Code analysis for a better futureCode analysis for a better future
Code analysis for a better futuregilforcada
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapQuang Minh Dao
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRamesh Nair
 
How to Choose a Programming Language
How to Choose a Programming LanguageHow to Choose a Programming Language
How to Choose a Programming LanguageThinkful
 
PhoneGap - Now and the Future
PhoneGap - Now and the FuturePhoneGap - Now and the Future
PhoneGap - Now and the FutureTim Kim
 
From DevOps to GitOps with GitLab
From DevOps to GitOps with GitLabFrom DevOps to GitOps with GitLab
From DevOps to GitOps with GitLabChen Cheng-Wei
 
A New Era for Animators
A New Era for AnimatorsA New Era for Animators
A New Era for AnimatorsFITC
 
Phonegap
PhonegapPhonegap
PhonegapTim Kim
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppRyo Jin
 
DEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# DevelopersDEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# DevelopersJames Montemagno
 
Open Sourcing the Secret Sauce
Open Sourcing the Secret SauceOpen Sourcing the Secret Sauce
Open Sourcing the Secret SauceFITC
 
Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?Vinicius Quaiato
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsShashikant Jagtap
 
Full Matrix Auto Test Framework for WebRTC
Full Matrix Auto Test Framework for WebRTCFull Matrix Auto Test Framework for WebRTC
Full Matrix Auto Test Framework for WebRTCKensaku Komatsu
 
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012Fabrice Bernhard
 

What's hot (20)

Beyond QA
Beyond QABeyond QA
Beyond QA
 
Phonegap
PhonegapPhonegap
Phonegap
 
Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGap
 
Code analysis for a better future
Code analysis for a better futureCode analysis for a better future
Code analysis for a better future
 
Building mobile apps using Phonegap
Building mobile apps using PhonegapBuilding mobile apps using Phonegap
Building mobile apps using Phonegap
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
How to Choose a Programming Language
How to Choose a Programming LanguageHow to Choose a Programming Language
How to Choose a Programming Language
 
PhoneGap - Now and the Future
PhoneGap - Now and the FuturePhoneGap - Now and the Future
PhoneGap - Now and the Future
 
From DevOps to GitOps with GitLab
From DevOps to GitOps with GitLabFrom DevOps to GitOps with GitLab
From DevOps to GitOps with GitLab
 
A New Era for Animators
A New Era for AnimatorsA New Era for Animators
A New Era for Animators
 
Phonegap
PhonegapPhonegap
Phonegap
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
 
Hybrid HTML5 Apps
Hybrid HTML5 AppsHybrid HTML5 Apps
Hybrid HTML5 Apps
 
DEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# DevelopersDEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# Developers
 
Open Sourcing the Secret Sauce
Open Sourcing the Secret SauceOpen Sourcing the Secret Sauce
Open Sourcing the Secret Sauce
 
Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS Apps
 
Full Matrix Auto Test Framework for WebRTC
Full Matrix Auto Test Framework for WebRTCFull Matrix Auto Test Framework for WebRTC
Full Matrix Auto Test Framework for WebRTC
 
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
 

Viewers also liked

Music of the 20th century tivoli
Music of the 20th century tivoliMusic of the 20th century tivoli
Music of the 20th century tivoliSauyo High School
 
Creating and Distributing Mobile Web Applications with PhoneGap
Creating and Distributing Mobile Web Applications with PhoneGapCreating and Distributing Mobile Web Applications with PhoneGap
Creating and Distributing Mobile Web Applications with PhoneGapJames Pearce
 
Ingredients for a succesful marriage copy
Ingredients for a succesful marriage   copyIngredients for a succesful marriage   copy
Ingredients for a succesful marriage copySauyo High School
 
Introduction to SQL Server Security
Introduction to SQL Server SecurityIntroduction to SQL Server Security
Introduction to SQL Server SecurityJason Strate
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
Intro to rubric
Intro to rubricIntro to rubric
Intro to rubricsaitjbp
 
App程式上架google play流程
App程式上架google play流程App程式上架google play流程
App程式上架google play流程newegg
 
Ensuring Quality in Education
Ensuring Quality in EducationEnsuring Quality in Education
Ensuring Quality in Educationsaitjbp
 
Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)ejlp12
 
Smart Home Automation System ALAYOUBI TECHNOLOGIES
Smart Home Automation System ALAYOUBI TECHNOLOGIESSmart Home Automation System ALAYOUBI TECHNOLOGIES
Smart Home Automation System ALAYOUBI TECHNOLOGIESمهند محمد أيوب
 
Smart Home Tech Short
Smart Home Tech ShortSmart Home Tech Short
Smart Home Tech Shortchowfei
 
TOT دورة تدريب مدربين
TOT دورة  تدريب مدربينTOT دورة  تدريب مدربين
TOT دورة تدريب مدربينAhmed Al-Shamy
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSRyan Stewart
 
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
 
Smart Home technologies
Smart Home technologiesSmart Home technologies
Smart Home technologiesloggcity
 

Viewers also liked (20)

Music of the 20th century tivoli
Music of the 20th century tivoliMusic of the 20th century tivoli
Music of the 20th century tivoli
 
Creating and Distributing Mobile Web Applications with PhoneGap
Creating and Distributing Mobile Web Applications with PhoneGapCreating and Distributing Mobile Web Applications with PhoneGap
Creating and Distributing Mobile Web Applications with PhoneGap
 
Ingredients for a succesful marriage copy
Ingredients for a succesful marriage   copyIngredients for a succesful marriage   copy
Ingredients for a succesful marriage copy
 
كيفية الاستيراد من الصين
كيفية الاستيراد من الصين كيفية الاستيراد من الصين
كيفية الاستيراد من الصين
 
Sql Server Security Best Practices
Sql Server Security Best PracticesSql Server Security Best Practices
Sql Server Security Best Practices
 
Introduction to SQL Server Security
Introduction to SQL Server SecurityIntroduction to SQL Server Security
Introduction to SQL Server Security
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Intro to rubric
Intro to rubricIntro to rubric
Intro to rubric
 
Smart home presentation
Smart home presentationSmart home presentation
Smart home presentation
 
App程式上架google play流程
App程式上架google play流程App程式上架google play流程
App程式上架google play流程
 
Ensuring Quality in Education
Ensuring Quality in EducationEnsuring Quality in Education
Ensuring Quality in Education
 
Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)
 
Smart Home Automation System ALAYOUBI TECHNOLOGIES
Smart Home Automation System ALAYOUBI TECHNOLOGIESSmart Home Automation System ALAYOUBI TECHNOLOGIES
Smart Home Automation System ALAYOUBI TECHNOLOGIES
 
Smart Home Tech Short
Smart Home Tech ShortSmart Home Tech Short
Smart Home Tech Short
 
TOT دورة تدريب مدربين
TOT دورة  تدريب مدربينTOT دورة  تدريب مدربين
TOT دورة تدريب مدربين
 
Rubric
RubricRubric
Rubric
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JS
 
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
 
Smart Home technologies
Smart Home technologiesSmart Home technologies
Smart Home technologies
 
Smart homes
Smart homesSmart homes
Smart homes
 

Similar to Phonegap 1.0

PhoneGap at JSConf
PhoneGap at JSConfPhoneGap at JSConf
PhoneGap at JSConfBrian LeRoux
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapQuang Minh Dao
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRaymond Camden
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampMihai Corlan
 
Georges Chitiga - Introduction to Phonegap - HTML5 & JS to native mobile app
Georges Chitiga - Introduction to Phonegap - HTML5 & JS to native mobile appGeorges Chitiga - Introduction to Phonegap - HTML5 & JS to native mobile app
Georges Chitiga - Introduction to Phonegap - HTML5 & JS to native mobile appCodecamp Romania
 
Mobile for PHP developers
Mobile for PHP developersMobile for PHP developers
Mobile for PHP developersIvo Jansch
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Developmentthedumbterminal
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Phone gap in android technology
Phone gap in android technologyPhone gap in android technology
Phone gap in android technologyVikrant Thakare
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web AppLocNguyen362
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGapMihai Corlan
 
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 phoneColin Eberhardt
 

Similar to Phonegap 1.0 (20)

PhoneGap at JSConf
PhoneGap at JSConfPhoneGap at JSConf
PhoneGap at JSConf
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Phonegap
PhonegapPhonegap
Phonegap
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
 
Georges Chitiga - Introduction to Phonegap - HTML5 & JS to native mobile app
Georges Chitiga - Introduction to Phonegap - HTML5 & JS to native mobile appGeorges Chitiga - Introduction to Phonegap - HTML5 & JS to native mobile app
Georges Chitiga - Introduction to Phonegap - HTML5 & JS to native mobile app
 
Mobile for PHP developers
Mobile for PHP developersMobile for PHP developers
Mobile for PHP developers
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Development
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
What is PhoneGap?
What is PhoneGap?What is PhoneGap?
What is PhoneGap?
 
The future is hybrid
The future is hybridThe future is hybrid
The future is hybrid
 
Phone gap in android technology
Phone gap in android technologyPhone gap in android technology
Phone gap in android technology
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
Webapi
WebapiWebapi
Webapi
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
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
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 

More from Brian LeRoux

Mobeers waterloo-2011
Mobeers waterloo-2011Mobeers waterloo-2011
Mobeers waterloo-2011Brian LeRoux
 
Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Brian LeRoux
 
After HTML5 Mobilism 2011
After HTML5 Mobilism 2011After HTML5 Mobilism 2011
After HTML5 Mobilism 2011Brian LeRoux
 
Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US Brian LeRoux
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for EngineersBrian LeRoux
 
Palm Developer Day PhoneGap
Palm Developer Day PhoneGap Palm Developer Day PhoneGap
Palm Developer Day PhoneGap Brian LeRoux
 
Mobile Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App DevelopmentBrian LeRoux
 

More from Brian LeRoux (14)

Mobeers waterloo-2011
Mobeers waterloo-2011Mobeers waterloo-2011
Mobeers waterloo-2011
 
Phonegap 2.x
Phonegap 2.xPhonegap 2.x
Phonegap 2.x
 
TxJS 2011
TxJS 2011TxJS 2011
TxJS 2011
 
Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Falsy Values - Warsaw 2011
Falsy Values - Warsaw 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
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
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 Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App Development
 
Mobile JavaScript
Mobile JavaScriptMobile JavaScript
Mobile JavaScript
 

Recently uploaded

ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideStefan Dietze
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 

Recently uploaded (20)

ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 

Phonegap 1.0

  • 1. Brian LeRoux, Nitobi The Road to PhoneGap 1.0 phonegap.com nitobi.com brian@nitobi.com twitter.com/brianleroux brianleroux.github.com westcoastlogic.com etc.
  • 2. Nitobi Software ‣ Founded in 1998 ‣ 15 employees ‣ Based in Vancouver, BC (Gastown) ‣ ^---Canada, eh. ‣ Early player in JavaScript, Ajax, AIR, Mobile web Brian LeRoux / Nitobi Software / PhoneGap
  • 3. <3 JavaScript Esp.<3 FOSS ‣ CompleteUI ‣ PhoneGap Brian LeRoux / Nitobi Software / PhoneGap
  • 4. Here’s the thing... Platform Language Awesome iPhone Objective C Not so much. Android Java (Dalvik VM) Ok. Blackberry Java (Who knows.) Bad scene. Windows Mobile .NET and/or C++ Nuff said. Nokia C++, Java, Flash Sorta cool right? Lite, Web tech Palm HTML. CSS. Exactly. JavaScript. Brian LeRoux / Nitobi Software / PhoneGap
  • 5. We’ve seen this before... ‣ History is repeating itself. ‣ Platforms causing fragmentation. ‣ Who will save us?! Brian LeRoux / Nitobi Software / PhoneGap
  • 6. Stand back! I know javascript. Brian LeRoux / Nitobi Software / PhoneGap
  • 7. PhoneGap is Web Dev ‣ with native api access ‣ web technology: html, css and javascript Brian LeRoux / Nitobi Software / PhoneGap
  • 8. Our philosophy ‣ The purpose of PhoneGap is for PhoneGap to cease to exist. Brian LeRoux / Nitobi Software / PhoneGap
  • 9. In plain english Problem: too many devices, platforms and stores. Solution: enable web developers. • Cross Platform • Open Standards • Open Source Brian LeRoux / Nitobi Software / PhoneGap
  • 10. Why? Brian LeRoux / Nitobi Software / PhoneGap
  • 11. One last time ‣ We are here to bring the web to native devices not the other way around ‣ We are going to adhere to open standards whenever possible ‣ The entire project stack is to remain completely open source Brian LeRoux / Nitobi Software / PhoneGap
  • 12. PhoneGap Risks ‣ API still evolving and the Roadmap is unclear. ‣ Documentation is terrible and divisive. ‣ Competition? ‣ App store rejection FUD. ‣ Which webkit? ‣ Tooling is not consolidated. ‣ No fucking tests! ‣ No plugin architecture. ‣ The source tree is a mess. ‣ No defined roles, incentives, timelines for contributers. Brian LeRoux / Nitobi Software / PhoneGap
  • 13. API ‣ users do not easily know what is going on on which device ‣ a hourly test page output would fix this ‣ whats next for phonegap? ‣ how do we plan features? ‣ (hint: not implmented) Brian LeRoux / Nitobi Software / PhoneGap
  • 14. Docs ‣ complete fail ‣ we need: examples, quickstarts, advanced usage, official blog, api docs and how to contribute tutorials Brian LeRoux / Nitobi Software / PhoneGap
  • 15. PhoneGap “Competition” bigfive iphone web gpl2 liquidgear iphone web? mit corona iphone lua proprietary proprietary/ appcelerator iphone/android web? apache rhodes iphone/android ruby gpl3 nimblekit iphone web? proprietary Brian LeRoux / Nitobi Software / PhoneGap
  • 16. Don’t be fooled ‣ Lockin is not a goal of phonegap. Brian LeRoux / Nitobi Software / PhoneGap
  • 17. Rejection Letters ‣ the drama was nice ‣ but it was a symptom of our own failure not Apple’s ‣ need to have a unified build process across devices that performs project naming and obfuscation built in Brian LeRoux / Nitobi Software / PhoneGap
  • 18. Which Webkit? ‣ we need to document the differences between our platforms ‣ needs to be accessible to all users quickly ‣ should give warnings during unified build process ‣ sounds a whole lot like CI Brian LeRoux / Nitobi Software / PhoneGap
  • 19. Tooling not consolidated ‣ You need to download Palm, Android, iPhone, BlackBerry SDK's... ‣ Then you need to learn how to build for each on individually... ‣ Then resolve each x-platform issue... ‣ Repeat?! ‣ automation FAIL Brian LeRoux / Nitobi Software / PhoneGap
  • 20. Testing ‣ the JavaScript API needs tests ‣ (src for impls too but thats not as important b/c thats not our abstraction remember) ‣ I wrote the basis for this months ago ;) ‣ We need a continuous integration server showing the results online all the time Brian LeRoux / Nitobi Software / PhoneGap
  • 21. Plugins ‣ native apis that don't fit our web-iful world view ‣ so simple to do! ‣ we need a leader for this ‣ Possibly an official 3rd party site? Brian LeRoux / Nitobi Software / PhoneGap
  • 22. Source is a mess ‣ lots to say about it but suffice to say first time user is going to be FUCKED trying to navigate this ‣ needs to be solved TODAY by us all ‣ later. Brian LeRoux / Nitobi Software / PhoneGap
  • 23. Roles ‣ We’re serious about recognizing contribution. ‣ Projects concerned with problem areas/risks instead of specific tech. Brian LeRoux / Nitobi Software / PhoneGap
  • 24. PhoneGap Projects ‣ Everyone: source tree organization review w/ team ‣ mobile-spec ‣ phonegap-doc ‣ phonegap-dev ‣ phonegap-install ‣ Plugin Project Brian LeRoux / Nitobi Software / PhoneGap
  • 25. How do we organize? ‣ Separate projects. ‣ Separate source. ‣ Separate issue trackers. Brian LeRoux / Nitobi Software / PhoneGap
  • 26. Timing ‣ Starts immediately. ‣ Friday Afternoon PhoneGap Hackdays 2pm - ? ‣ Its ready when its ready! Brian LeRoux / Nitobi Software / PhoneGap
  • 27. PhoneGap 1.0 (proposed) ‣ Installer/Updater of SDK ‣ New Docs Online ‣ CI Running ‣ Unified Build Process in place ‣ Plugin Website Brian LeRoux / Nitobi Software / PhoneGap
  • 28. Installer Project ‣ Single click install ‣ Everything a dev needs in one package including SDK’s ‣ Updating Brian LeRoux / Nitobi Software / PhoneGap
  • 29. Docs Project ‣ One simple example app ‣ Quickstarts for each feature ‣ Advanced Usage tutorial w/ XUI ‣ Searchable and styled API docs ‣ Offline API doc in PDF form ‣ How to Contribute tutorial ‣ Official Blog w/ one post a week Brian LeRoux / Nitobi Software / PhoneGap
  • 30. Continuous Integration ‣ Single suite of tests for the JS API ‣ Runs hourly and online ‣ Packaged w/ the SDK ‣ Separate project will be useful for our ‘competition’ Brian LeRoux / Nitobi Software / PhoneGap
  • 31. Unified Build Process ‣ One click and I get three binaries: iPhone, Android, BB from one www folder. ‣ Thats it! So simple! ;) Brian LeRoux / Nitobi Software / PhoneGap
  • 32. Plugins ‣ Need to define an API for this ‣ Would be nice if it was mirrored in JS so plugins could be 100% web ‣ More important than any other Android or iPhone feature. ‣ Need a repo and separate site for listing plugins. Brian LeRoux / Nitobi Software / PhoneGap
  • 33. On the Horizon ‣ Palm, WRT and WinMo ‣ Bondi and Widgets Brian LeRoux / Nitobi Software / PhoneGap
  • 34. PhoneGap Touring ‣ OSCON ‣ FITC ‣ Ajax Experience ‣ Adobe Max Brian LeRoux / Nitobi Software / PhoneGap
  • 35. one last thing ‣ Browsers are already making PhoneGap obsolete. ‣ Which means we're winning. ‣ Real artists ship. Here’s to 1.0! Brian LeRoux / Nitobi Software / PhoneGap