Una introducción al desarrollo de plugins nativos
Conjunto de herramientas de línea de comandos y plantillas contenedoras por plataforma que nos permiten construir aplicaciones móviles nativas que pueden ser publicadas en tiendas y que ejecutan código JavaScript en un webview.
Un plugin es un conjunto de código JavaScript que ejecuta código Nativo de las plataformas y que nos permite acceder a funcionalidades nativas de los dispositivos que no tienen correspondencia con las Web API existentes.
npm install -g plugmannpm install -g ionic
$ plugman --help
$ plugman create --name <pluginName> --plugin_id <pluginID>
--plugin_version <version> [--path <directory>] [--variable NAME=VALUE]
Parameters:
- <pluginName>: The name of the plugin
- <pluginID>: An ID for the plugin, ex: org.bar.foo
- <version>: A version for the plugin, ex: 0.0.1
- <directory>: An absolute or relative path for the directory
where the plugin project will be created
- variable NAME=VALUE: Extra variables such as description or Author
plugman create --name testplugin --plugin_id com.aresdev.testplugin
plugman createpackagejson .1.
3. Generamos el archivo package.json, este paso es necesario para poder instalarlo en nuestra aplicación Ionic
plugman platform add --platform_name android2. Agregamos la plataforma deseada(android en este caso)
ionic cordova plugin add ../testpluginionic start testapp blankdeclare var cordova: any;3. Hacemos feliz a Typescript :P
1. Creamos nuestra aplicación Ionic
2. Instalamos nuestro plugin a la aplicación
cordova.plugins.testplugin.coolMethod('Hello Angular Medellín', (response)=>{
this.responseString = response;
});4. Realizamos el llamado a nuestro plugin
Si debemos actualizar nuestra interfaz(botón, label, etc) es posible que necesitemos usar ngZone o detectChanges para forzar la actualización, ya que en ocasiones la ejecución del plugin se realiza por fuera de los ciclos de Angular.
Código fuente demo
https://github.com/AresDev/angular-medellin-demo
Documentación Oficial Cordova
https://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/index.html
Artículo de acerca de como crear Cordova plugins
https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2
Blog post de como escribir Cordova plugins en iOS usando Swift
https://moduscreate.com/blog/writing-a-cordova-plugin-in-swift-for-ios/
Especificación del plugin.xml
https://cordova.apache.org/docs/es/latest/plugin_ref/spec.html
Happy Coding!!!