+

Simon MacDonald

simonmacdonald.com

@macdonst

What's the difference between PhoneGap, Ionic and Cordova?

PhoneGap

What's New in Plugins?

Boy, have we got plugins.

Creative SDK Plugins

Image Editor

Adobe Single Sign On

Send To Desktop

Coming Next in Creative SDK Plugins

  • Asset Browser
  • CocoaPod Support
  • Inclusion in the PG Dev App

Push Plugin

Android N

iOS 10

Browser Push

Coming Next in the Push Plugin

  • 1.9.0: Switched to using CocoaPod dependencies for GCM
  • 2.0.0: Move to Firebase Cloud Messaging

PG Dev App

Barcode Scanner

Social Sharing

PG Desktop App

Embedded Workflow

Cordova Decoupling

Apache Cordova

What's new in Cordova

Improved template support

supports package.json!

Creating a template

index.js should export a reference to template_src and package.json should reference index.js.

Template discoverability

use the template reference repo as starting point

Using Templates

  • find a template on npm using cordova:template keyword
  • cordova create MyApp --template TemplateName || gitURL

cordova create split out of cordova-lib

npmjs.com/package/cordova-create

cordova fetch split out of cordova-lib

npmjs.com/package/cordova-fetch

  • replaces npm cache add with npm install
  • Uses your system npm
  • cordova platform add android --save --fetch
  • cordova
  • cordova-lib
  • cordova-android
  • cordova-ios
  • cordova-windows

npm install cordova@nightly

CocoaPod Support

<framework src="GoogleCloudMessaging" type="podspec" spec="~> 1.2.0"/>

How it works

  • checks if cocoapods is installed
  • runs pod install to download dependencies
  • Manges dupes

Available since
cordova-ios@4.3.0

New cordovaDependencies object in package.json for plugins

Dependency may be cordova-cli, cordova-platform, or a cordova plugin

cordova plugin add PluginName --save will auto fetch the best version from npm based on your apps dependencies

Whats next?

cordova 7

  • fetch by default
  • browserify by default
  • save/restore moving over to package.json

Better document how to add a new platform (platform API)

Remove restriction of new platforms needing to be in our platform list

Contributing

We have 60 git repos for our project

Find them at https://git-wip-us.apache.org/repos/asf or on our Github mirrors

Check out http://cordova.apache.org/contribute/ for more info.