Apache Cordova and PhoneGap: Past, Present, Future

Joe Bowser - jbowser@adobe.com

What is Apache Cordova?

Apache Cordova

Build apps with HTML, CSS, and JavaScript.

Adobe PhoneGap

Cross-Platform Mobile Development

Access to Device APIs by plugin

  • Minimal set of supported APIs
  • Large set of community APIs
  • Can be found at plugins.cordova.io

Helps put your app in the store! (No guarantees)

Who does Cordova dev?


How to contribute?

More on our wiki.

The Story of Cordova...

"The goal of PhoneGap is to cease to exist"

Free and Open Source Since 2008

2008 - Beer Nerds <3 Mobile Web

iPhone SDK, Blackberry 4.2, & Android 1.0

2009 - iOS was the priority

Oh you do Android, why?!?

2010 - Getting Contributors

Big Blue and PhoneGap/Build.

2011 - Growing Pain

1.0, Adobe, and Apache.

2012 - CordovaWebView

2.0, and 1 million downloads.

2013 - Optionally Opinionated

3.0 w/ over 2 million downloads.

2014

What happened?

Is it possible to quickly build a FAST app using HTML, CSS, and JavaScript that has a consistent look and feel and works properly across devices?

Yes, but it takes work!

Android WebView

"The IE6 of Mobile Development"

Things outside our control:

  • Rendering issues (Media queries)
  • iFrame support breaking
  • Support for Android Resources and Android Assets
  • URI encoding bugs
  • Browser History Bugs
  • Text-Field Issues

Targeting Android

http://developer.android.com/about/dashboards/index.html

History of this issue:

  • Six years of errors
  • Weird Android bugs with various frameworks
  • Performance issues on Android
  • Bugs left as "Won't Fix" without any options for the user

Third Party WebView

Use third party webviews your apps.

Installable via a plugin

plugman install crosswalk

DEMO TIME - Chrome Debugging

Warning: I might make fun of your phone! Sorry!

Real Talk

  • Makes the app a lot bigger
  • Instead of Android WebView bugs, you have third-party bugs
  • Third-Party WebView may not start as fast as Android WebView
  • This is solving minor problems with a sledgehammer

Having a sledgehammer is better than having no tool at all

Another example/demo

Cordova on AndroidWear

  • Just got working this morning
  • AndroidWear doesn't have a WebView
  • Thanks to this feature, we can bring our own
  • Super experimental, surprised this worked!
  • Now where Android is, we can be too.

Availability:

  • Exists today in the 4.0.x branch of Cordova
  • Currently only has Crosswalk as a third-party webview
  • Hope to have Mozilla GeckoView and others soon
  • Warning: The API is changing rapidly. (Don't be afraid to give feedback)

To summarize

  • In 2014, the Web still isn't a first class platform on mobile
  • Apache Cordova can make web apps first class citizens
  • More tools are existing for hybrid apps
  • Third Party Webviews are going to be awesome

Thank You