Guida allo sviluppo di plugin
Un Cordova plugin ponti un po' di funzionalità tra WebView alimentando un'applicazione di Cordova e la piattaforma nativa Cordova applicazione è in esecuzione. Plugin sono composti da una singola interfaccia JavaScript utilizzata su tutte le piattaforme e implementazioni native seguendo le interfacce di Plugin specifici della piattaforma che chiama il JavaScript. Tutto il nucleo Cordova APIs sono implementati utilizzando questa architettura.
Questa procedura guida il processo di scrittura di un semplice Plugin Echo che passa una stringa da JavaScript e la invia nell'ambiente nativo per le piattaforme supportate. Il codice nativo quindi restituisce la stessa stringa alle richiamate all'interno JavaScript del plugin.
Questa guida fornisce abbastanza panoramica su cui è possibile costruire per scrivere plugin più complessi.
JavaScript
Il punto di ingresso per ogni plugin è JavaScript. L'uso di sviluppatori di motivo che Cordova è così possono usare e scrivere JavaScript, non Objective-C, non Java, C#. L'interfaccia JavaScript per il tuo plugin è la parte frontale e senza dubbio più importante del vostro plugin di Cordova.
Si può strutturare JavaScript del vostro plugin comunque ti piace. L'unica cosa che si deve utilizzare per comunicare tra ambienti nativi e Cordova JavaScript è il cordova.exec
funzione. Ecco un esempio:
cordova.exec(function(winParam) {}, function(error) {}, "service",
"action", ["firstArgument", "secondArgument", 42,
false]);
I parametri sono i seguenti:
function(winParam) {}
: Callback di funzione successo. Supponendo che ilexec
chiamata viene completata correttamente, questa funzione viene richiamata (facoltativamente con parametri si passa ad essa).function(error) {}
: Callback di funzione errore. Se l'operazione non viene completata correttamente, questa funzione viene richiamata (facoltativamente con un parametro di errore)."service"
: Il nome del servizio per chiamare sul lato nativo. Questo è mappato a una classe nativa, che ulteriori informazioni sono disponibili nelle guide native elencate di seguito."action"
: Il nome dell'azione per chiamare. Questo viene raccolto il ricevendo classe nativa ilexec
chiamata e, a seconda della piattaforma, essenzialmente il mapping a un metodo della classe. Il native guide elencate di seguito forniscono dettagli.[/* arguments */]
: Argomenti da passare nell'ambiente nativo.
Nell'esempio JavaScript Plugin echo
window.echo = function(str, callback) {
cordova.exec(callback, function(err) {
callback('Nothing to echo.');
}, "Echo", "echo", [str]);
};
Tuffiamoci in questo. Il plugin si attacca a window
, in particolare alla echo
funzione. Plugin utenti sarebbe quindi utilizzare come segue:
window.echo("echome", function(echoValue) {
alert(echoValue == "echome"); // should alert true.
});
In primo luogo, diamo un'occhiata agli ultimi tre argomenti per la exec
funzione. Ci sarà la chiamata il Echo
"di servizio", chiedendo la echo
"azione", e passando un array di argomenti contenenti la stringa di eco, che è il primo parametro nella window.echo
funzione.
Il callback di successo passati in exec
è semplicemente un riferimento al metodo di callback che la funzione window.echo
accetta. Facciamo un po' di più per il callback di errore: se il lato nativo spara il callback di errore, semplicemente richiamare il callback di successo e passarvi una stringa "predefinito".
Plugin Specification
Cordova ha una specifica di plugin disponibile per consentire l'installazione automatica del plugin per Android, iOS, piattaforme 10 BlackBerry e Windows Phone. Strutturare il vostro plugin in modo particolare e aggiungendo un plugin.xml
file manifesto, si possono consentire agli utenti di installare il plugin tramite l'utensileria da riga di comando.
Nativo
Una volta definito per il plugin JavaScript, è necessario integrarla con almeno un'implementazione nativa. Dettagli di farlo per ciascuna piattaforma sono elencate di seguito. Queste guide continuano a costruire il semplice esempio Echo Plugin discusso sopra.
La piattaforma di Tizen attualmente non supporta plugin.
Editrice plugins
Una volta sviluppato il vostro plugin, è possibile pubblicarlo e condividerlo con la Comunità. Si può pubblicare il tuo plugin nel registro di sistema di cordova (basato su npmjs) o a qualsiasi altro npmjs base del registro di sistema. Gli utenti saranno in grado di installarlo automaticamente utilizzando plugman o cordova-cli.
Per pubblicare un plugin è necessario utilizzare lo strumento plugman e passare attraverso le seguenti fasi:
$ plugman adduser # that is if you don't have an account yet
$ plugman publish /path/to/your/plugin
Questo è tutto!
Sono disponibili altri comandi basati sui registri e plugman --help
vi darà una lista di quali comandi sono disponibili e come utilizzarli.