La differenza principale tra un'applicazione Web e una App mobile ibrida, consiste nella possibilità di quest'ultima di interagire con il dispositivo, di controllare cioè le diverse funzionalità di cui il dispositivo su cui gira l'applicazione è dotato: dalla fotocamera alla rubrica, dal sistema di geolocalizzazione al file system.
Poiché Ionic è basato su Cordova, supporta indirettamente l'accesso alle funzionalità del dispositivo tramite i plugin del sistema sottostante. In altre parole, Ionic non aggiunge nuove funzionalità a quanto Cordova non faccia già. Tuttavia il framework aggiunge un supporto unificato a questi plugin tramite Ionic Native.
In sintesi, Ionic Native è un insieme di wrapper per i plugin di Cordova che ne semplifica l'inclusione e l'utilizzo all'interno di un'applicazione Ionic. Ionic Native definisce essenzialmente un'interfaccia comune per interagire con questi plugin tramite Promise o Observable.
Allo stato attuale è supportato un lungo elenco di plugin noti e meno noti che vanno dall'interazione con l'hardware del dispositivo all'interazione di servizi ed applicazioni di terze parti, come ad esempio Facebook, Google Maps ad altri. A titolo d'esempio riportiamo alcuni dei più noti plugin supportati:
Plugin | Descrizione |
---|---|
Barcode Scanner | Acquisisce un barcode sfruttando la fotocamera del dispositivo |
Battery Status | Consente di monitorare lo stato della batteria del dispositivo |
Calendar | Consente l'accesso al calendario del dispositivo |
CallNumber | Effettua una chiamata telefonica dall'applicazione Ionic |
Camera | Abilita l'accesso alle funzionalità della fotocamera |
Contacts | Consente l'accesso alla rubrica |
Device Motion | Intercetta i movimenti del dispositivo mobile |
Connette l'applicazione Ionic con l'applicazione nativa di Facebook | |
File | Abilità l'accesso al file system del dispositivo |
Geolocation | Consente di individuare la posizione geografica di un dispositivo |
Google Maps | Consente di interagire con le mappe di Google |
Photo Viewer | Gestisce la visualizzazione di immagini con pan, zoom, ecc. |
Push | Permette di gestire la registrazione e la ricezione di notifiche push |
VideoPlayer | Consente la visualizzazione di video a tutto schermo |
Per un elenco completo, inclusi i plugin supportati in beta release, è opportuno fare riferimento alla relativa pagina ufficiale.
È opportuno sottolineare che Ionic Native non cambia in alcun modo le modalità di utilizzo dei plugin Cordova. Esso si limita a wrapparli ed a renderli facilmente accessibili nell'ambiente Ionic. Quindi per utilizzare al meglio le funzionalità di un plugin occorre fare sempre rifermento alla specifica documentazione ufficiale.
Inoltre, i plugin supportati non sono inclusi in Ionic Framework. Occorre quindi di volta in volta installare i plugin effettivamente utilizzati nell'applicazione tramite il comando ionic plugin
. Ad esempio, il seguente comando installa il plugin Geolocation nell'applicazione:
ionic plugin add cordova-plugin-geolocation