Our continuing mission …

Jesse
PhoneGap
Published in
5 min readAug 28, 2018

--

Every so often, I like to reaffirm our team’s commitment, and share some of our goals for the next while. A lot of what we do is quiet; our conversations about Apache Cordova might only be noticed by people listening on the dev list, or in the Cordova slack channel, so it is nice to reach a wider audience and reflect once in a while. But this time is different. PhoneGap is 10 years old!

A lot can happen in 10 years

PhoneGap’s conjuring was at IphoneDevCamp-2 in August of 2008, perhaps prophetically, at Adobe San Francisco. PhoneGap had 1 API, Geolocation; just enough to see the potential for the hybrid approach and to prove that it works.

In the early days, the mantra was “The goal of PhoneGap is to cease to exist.” The vision was that these APIs can and should be built right into the browser, after which PhoneGap would not be needed. Geolocation was the first API to be added to the browser, and to this day the Geolocation plugin does little more than manage the permissions request to the user.

Progressive Web Apps are on the rise, and we have seen the browser gain a great many capabilties. At first, this may seem to be the fulfilling of a prophecy, but as we have learned through the years ‘software is never done’. And our experience with PhoneGap tells us, there will always be rough edges to smooth over, and gaps to fill. In many ways, PhoneGap has become more about the tooling and build time than the runtime. We expect this to continue. As PWAs evolve, we will work to make sure your hybrid apps can function inside a PhoneGap app where the device browser does not yet provide the full features your app needs.

It takes a village

Over the years a great many people (both individual and company sponsored) have contributed to PhoneGap/Cordova. Adobe has been a constant force, playing many different roles, from leading feature discussions to committing code; from organizing events to voting in and mentoring new committers we have been in all positions at one time or another. We’ve worked closely with IBM, Intel, Google, Microsoft, and many others. Most recently the fine folks at Monaca have come on to the project with force.

As the community continues to grow and flourish, I personally am very proud to see many individual contributors stepping up and managing releases, leading new feature discussions, and poking at our processes to make sure we are never stagnant. Cordova has migrated to a very github-centric workflow. Gone are the days of hard to find apache forks without the collaborative features that make developement social. Issues are now being tracked in github as well.

Our refined focus

For the PhoneGap team, the platforms that get our attention are still iOS, Android, Windows and the browser.

For iOS, Shazron has been sorting through the many complications that come with Apple’s deprecation of the UIWebView. He discusses the tradeoffs. tl;dr Apache Cordova needs changes to support the new stricter webview, and we are erring on the side of caution instead of keeping the browser open and potentially un-secure. We will provide documentation on how to loosen restrictions for your own apps, but the default configuration will have a similar security model to Apple’s own WKWebView.

The browser platform and progressive web apps have converged in many ways, so when you target the browser as a platform target, you really are making a PWA. We will continue to watch this space closely, and keep things as plugins as consistent as possible.

Windows has also defined some shortcuts to deploying PWAs directly to their store. While this is exciting, if you need true native c++|c# code execution, cordova-windows will continue to be the way.

Earlier this year, we did some work towards cordova-electron, but this has not been a focus recently. Personally, I would like to revisit this as it has definite potential to disrupt Windows (win32/x64), and macOS. There is an opportunity to leverage a lot of the existing browser plugins, but Cordova tooling would require deep changes to pull this off, this might end up sitting in a discuss thread in Cordova for awhile, waiting for someone to step up.

Plug it in

We continue to see steady use of the plugins we have been hosting in PhoneGap repos, so we will continue to maintain them. This includes barcodescanner, pwa, media-stream, image-capture, media-recorder. We have questions around content-sync, as there are several options to doing hot-reloading of js, and content-sync for all its use in the developer app, may not be needed in the future. Missing from this list is the push plugin. Monaca has stepped up to support this plugin, and will be adding the ability to test push notifications via their own service.

Building in the cloud

PhoneGap Build continues to be a focus of the team. We continue to keep pace with Cordova tool + plugin releases and will continue to keep the best combinations of plugins at hand so you can build your apps without the overhead of maintaining your entire toolchain.

We have seen very little demand for embedded workflows, so we have chosen to focus our efforts elsewhere. We have not specifically broken anything as of yet, but that may change in the future. If this functionality is valuable to your products, we would love to hear from you.

There are also some potential opportunities to integrate with other Adobe products and services that we will be looking at. Nothing that we can report now, but more to come in a future posting.

We proudly count ourselves among the many dedicated committers and contributors to Apache Cordova. If you would like to have a conversation, hit up the PhoneGap team in the Cordova Slack Channel. Join us here.
http://slack.cordova.io/

We will continue to push the web forward, and challenge expectations. Here’s to another 10 years!

As always, we welcome your pull requests, questions, comments, bug reports, ideas, stories and support.

--

--

Jesse
PhoneGap

trophy husband; proud father; apache cordova committer, invertuoso, tinker, reformed guitar shredder ... and I work at Adobe, opinions are my own.