Vantaggi e svantaggi di usare Ionic in un sistema aziendale
Ionic è un Framework open source per lo sviluppo di App multipiattaforma che utilizza tecnologie web standardizzate come HTML, CSS e JavaScript. Chi ha familiarità con lo sviluppo web può creare app e pubblicarle sugli App Stores (Android e iOS).
Le prime versioni di Ionic erano strettamente legate ad Angular, un popolare framework front end utilizzato per la creazione di pagine Web dinamiche e PWA. La versione 4 di Ionic ha visto il framework diventare indipendente da Angular e da questa versione in poi gli sviluppatori diventano liberi di scegliere se utilizzare Angular, React o Vue.js nel loro sviluppo. Ionic è anche indipendente dal back-end e si connette ad AWS, Azure e Firebase.
Caratteristiche di Ionic
Con Ionic gli sviluppatori creano pagine Web che vengono eseguite all'interno di una “WebView” che è di per sé un componente dell'app che esegue il rendering delle pagine Web e le visualizza come app native. Ionic utilizza anche “Apache Cordova” che fornisce le sue API come plug-in per accedere a funzioni native come fotocamera, giroscopio o sensori integrati quindi in pratica funge da ponte tra WebView e il sistema operativo del dispositivo.
Vantaggi di Ionic
- È facile trovare sviluppatori che possano creare app Ionic poiché Ionic è basato su tecnologie web standardizzate.
- È facile personalizzare l'aspetto di un'applicazione con solo modifiche HTML e CSS.
- Si possono creare più App da un unico codice sviluppato. I clienti che desiderano una nuova app, raramente ne vogliono una per una singola piattaforma, quindi avere un unico codice per creare più app diventa un PLUS non indifferente.
- Le app Ionic sono basate su tecnologie web e sono "stabili nel futuro" quindi non devono tenere il passo con l'ultimo sistema operativo del dispositivo.
- Ionic offre una libreria di componenti ed elementi per il front-end molto utili e facili da integrare. Questi componenti web accelerano il processo di sviluppo della UI mantenendo l'aspetto nativo (senza costi aggiuntivi).
- Gli sviluppatori possono utilizzare il browser di un dispositivo per testare ed effettuare attività di debugging di una app Ionic.
Svantaggi di Ionic
- Le app Ionic sono sconsigliate quando vengono richieste delle "grafiche avanzate" come funzionalità di realtà aumentata o animazioni varie e complesse.
- Ionic esegue il rendering degli elementi grafici tramite un browser che richiede diversi passaggi per mostrare le immagini sullo schermo quindi tutto ciò può influire sulle performance della app stessa.
- Ci saranno problemi di sicurezza fin quando le app potranno essere decodificate, ma a partire dalla versione 4, Ionic CLI include "la uglification" che rende il codice difficile da leggere per gli hacker.
- Ionic comunica con un back end utilizzando le tipiche chiamate HTTP. Sta quindi allo sviluppatore utilizzare misure di sicurezza che di norma si usano sui siti Web, come una connessione HTTPS.
La sicurezza non è necessariamente una questione tecnologica. È un problema dello sviluppatore. La creazione di app dipende maggiormente dai processi di un'azienda e dalle competenze e dall'esperienza di uno sviluppatore. “Un buon sviluppatore creerà un'app multipiattaforma sicura e un cattivo sviluppatore può creare un'app nativa con vulnerabilità.”
In conclusione
Ionic è una scelta migliore rispetto allo sviluppo nativo perché il "time-to-market", ovvero il periodo di tempo che intercorre tra l'ideazione di un prodotto e la sua effettiva commercializzazione, diventa sempre di più una priorità economica assoluta sia per il cliente che per l'azienda.