Menu

¿Qué es Ionic Native?

nativeionic2 - July 05, 2016 por Nicolas Molina

Ionic-native es todo un conjunto de envolturas en ES5/ES6/Typescript para cualquiera de los plugins de Cordova/Phonegap, la cual hace que cuando queremos agregar cualquier función nativa a nuestra aplicación sea muy fácil.

Recordemos que en la versión en ionic1, tuvimos a ngCordova que eran servicios que envolvían las funciones de los plugins de Cordova/Phonegap, esto nos ayudó mucho a implementar los plugins a nuestra app de forma muy fácil, pero el problema era el difícil mantenimiento a ngCordova ya que los plugins de Cordova cambian constantemente mantener actualizado ngCordova es algo complejo, entonces nos tocaba estar pendiente y mirar la documentación de ngCordova + la documentación del plugin nativo.

Ahora con ionic native esto cambio, si nos va a envolver las funciones del plugin para una fácil implemetatcion y nos retorna una Promise o Observable pero va fielmente integrada al plugin, es decir que si queremos implementar algún plugin solo debemos ir a la documentación oficial de cordova del plugin.

Promises and Observables

Cuando hacemos la implementación de ionic-native tendremos como respuesta una Promise o Observable, una Promise será cuando no necesitamos hacer seguimiento constante de una función y solo queremos un valor de respuesta, por ejemplo al usar la geolocalización y pedir las coordenadas.

Un Observable será cuando queremos hacer seguimiento constante de alguna función, por ejemplo pedir lo geolocalización cada 5 minutos, aquí los usaremos un Observable. Miremos el ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
import {Geolocation} from 'ionic-native';

Geolocation.getCurrentPosition().then(pos => {
  console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});

let watch = Geolocation.watchPosition().subscribe(pos => {
  console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});

// to stop watching
watch.unsubscribe();

En la línea 3 manejamos un Promise en donde solo recibimos los datos pero en línea 7 donde usamos watchPosition para estar pidiendo la geolocalización cada X tiempo usamos un Observable en el cual podemos usar subscribe y unsubscribe. ## Runtime Diagnostics

A diferencia de la versión 1 donde usamos ngCordova, ionic native nos permite saber si al usar un plugin nos falta instalar el plugin o saber cual es problema realmente, aunque debemos probarlo directamente en un dispositivo o emulador y en el emulador de la web no funcionará correctamente.

Aqui estan los plugins que ya están listos para ser usados con ionic native:


¿Quieres saber más? Suscríbete a nuestro Newsletter o únete a nuestro canal en Slack y mantente atento. Espero sea de utilidad y sigan programando :)

Por: Nicolas Molina

¡Compártelo!

Nunca te pierdas una Noticia.