In questo articolo, ti presenterò Cordova, un framework utilizzato per lo sviluppo di applicazioni mobili. Se sei nuovo in Cordova o vuoi sapere se è lo strumento giusto per il tuo prossimo progetto, allora sei nel posto giusto. In questo articolo, cercherò di rispondere alle seguenti domande:
Andiamo avanti e tuffati.
Cordova è un framework di sviluppo di applicazioni mobili destinato principalmente agli sviluppatori web. Consente agli sviluppatori Web di utilizzare tecnologie web, come HTML, CSS e JavaScript, per creare applicazioni mobili. Come ogni altra tecnologia, Cordova ha i suoi pro e contro.
cameraDirection
il valore risulta sempre in una foto scattata con la fotocamera posteriore.Quando si lavora con Cordova, si incontra spesso il termine PhoneGap. PhoneGap è il nome del progetto originale creato da una startup chiamata Nitobi intorno al 2009. Nel 2011, la società è stata acquisita da Adobe.
Nota che Adobe non ha acquistato la base di codice attuale, solo il nome e le persone che hanno lavorato a Nitobi. Il nucleo open source è stato donato alla Apache Software Foundation, che ora è conosciuta come Cordova.
Un'analogia comune utilizzata dagli sviluppatori è che Cordova è per PhoneGap ciò che WebKit è per Safari. In altre parole, PhoneGap è una distribuzione di Cordova gestita da Adobe. Se vuoi saperne di più sulla storia, puoi dare un'occhiata a questo articolo sul blog PhoneGap di Brian LeRoux.
In pratica, PhoneGap e Cordova sono praticamente gli stessi. Puoi scegliere PhoneGap o Cordova all'avvio di un progetto. L'unica differenza è la CLI (Command Line Interface). La CLI di PhoneGap si integra con Adobe PhoneGap Build. Questo servizio consente agli sviluppatori di compilare le loro app sulla piattaforma di loro scelta caricandola sul sito Web PhoneGap Build.
L'interfaccia utente di Cordova è una vista web. Puoi pensare alla vista Web come a una scheda in un browser. Quando si compila un'applicazione Cordova, in realtà non prende il codice HTML, CSS e JavaScript e lo converte automagicamente in codice nativo, specifico per ciascuna piattaforma.
Cordova funge da contenitore per l'app che scrivi utilizzando le tecnologie web. Quando l'app è compilata, il tuo codice rimane effettivamente intatto. Il compilatore prende il tuo codice e lo rende disponibile per la visualizzazione web per il rendering.
Se hai mai aperto un file HTML in un browser, è praticamente la stessa cosa. Devi tenere presente che questa visualizzazione web è implementata in modo diverso su ogni dispositivo. Ciò significa che alcune funzionalità non sono disponibili su alcune piattaforme o sono implementate in modo diverso.
Con Cordova, hai accesso alle funzionalità del dispositivo nativo attraverso l'uso di plug-in. I plug-in sono componenti aggiuntivi che espongono un'API JavaScript per i componenti nativi. Consentono di accedere alle funzionalità del dispositivo nativo sfruttando l'API JavaScript che espone.
Come potresti sospettare, i plugin sono scritti in codice nativo. Ciò significa che è necessario che l'SDK sia installato per le diverse piattaforme che si prevede di distribuire, solo allora è possibile scrivere il codice nativo per ciascuna di tali piattaforme. Quindi si invoca il codice nativo tramite l'API JavaScript in modo che sia possibile accedervi nella vista Web.
Ci sono due tipi di plugin che puoi trovare nell'ecosistema di plugin Cordova. Innanzitutto sono i plugin ufficiali. Questi sono mantenuti dalla comunità Cordova. Saprai che un plugin è ufficiale se ha il Cordova-plugin prefisso.
L'altro tipo di plugin sono plugin personalizzati. Questi sono costruiti da sviluppatori come te e me. Spesso, sono costruite per risolvere un problema molto specifico, come la connessione di un'app a Facebook o il plug-in Ionic Keyboard per facilitare l'interazione con la tastiera.
Se vuoi saperne di più sul tipo di plugin che puoi utilizzare con Cordova, puoi visitare il sito web dei Plugin Cordova.
Mentre puoi costruire praticamente qualsiasi tipo di app con Cordova, ci sono alcuni limiti di cui parleremo in seguito. Per ora, passiamo ad alcune app di esempio che puoi costruire con Cordova.
In base alle app sopra elencate, ora dovresti avere un'idea del tipo di app che puoi costruire con Cordova. Se sei uno sviluppatore, potresti aver notato che tutte queste app utilizzano Internet. Tutti comunicano con un server remoto per recuperare i dati. Questo è ciò che Cordova è bravo a recuperare i dati da un server, presentandolo all'utente e ascoltando e rispondendo all'input dell'utente.
Ma questo non significa che non puoi creare app autonome con Cordova. Esistono molte soluzioni database sul lato client che è possibile utilizzare prontamente. Un esempio popolare è LokiJS, un datastore veloce e orientato ai documenti per Node.js, il browser e Cordova. Ad esempio, in una app di galleria fotografica è possibile utilizzare questa libreria per archiviare i percorsi delle foto e quindi recuperarle dall'archivio quando necessario.
Con Cordova puoi usare praticamente qualsiasi libreria CSS o JavaScript che puoi trovare su cdnjs, perché il codice che scrivi viene eseguito nel browser. Bisogna fare attenzione però, non tutti i browser sono uguali. E questo ci porta alla prossima sezione.
Come per qualsiasi altra cosa nella vita, ci sono sempre dei limiti. Cordova non fa eccezione. In questa sezione, parlerò di alcune limitazioni di Cordova.
Qualunque cosa tu possa ottenere con il codice nativo, puoi anche farlo con Cordova. Ci sono tuttavia due limiti comuni, prestazione e disponibilità di plugin.
Cordova accede alle funzionalità dei dispositivi nativi tramite plugin e questo ha un costo, un costo che le app native non hanno. Come accennato in precedenza in questo tutorial, non è una buona idea creare app con Cordova che facciano molto affidamento sulla CPU o sulla GPU. Tali app non saranno performanti come vorreste che fossero, specialmente se confrontate con le controparti native.
Un'altra limitazione è la disponibilità dei plugin. Se una funzionalità specifica non è disponibile tramite un plug-in esistente nel repository, la tua unica scelta è quella di creare il plugin da solo.
Per impostazione predefinita, Cordova utilizza la visualizzazione Web della piattaforma per il rendering dell'interfaccia utente, il che significa che stai interagendo con una visualizzazione Web diversa su tutte le piattaforme a cui sei indirizzato.
Inoltre, diverse versioni del sistema operativo della piattaforma possono avere una vista Web diversa o una con un diverso set di funzionalità. Ad esempio, i dispositivi Android moderni potrebbero avere un sapore di Android con WebRTC abilitato mentre versioni precedenti di Android non dispongono di questa funzionalità.
Per gli sviluppatori Cordova, è un bene che progetti come Crosswalk vengano in soccorso. Crosswalk consente di utilizzare una visualizzazione Web personalizzata nelle app Cordova, normalizzando le differenze tra le piattaforme. Più avanti in questo tutorial, ti mostrerò come utilizzare Crosswalk in un progetto Cordova.
Se vuoi saperne di più su Cordova, dai un'occhiata al corso di Reggie Dawson su Cordova. Reggie ti introduce sulla piattaforma e ti aiuta a creare un'applicazione Cordova da zero. Dai un'occhiata al video qui sotto per avere un assaggio del corso.
Dovresti ora avere una buona idea di cos'è la Cordova e come fa la sua magia. Spero che questo articolo abbia risposto alla domanda se Cordova sia lo strumento giusto per il tuo prossimo progetto mobile.
Nel prossimo articolo ci sporcheremo le mani creando un'applicazione mobile con Cordova. Sentiti libero di lasciare qualsiasi domanda o commento che hai nei commenti qui sotto.