Ionic From Scratch cos'è Ionic?

Sei interessato a programmare app per dispositivi mobili, ma non hai le conoscenze specialistiche o l'esperienza nella programmazione e nello sviluppo di app iOS e Android? Bene, permettetemi di presentarvi il framework Ionic, che consente di scrivere un'app una volta e pubblicarla su qualsiasi piattaforma mobile.

Quindi, What Is Ionic?

In poche parole, Ionic è un framework gratuito che consente di creare app mobili per iOS, Android e Windows Phone, tutto da un unico database. In altre parole, Ionic è uno strumento per lo sviluppo mobile multipiattaforma.

Ionic è stata fondata nel 2012 da una start-up tecnologica chiamata Drifty Co, ed è ora il miglior framework open source al mondo per la creazione di app mobili ibride. 

Come funziona Ionic

Ionic ti consente di sviluppare app mobili utilizzando tecnologie web e linguaggi come HTML, CSS, JavaScript, Angular e TypeScript. Pertanto, considera Ionic un kit di sviluppo software front-end (SDK) per la creazione di applicazioni mobili ibride. In quanto tale, Ionic fornisce una raccolta di componenti che riproducono l'aspetto, la funzionalità e la funzionalità nativi di ciascuna piattaforma mobile. Esempi di questi componenti includono pulsanti, schede, menu, elenchi, schede, modali e così via.

Oltre a questi componenti che forniscono stile e "aspetto grafico" per le app mobili, Ionic fornisce anche l'appropriato comportamenti come la navigazione e i gesti, ad esempio gli eventi di scorrimento, rotazione e pizzicamento, per citarne solo alcuni. Ionic include anche una raccolta di icone chiamate Ionicons. Tutti questi componenti sono elementi che utilizzi per creare le tue app Ionic, insieme ai plugin Cordova e PhoneGap, che toccheremo tra poco.

Quanto è difficile per iniziare?

Non è davvero difficile iniziare a usare Ionic. Ionic è dotato di strumenti che ti aiutano a configurare, costruire ed eseguire il tuo progetto Ionic: questa è la Ionic Command-Line Interface (CLI). Tutte le librerie front-end e la CLI sono progetti open-source, quindi puoi utilizzarli gratuitamente quando sviluppi le tue app. 

Perché usare Ionic?

È difficile sviluppare app native. Lo sviluppo di solo app Android richiede di imparare come utilizzare l'IDE di Android Studio (Integrated Development Environment) e conoscere il linguaggio di programmazione Java o Kotlin. Dovrai anche comprendere concetti specifici di Android come attività e intenti e creerai le tue interfacce utente delle app con una sintassi XML personalizzata. 

Per iOS, è necessario utilizzare Xcode IDE (disponibile solo per Mac), nonché i linguaggi di programmazione Objective-C o Swift di Apple. Per non parlare di tutti i molti SDK e concetti specifici per Mac! Inoltre, se decidi di creare per Windows Phone, dovrai anche imparare come utilizzare l'IDE di Visual Studio, oltre a scrivere codice in C # o Visual Basic e così via ...

Quindi, se vuoi spedire la tua app su più piattaforme, dovresti riscrivere la stessa funzionalità in tre lingue diverse! Sviluppare app in questo modo richiede non solo l'apprendimento di molti linguaggi e strumenti diversi, ma anche la ricodifica della stessa logica per due o tre diversi linguaggi di programmazione e piattaforme mobili. E la stessa duplicazione di sforzi è necessaria quando è necessario apportare modifiche. Lo sviluppo di app in modo nativo richiede molto tempo, denaro e abilità. Quindi non sarebbe bello avere un singolo codice base che funzioni per tutte e tre le piattaforme? 

Ecco dove arriva Ionic!

Applicazioni ibride

Le app ibride sfruttano le librerie di ciascuna piattaforma oi componenti dell'interfaccia utente come pulsanti, elenchi e così via. Uno di questi componenti è la visualizzazione Web: una vista che visualizza pagine Web. Questo è un componente app mobile nativo in grado di eseguire un'applicazione Web. È quindi possibile scrivere un'app in HTML, CSS e JavaScript e utilizzare una visualizzazione Web per visualizzarla.

Si chiamano app ibride perché utilizzano un mix di codice nativo e HTML, CSS e JavaScript. Esistono molti framework che semplificano la creazione di un'app che esegue un'app Web in una visualizzazione Web. Il più popolare è Apache Cordova, di solito accessibile tramite la sua distribuzione più popolare: PhoneGap. Cordova è un progetto open-source e PhoneGap, di proprietà di Adobe, è basato su Cordova e fornisce funzionalità e servizi aggiuntivi su di esso.

Ionic utilizza il progetto Apache Cordova per creare ed eseguire le tue app come app native.

Ionico e Cordova

Cordova funge da ponte verso il codice nativo per Ionic. Compila HTML, JavaScript e CSS in app native, consentendo loro di eseguire nativamente su dispositivi Android, iOS e Windows Phone.

Se si scrive semplicemente un'app Web nello stesso modo in cui si scrive un sito Web e si impacchetta semplicemente come un'app mobile con Cordova, il risultato finale sarà un'app che sembra un sito Web. Gli utenti noteranno che lo stile e l'interazione dell'utente sono diversi da un'applicazione "normale" per dispositivi mobili. 

Questo è il pezzo mancante che Ionic offre - aspetto e aspetto nativo. Ionic include una raccolta di componenti che hanno lo stesso aspetto di componenti nativi, utilizzando gli stili e i comportamenti appropriati per ciascuna piattaforma, come accennato in precedenza. Puoi quindi scrivere la tua app in HTML, CSS e JavaScript, ma la tua app sembrerà un'app nativa piuttosto che una pagina web.

Cordova fornisce inoltre oltre 200 plug-in disponibili come componenti aggiuntivi che puoi utilizzare all'interno dei tuoi progetti Ionic, che ti consentono di accedere a API di dispositivi native come la fotocamera del telefono, la geolocalizzazione, il giroscopio e così via. Puoi utilizzarli per migliorare le funzionalità e le funzionalità della tua app. 

Ionico e angolare

È probabile che tu non voglia creare le tue app Web utilizzando solo JavaScript, HTML e CSS. Invece, probabilmente useresti un framework web come Angular. Angular è un framework incredibilmente popolare che semplifica la creazione di applicazioni Web reattive. E ora Ionic porta la potenza di Angular alla codifica mobile! 

Ionic rende possibile utilizzare il framework Angular per scrivere app mobili spedendo una ricca libreria di componenti e strumenti per compilare il codice di tipo Angular Type in un pacchetto di vanilla JavaScript, HTML e CSS, che Apache Cordova può quindi raggruppare in un applicazione mobile nativa.

Un rapido diagramma per illustrare quanto sopra sembra qualcosa del genere:

Conclusione

Per tutti coloro che cercano di entrare nel mondo dello sviluppo di app per dispositivi mobili, ti consiglio caldamente di incoraggiarti a provare Ionic, in quanto ti offre l'opportunità di sviluppare app mobili multipiattaforma, il tutto da un'unica base di codice.

Il framework è ben supportato e ha continuato a svilupparsi e crescere nel corso degli anni, e continua a migliorare sempre di più.