SlideShare a Scribd company logo
1 of 51
phonegap/mobeers 2011
-me




http://brian.io
the killing field
• phonegap project background
• mobile projects in practice
• backend design concerns
• mobile web client design
• progressive enhancement to ‘native’
lets kill it
phonegap project
•   history/goals/philosphy

•   licensing
•   web standards
•   the phonegap technique (ffi / bridge)

•   platform support
•   more on the bridge: plugins
•   the future of mobile is device apis
•   device apis: sensors

•   device apis: data
•   device apis: outputs
•   present and future: a little about our roadmap

•   phonegap/build
•   perceived competition
phonegap project
•   history/goals/philosphy

•   licensing
•   web standards
•
•
       imma teach ya fuckin
    the phonegap technique (ffi / bridge)
    platform support
•
         everything aight?
    more on the bridge: plugins
•   the future of mobile is device apis
•   device apis: sensors

•   device apis: data
•   device apis: outputs
•   present and future: a little about our roadmap

•   phonegap/build
•   perceived competition
history
•   2008 got its start as a lofty summertime hack;
    gained traction as a concept @nitobi with android
    and blackberry implementations in the fall
•   2009 ppl started to pay attention when we got
    ‘rejected’ by apple; we added Symbian and webOS
    support
•   2010 IBM began tag teaming w/ Nitobi
•   2011 RIM joined: now its a gang bang
•   2011 we shipped 1.x
philosophy

• unix was (still is) right
• simple is better
• plan to fail; software is organic
• when in doubt use brute force
goals

• the web as a first class platform
• => installable web apps
• cease to exist
• => browsers adopt this model
licensing


• users: mit/bsd
• contributors: apache
free defined

• free to use
• free to modify
• free to distribute
• free to change
• free to sell
omg, how does anyone
    make money?
ever buy bottled water?
Nitobi vs PhoneGap

• we are the creators
• we are contributors
• nitobi is a software company that makes
  money writing software for ppl
• we give away as much IP as possible
web standards
• w3c has many
• whatwg seems to be working well
• bondi / jil / wac / webinos
• de facto standards ?
• mozilla getting snippy about the flailing of
  the various standards bodies: web apis and
  b2g (fuck yes.)
the phonegap technique


• colloquially called ‘the bridge’
• more correctly a FFI (foreign function
  interface)
the technique ‘splained

1. we instantiate a webview
2. we call js from the native code (‘deviceready’)
3. you can call native code from the js



        ... aaaand then we send data/
        callbacks from the native!
primary platforms

• Apple iOS >= 3 (we’ve supported since
  1.x)
• Google Android >= 1.5
• BlackBerry >= 5.x (supported since 4.2)
platforms support cont.

• HP webOS
• Nokia Symbian
• Samsung Bada
fall 2011


• Windows Phone 7
• MeeGo
further experiments

• various desktop experiments
• mozilla firefox mobile (once fennec)
• Qt is super portable (thus MeeGo)
No mobile dev platform supports as many
     deploy targets as PhoneGap.


Not even a single browser...not yet anyhow.
Adoption
contributors

• Nitobi
• IBM
• RIM
PhoneGap API


http://docs.phonegap.com
device apis

• sensors
• data
• outputs
sensors


• geo / accelerometer / gyroscope
• camera
data

• filesystem
• contacts
• media
outputs

• device screen(s)
• speakers
• speaker jack...
plugins


• everything is one
• any native api is permitted
plugins


• everything is one
• any native api is permitted
2.x roadmap!

• plugins
• performance
• security
• tooling
Plugins TODO

• packaging
• installation / removal / deps
• discovery
Performance
• benchmarking us (right now just init)
• benchmarking them (popular js libs)
• js unification and cleanup
• continual improvements to the bridge
• plugins removal will help tonnes
• data access another area of interest
security

• locking down the file://
• config.xml feature element lockdown
• code hotloading (hydra project)
• some crypto apis
• looking secure storage
tooling

• unification of mobile dev nomenclature
• standard project directory structuring
• build the tools devs are REbuilding every
  project
tooling

  • unification of mobile dev nomenclature
automate project directory structuringbitch
              the shit out of this
  • standard
  • build the tools devs are REbuilding every
     project
common tasks

• launch an emulator
• create a project
• build a project to a device / emulator
• attach a logger (console.log to stdout)
• run the mobile-spec unit test suite
A quick interlude about
     competition


• We have none.
Lets review
• philosophy
• licensing
• community adoption
• contributors
• tooling from 3rd parties
• no lock in: your app runs in a browser too
PhoneGap/Build

• We build your apps ‘in the cloud’.
• A commercial enterprise from Nitobi.
• Always free for Free/Open Source projects.
• Always 1 free private repo for developers.
hello world already!
mobile projs in practice

• define your project philosophy and goals
• value != money
• design (...not just the pretty)
• shipping
know your philosophy


• a good problem defn outlines a solution
  value proposition
 • can’t be a hero without an enemy
have a goal (not goals)


• min viable product defn
 • 1 sentence: no use of the word ‘and’
great ux happens
       iteratively

• you design always; init w/ research
 • big upfront designs fail. don’t fail.
bias

• technical bias is a normal condition
• embrace your bias; its skills you have
• embrace your existing technical debt
• be wary of anything preaching a ‘one true
  way’
the exception,
the web,
is exceptional
Good news!
• You have likely already invested in the web.
• If not, don’t worry, web tech is being taught
  in elementary schools.
• Today you have the knowledge and skills to
  build end to end systems with HTML, CSS
  and JavaScript.
shipping
• a daily activity
• writing unit tests for health and sanity
• single click builds (test/dev/release)
• distributed rcs and practices are crucial
• automate everything manual
thx


• q/a?

More Related Content

What's hot

What's hot (20)

Hardware Prototyping for Software Developers
Hardware Prototyping for Software DevelopersHardware Prototyping for Software Developers
Hardware Prototyping for Software Developers
 
Strategies for securing your banks & enterprises (from someone who robs bank...
 Strategies for securing your banks & enterprises (from someone who robs bank... Strategies for securing your banks & enterprises (from someone who robs bank...
Strategies for securing your banks & enterprises (from someone who robs bank...
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Bone.io for HTML5 Apps
Bone.io for HTML5 AppsBone.io for HTML5 Apps
Bone.io for HTML5 Apps
 
Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completion
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?
 
API World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API developmentAPI World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API development
 
Marcio Leibovitch - Rapid Prototyping for the Web & Mobile Devices
Marcio Leibovitch - Rapid Prototyping for the Web & Mobile DevicesMarcio Leibovitch - Rapid Prototyping for the Web & Mobile Devices
Marcio Leibovitch - Rapid Prototyping for the Web & Mobile Devices
 
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
 
Jsday
JsdayJsday
Jsday
 
No more excuses! Let's build beautiful things. #codemotion Rome
No  more excuses! Let's build beautiful things. #codemotion Rome No  more excuses! Let's build beautiful things. #codemotion Rome
No more excuses! Let's build beautiful things. #codemotion Rome
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic Framework
 
JBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivityJBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivity
 
Merge hells!! feature toggles to the rescue - Presented @ Agile Toronto
Merge hells!! feature toggles to the rescue - Presented @ Agile TorontoMerge hells!! feature toggles to the rescue - Presented @ Agile Toronto
Merge hells!! feature toggles to the rescue - Presented @ Agile Toronto
 
Merge hells!! Feature toggles to the rescue - DevOpsDays Madison
Merge hells!! Feature toggles to the rescue - DevOpsDays MadisonMerge hells!! Feature toggles to the rescue - DevOpsDays Madison
Merge hells!! Feature toggles to the rescue - DevOpsDays Madison
 
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
 
Developer Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and ArquillianDeveloper Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and Arquillian
 
Developer Efficiency
Developer EfficiencyDeveloper Efficiency
Developer Efficiency
 

Similar to Mobeers waterloo-2011

Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
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
davyjones
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
Brian LeRoux
 
Native vs HTML
Native vs HTMLNative vs HTML
Native vs HTML
ludlola
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
imranq2
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
Nicholas Jansma
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyond
rsebbe
 
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
Nick Landry
 

Similar to Mobeers waterloo-2011 (20)

I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
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
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
Android development workshop
Android development workshopAndroid development workshop
Android development workshop
 
Txjs
TxjsTxjs
Txjs
 
Native vs HTML
Native vs HTMLNative vs HTML
Native vs HTML
 
Creating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitCreating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing Toolkit
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for Android
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth element
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst Platform
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile Hack
 
1. course introduction
1. course introduction1. course introduction
1. course introduction
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyond
 
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
 

More from Brian LeRoux (8)

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
 
Palm Developer Day PhoneGap
Palm Developer Day PhoneGap Palm Developer Day PhoneGap
Palm Developer Day PhoneGap
 
Scurvyconf
ScurvyconfScurvyconf
Scurvyconf
 
Mobile Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App Development
 
Mobile JavaScript
Mobile JavaScriptMobile JavaScript
Mobile JavaScript
 
Phonegap 1.0
Phonegap 1.0Phonegap 1.0
Phonegap 1.0
 

Recently uploaded

TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
Overkill Security
 
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
 

Recently uploaded (20)

Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
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
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
 
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
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
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
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
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
 

Mobeers waterloo-2011

  • 3. the killing field • phonegap project background • mobile projects in practice • backend design concerns • mobile web client design • progressive enhancement to ‘native’
  • 5. phonegap project • history/goals/philosphy • licensing • web standards • the phonegap technique (ffi / bridge) • platform support • more on the bridge: plugins • the future of mobile is device apis • device apis: sensors • device apis: data • device apis: outputs • present and future: a little about our roadmap • phonegap/build • perceived competition
  • 6. phonegap project • history/goals/philosphy • licensing • web standards • • imma teach ya fuckin the phonegap technique (ffi / bridge) platform support • everything aight? more on the bridge: plugins • the future of mobile is device apis • device apis: sensors • device apis: data • device apis: outputs • present and future: a little about our roadmap • phonegap/build • perceived competition
  • 7. history • 2008 got its start as a lofty summertime hack; gained traction as a concept @nitobi with android and blackberry implementations in the fall • 2009 ppl started to pay attention when we got ‘rejected’ by apple; we added Symbian and webOS support • 2010 IBM began tag teaming w/ Nitobi • 2011 RIM joined: now its a gang bang • 2011 we shipped 1.x
  • 8. philosophy • unix was (still is) right • simple is better • plan to fail; software is organic • when in doubt use brute force
  • 9. goals • the web as a first class platform • => installable web apps • cease to exist • => browsers adopt this model
  • 10. licensing • users: mit/bsd • contributors: apache
  • 11. free defined • free to use • free to modify • free to distribute • free to change • free to sell
  • 12. omg, how does anyone make money?
  • 14. Nitobi vs PhoneGap • we are the creators • we are contributors • nitobi is a software company that makes money writing software for ppl • we give away as much IP as possible
  • 15. web standards • w3c has many • whatwg seems to be working well • bondi / jil / wac / webinos • de facto standards ? • mozilla getting snippy about the flailing of the various standards bodies: web apis and b2g (fuck yes.)
  • 16. the phonegap technique • colloquially called ‘the bridge’ • more correctly a FFI (foreign function interface)
  • 17. the technique ‘splained 1. we instantiate a webview 2. we call js from the native code (‘deviceready’) 3. you can call native code from the js ... aaaand then we send data/ callbacks from the native!
  • 18. primary platforms • Apple iOS >= 3 (we’ve supported since 1.x) • Google Android >= 1.5 • BlackBerry >= 5.x (supported since 4.2)
  • 19. platforms support cont. • HP webOS • Nokia Symbian • Samsung Bada
  • 20. fall 2011 • Windows Phone 7 • MeeGo
  • 21. further experiments • various desktop experiments • mozilla firefox mobile (once fennec) • Qt is super portable (thus MeeGo)
  • 22. No mobile dev platform supports as many deploy targets as PhoneGap. Not even a single browser...not yet anyhow.
  • 26. device apis • sensors • data • outputs
  • 27. sensors • geo / accelerometer / gyroscope • camera
  • 29. outputs • device screen(s) • speakers • speaker jack...
  • 30. plugins • everything is one • any native api is permitted
  • 31. plugins • everything is one • any native api is permitted
  • 32. 2.x roadmap! • plugins • performance • security • tooling
  • 33. Plugins TODO • packaging • installation / removal / deps • discovery
  • 34. Performance • benchmarking us (right now just init) • benchmarking them (popular js libs) • js unification and cleanup • continual improvements to the bridge • plugins removal will help tonnes • data access another area of interest
  • 35. security • locking down the file:// • config.xml feature element lockdown • code hotloading (hydra project) • some crypto apis • looking secure storage
  • 36. tooling • unification of mobile dev nomenclature • standard project directory structuring • build the tools devs are REbuilding every project
  • 37. tooling • unification of mobile dev nomenclature automate project directory structuringbitch the shit out of this • standard • build the tools devs are REbuilding every project
  • 38. common tasks • launch an emulator • create a project • build a project to a device / emulator • attach a logger (console.log to stdout) • run the mobile-spec unit test suite
  • 39. A quick interlude about competition • We have none.
  • 40. Lets review • philosophy • licensing • community adoption • contributors • tooling from 3rd parties • no lock in: your app runs in a browser too
  • 41. PhoneGap/Build • We build your apps ‘in the cloud’. • A commercial enterprise from Nitobi. • Always free for Free/Open Source projects. • Always 1 free private repo for developers.
  • 43. mobile projs in practice • define your project philosophy and goals • value != money • design (...not just the pretty) • shipping
  • 44. know your philosophy • a good problem defn outlines a solution value proposition • can’t be a hero without an enemy
  • 45. have a goal (not goals) • min viable product defn • 1 sentence: no use of the word ‘and’
  • 46. great ux happens iteratively • you design always; init w/ research • big upfront designs fail. don’t fail.
  • 47. bias • technical bias is a normal condition • embrace your bias; its skills you have • embrace your existing technical debt • be wary of anything preaching a ‘one true way’
  • 49. Good news! • You have likely already invested in the web. • If not, don’t worry, web tech is being taught in elementary schools. • Today you have the knowledge and skills to build end to end systems with HTML, CSS and JavaScript.
  • 50. shipping • a daily activity • writing unit tests for health and sanity • single click builds (test/dev/release) • distributed rcs and practices are crucial • automate everything manual

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n