8. Prototype Platforms
• Bada
• Qt by way of C++ (MeeGo, desktops, etc)
• Qt by way of PySide
• Windows Phone 7
• OS X Cocoa
• Windows by way of WebKit.NET
(Other web business like Chrome App Store and Mozilla’s
Open Web apps are interesting to us.)
9. Contributer Concerns
tests currently live at
http://github.com/phonegap/mobile-spec
docs can be viewed live here
http://docs.phonegap.com
issue tracker can be viewed here
http://phonegap.lighthouseapp.com
wiki we use for planning here
http://wiki.phonegap.com
10. PhoneGap Technique
1. Instantiate a chromeless browser instance.
2. Implement PhoneGap.exec bridge code.
3. Implement native plugin code.
4. Implement your JS API by wrapping
PhoneGap.exec() into something pretty.
27. Learnings.
• Android imp details have changed or
manifested bugs. Our interface has not!
• Never underestimate the determination of
an engineer to abandon all ‘best practices’
in light of solving a tough problem.
55. Plugins to the rescue
Clean from an engineering perspective.
Lighter builds possible.
Adaptable for 3rd party extensions.
Portable to new platforms.
Secure only use what you need.
Override anything with JS or Native code.
60. So, what did we learn?
• Devices tend to ship a browser.
• Additionally they have an SDK.
• Browsers have a location.
You have everything required to create a bridge!
63. Basics: CSS3
• media queries come in handy for tablets
• many folk using precompilers these days
• opacity, rounded corners, gradients and
fucking drop shadows fuck ya!
65. Basics: config.xml
• Lifted from the W3C Widget Spec
• Many variants. See rubygem ‘confetti’
• Handy for packaging metadata.
• Wtf is packaging metadata?
66. config.xml
• specify assets for loading in various places
that might be stored in other various places.
• icon, splash screen, index.html path and js
pathing
• feature capability / security
• network restrictions security
• title, description, license, author, etc
78. other concerns
• toolchain setup is a pain
• phonegap/build
• competition?
• performance of webviews is terrible! my
rounded corners and css gradients tear!
• security: there is none!