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.)
Contributer Concernstests currently live athttp://github.com/phonegap/mobile-specdocs can be viewed live herehttp://docs.phonegap.comissue tracker can be viewed herehttp://phonegap.lighthouseapp.comwiki we use for planning herehttp://wiki.phonegap.com
PhoneGap Technique1. 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.
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.
DAP API OverviewContactsCalendarMedia CaptureMessagingSystem InfoPermissionsGalleryApp LauncherTasks
WAC API OverviewAccelerometerOrientationCameraDevice StatusFilesystemMessagingGeolocationContactsCalendarTasks
Web-ish SDKs Trending.. • Symbian WRT • HP Palm webOS • BlackBerry WebWorks • Samsung Bada * PhoneGap started in 2008 btw...
Current PhoneGap APIAccelerometerCameraCompassContactsDeviceEventsFileGeolocationMediaNetworkNotiﬁcationStorage
Plugins to the rescueClean 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.
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!
Basics: conﬁg.xml• Lifted from the W3C Widget Spec• Many variants. See rubygem ‘confetti’• Handy for packaging metadata.• Wtf is packaging metadata?
conﬁg.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