PhoneGap è un framework per lo sviluppo multipiattaforma su HTML/JavaScript, per sette piattaforme mobili. Oggi si può leggere un numero considerevole di articoli dedicati a PhoneGap, scritti da sviluppatori nativi, che provato programmazione multi-piattaforma, o sviluppatori front-end, che provato lo sviluppo mobile. Loro valutazione di PhoneGap come buono o cattivo è, è influenzata dalla loro originale campo di attività; pertanto PhoneGap è chiamato 'viziata' o 'cool'.
Ma ci sono gli sviluppatori che dedicano la loro attività esclusivamente allo sviluppo di PhoneGap, e studiano le sottigliezze di questo framework cross-platform. Non non c'è nessuna soluzione universale, in sviluppo nativo, né in via di sviluppo cross-platform. Tutto dipende dal progetto software; e queste sottigliezze possono aiutare a decidere se PhoneGap dovrebbe essere scelto come piattaforma per il progetto.
Le funzionalità di cross-platform di PhoneGap sono raggiunti nel modo seguente: un progetto nativo è generato, caratteristico per ogni piattaforma, che include un browser (un componente nativo webView) come componente principale. Questo browser è in grado di visualizzare il codice HTML/JavaScript come una normale pagina web. Il sistema di file di questo progetto comporta la parte di un file server, che dà accesso alla pagina. Come bonus aggiuntivo, c'è un oggetto che permette di PhoneGap standardizzare l'accesso alle funzionalità native dei dispositivi mobili che eseguono i sistemi operativi supportati, come ad esempio fotocamera, accelerometro, bussola, contatti ecc.
Se l'API di default non è abbastanza, PhoeGap Plugin API vi permetterà di scrivere un codice che implementa la funzionalità carente. Questo codice è scritto in linguaggio di programmazione nativo, che è specifico per ogni piattaforma peculiare.
In sostanza, un progetto di PhoneGap contiene quattro parti funzionali, che assicurano l'attuazione del codice HTML/JavaScript:
1) un browser nativo (webView), incorporato nel progetto;
2) strutturato API per l'accesso la funzionalità nativa di un dispositivo mobile da codice JavaScript;
3) API per la scrittura di plugin nativo;
4) file storage, che contiene l'HTML, JavaScript e altre risorse web dell'applicazione.
Così PhoneGap permette di costruire una service-oriented, pagina singola applicazione HTML-5.
99% di sviluppo PhoneGap è layouting e JS-codifica con la considerazione per la peculiarità di ambiente (un dispositivo mobile, limitata lavorazione potenza, memoria, touch screen ecc.) e browser. Durante PhoneGap sviluppo uno deve prendere in considerazione la specificità di ogni piattaforma, il browser di default (che ha webView basato su di esso). PhoneGap è esigente, quando si tratta di architettura e di ottimizzazione. Interfaccia utente deve essere ottimizzato per ogni piattaforma; Ecco perché specificando che le piattaforme di destinazione influenzerà il tempo speso per il progetto.
In precedenza abbiamo toccato il problema di PhoneGap e delineato quattro problemi principali durante la costruzione di un reattivo app su PhoneGap: il ritardo di 300 millisecondi, il problema del toccare, ottimizzazione struttura DOM e lunghe liste. E abbiamo proposto soluzioni per questi problemi. Così abbiamo raggiunto una conclusione che i 'punti deboli' di PhoneGap sono fondamentalmente tecnica specificità, che dovrebbero essere trattate come tali.
Per concludere, ecco alcuni consigli utili su PhoneGap sviluppo - per risparmiare tempo ed evitare la frustrazione.
1) Le librerie esterne meno sono utilizzate, il migliore. Questo riguarda le limitate risorse di un dispositivo mobile. È nei pressi di avere una flotta di navi per trasportare un singolo box (il caso aziendale di applicazione). Il carburante sarà consumato da tutta la flotta. Scegliere librerie pensieroso e cercare di sfruttare appieno le loro capacità;
2) L'applicazione non deve guardare lo stesso su tutte le piattaforme e le versioni del sistema operativo. È meglio fare un trade-off in stile e l'aspetto di un app, al fine di mantenere la velocità e la funzionalità intatto;
3) Usare CSS background per visualizzare le immagini; pertanto verrà caricata un'immagine solo se un elemento dell'elenco è visualizzato sullo schermo;
4) I metodi di ottimizzazione, applicabili per le pagine web con architettura client-server, non sono sempre la soluzione migliore per un'applicazione di PhoneGap. Non ci sono nessuna richiesta di rete lunga per il caricamento di file HTML/JS/CSS, quindi non non c'è alcuna necessità nel considerare la dimensione di un file JavaScript, o, per esempio, nella minimizzazione degli invisibili pixel in un'immagine. Scegliere un modo di affrontare l'inevitabile ritardo di 250 millisecondi prima che carichi un file; la nostra scelta era pigro precaricamento e piastrelle;
5) Luogo input campi sul lato superiore dello schermo - così potrai evitare differenze nel comportamento di layout di pagina durante la visualizzazione della tastiera;
6) Lunghe liste sono un problema che dovrebbe essere evitato - a meno che abbiate una soluzione;
7) Evitare tonalità, sfumature e traslucenza, ove possibile. Tutto questo fronzoli richiede alimentazione supplementare, che ha Perchè utilizzarlo solo ove necessario;
8) Utilizzare il potere dell'unità di elaborazione grafica tramite CSS.