La toolchain per l'esecuzione delle app di Chrome sui dispositivi mobili è ancora in anteprima per gli sviluppatori. Non esitare a donare il tuo feedback tramite lo strumento di monitoraggio dei problemi di GitHub, il nostro forum degli sviluppatori di app Chrome, su Stack Overflow o la nostra pagina per sviluppatori G+.
Panoramica
Puoi eseguire le tue app Chrome su Android e iOS tramite una toolchain basata su Apache Cordova, un framework di sviluppo mobile open source per la creazione di app mobile con di archiviazione utilizzando HTML, CSS e JavaScript.
Apache Cordova esegue il wrapping del codice web della tua applicazione con una shell dell'applicazione nativa e ti consente di
distribuire la tua app web ibrida tramite Google Play e/o l'App Store di Apple. Per utilizzare Apache Cordova
con un'app di Chrome esistente, puoi utilizzare la riga di comando cca
(c ordova c hrome a pp)
lo strumento a riga di comando gcloud.
Risorse aggiuntive
- Ci sono alcune considerazioni speciali che dovresti tenere a mente quando sviluppi con Cordova: che abbiamo elencato nella sezione delle considerazioni.
- Per visualizzare le API di Chrome supportate sui dispositivi mobili, visita la pagina Stato API.
- Per visualizzare l'anteprima dell'app Chrome su un dispositivo Android senza la toolchain, utilizza la sezione App di Chrome strumento per sviluppatori (ADT).
Iniziamo.
Passaggio 1: installa gli strumenti di sviluppo
La toolchain delle app di Chrome per dispositivi mobili può avere come target iOS 6 e versioni successive e Android 4.x e versioni successive.
Dipendenze di sviluppo per tutte le piattaforme
È richiesta la versione Node.js 0.10.0 (o successive) con
npm
:- Windows: installa Node.js utilizzando gli eseguibili di installazione scaricabili da nodejs.org.
- OS X o Linux: gli eseguibili dell'installazione sono disponibili anche su nodejs.org. Se se non è necessario l'accesso root, può essere più conveniente eseguire l'installazione tramite nvm. Esempio:
curl https://raw.github.com/creationix/nvm/master/install.sh | sh source ~/.bash_profile || source ~/.profile || source ~/.bashrc nvm install 0.10 nvm alias default 0.10
Targeting di Android
Quando sviluppi un'applicazione per Android, dovrai anche installare:
- Java JDK 7 (o superiore)
- SDK per Android versione 4.4.2 (o successive)
- .
- Installa l'SDK Android e gli Strumenti per sviluppatori Android che vengono forniti in bundle con Android ADT Bundle.
- Aggiungi
sdk/tools
esdk/platform-tools
alla tua variabile di ambiente PATH. - OS X: la versione di Eclipse fornita con l'SDK Android richiede JRE 6. Se apri Eclipse.app non richiede di installare JRE 6, scaricalo dal Mac App Store.
- Linux: l'SDK Android richiede librerie di supporto a 32 bit. Su Ubuntu, ottieni questi tramite:
apt-get install ia32-libs
.
- Formica Apache
- .
- Aggiungi
apache-ant-x.x.x/bin
alla tua variabile di ambiente PATH.
- Aggiungi
Targeting per iOS
Tieni presente che lo sviluppo iOS può essere eseguito solo su OS X. Inoltre, dovrai installare:
- Xcode 5 (o versioni successive), che include gli strumenti a riga di comando Xcode
- ios-deploy (necessario per il deployment su un dispositivo iOS)
- .
npm install -g ios-deploy
- ios-sim (necessario per il deployment nel simulatore iOS)
- .
npm install -g ios-sim
- (Facoltativo) Registrati come sviluppatore iOS
- Questa operazione è necessaria per i test su dispositivi reali e per l'invio allo store.
- Puoi saltare la registrazione se intendi utilizzare solo i simulatori per iPhone/iPad.
Installa lo strumento a riga di comando cca
Installa cca
tramite npm:
npm install -g cca
Per aggiornare la toolchain in un secondo momento con le nuove release: npm update -g cca
.
Verifica che tutto sia installato correttamente eseguendo questo comando dalla riga di comando:
cca checkenv
Verranno visualizzati il numero di versione di cca
e la conferma dell'SDK per Android o iOS.
dell'installazione.
Passaggio 2: crea un progetto
Per creare un progetto predefinito dell'app di Chrome per dispositivi mobili in una directory denominata YourApp
esegui:
cca create YourApp
Se hai già creato un'app di Chrome e vuoi portarla su una piattaforma mobile, puoi utilizzare la
--link-to
per creare un link simbolico:
cca create YourApp --link-to=path/to/manifest.json
Se invece vuoi copiare i file di app di Chrome esistenti, puoi utilizzare il flag --copy-from
:
cca create YourApp --copy-from=path/to/manifest.json
Non hai ancora una tua app di Chrome? Prova una delle tante app di Chrome di esempio per dispositivi mobili assistenza.
Passaggio 3. Sviluppo
Puoi creare ed eseguire la tua applicazione in due modi:
- Opzione A: dalla riga di comando, utilizzando lo strumento
cca
oppure - Opzione B: tramite un IDE, come Eclipse o Xcode. L'uso di un IDE è del tutto facoltativo (ma spesso utili) per aiutarti ad avviare, configurare e eseguire il debug della tua applicazione mobile ibrida.
Opzione A: sviluppo e creazione tramite riga di comando
Dalla directory principale della cartella di progetto generata con cca
:
Android
- Per eseguire l'app sull'emulatore Android:
cca emulate android
- Nota: per farlo, devi aver configurato un emulatore. Puoi eseguire
android avd
per configurarlo. Per scaricare altre immagini dell'emulatore, eseguiandroid
. Per velocizzare l'esecuzione delle informazioni, installa HAXM di Intel.
- Nota: per farlo, devi aver configurato un emulatore. Puoi eseguire
- Per eseguire l'app su un dispositivo Android connesso:
cca run android
iOS
- Per eseguire l'app sul simulatore iOS:
cca emulate ios
- Per eseguire l'app su un dispositivo iOS connesso:
cca run ios
- Nota: è necessario che tu abbia configurato un profilo di provisioning per il dispositivo.
Opzione B: sviluppa e crea utilizzando un IDE
Android
- In Eclissi, seleziona
File
->Import
. - Scegli
Android
>Existing Android Code Into Workspace
. - Esegui l'importazione dal percorso appena creato con
cca
.- Dovresti avere due progetti da importare, uno dei quali è
*-CordovaLib
.
- Dovresti avere due progetti da importare, uno dei quali è
- Fai clic sul pulsante Riproduci per eseguire l'app.
- Dovrai creare una configurazione di esecuzione (come in tutte le applicazioni Java). Ottieni di solito viene richiesto automaticamente la prima volta.
- Dovrai gestire anche i dispositivi/emulatori la prima volta.
iOS
Apri il progetto in Xcode digitando quanto segue in una finestra del terminale:
cd YourApp open platforms/ios/*.xcodeproj
Assicurati di creare il target giusto.
In alto a sinistra (accanto ai pulsanti Esegui e Interrompi), c'è un menu a discesa per selezionare il progetto di destinazione e dispositivo. Assicurati che sia selezionata l'opzione
YourApp
e nonCordovaLib
.Fai clic sul pulsante Riproduci.
Modifiche al codice sorgente dell'app
I tuoi file HTML, CSS e JavaScript risiedono nella directory www
della cartella del progetto cca.
Importante: dopo aver apportato modifiche a www/
, devi eseguire cca prepare
prima di eseguire il deployment
un'applicazione. Se esegui cca build
, cca run
o cca emulate
dalla riga di comando,
la fase di preparazione viene eseguita automaticamente. Se stai sviluppando utilizzando Eclipse/XCode, devi eseguire
cca prepare
manualmente.
Debug
Puoi eseguire il debug dell'app Chrome sui dispositivi mobili nello stesso modo in cui esegui il debug delle applicazioni Cordova.
Passaggio 4. Passaggi successivi
Ora che hai un'app Chrome per dispositivi mobili funzionante, hai a disposizione molti modi per migliorare l'esperienza sul dispositivi mobili.
Manifest per dispositivi mobili
Esistono alcune impostazioni dell'app Chrome che si applicano solo alle piattaforme mobile. Abbiamo creato un
file www/manifest.mobile.json
che contenga queste informazioni, a cui viene fatto riferimento in ogni parte
la documentazione del plug-in e questa guida.
Devi modificare i valori in questo campo di conseguenza.
Icone
Le app mobile richiedono una risoluzione delle icone in più rispetto alle app di Chrome desktop.
Per Android, sono necessarie le seguenti dimensioni:
- 36px, 48px, 78px, 96px
Per le app iOS, le dimensioni richieste variano a seconda che tu supporti iOS 6 o iOS 7. Il numero minimo di icone richiesto è:
- iOS 6: 57px, 72px, 114px, 144px
- iOS 7: 72px, 120px, 152px
Un elenco completo di icone sarebbe simile al seguente nel file manifest.json
:
"icons": {
"16": "assets/icons/icon16.png",
"36": "assets/icons/icon36.png",
"48": "assets/icons/icon48.png",
"57": "assets/icons/icon57.png",
"72": "assets/icons/icon72.png",
"78": "assets/icons/icon78.png",
"96": "assets/icons/icon96.png",
"114": "assets/icons/icon114.png",
"120": "assets/icons/icon120.png",
"128": "assets/icons/icon128.png",
"144": "assets/icons/icon144.png",
"152": "assets/icons/icon152.png"
}
Le icone verranno copiate nelle posizioni appropriate per ogni piattaforma ogni volta che esegui
cca prepare
.
Schermate iniziali
Le app su iOS mostrano una breve schermata iniziale durante il caricamento. Un insieme di contenuti iniziali predefiniti per Cordova
schermate sono incluse in platforms/ios/[AppName]/Resources/splash
.
Le dimensioni richieste sono:
- 320px x 480px + 2x
- 768px x 1024px + 2x (verticale iPad)
- 1024 px x 768 px + 2x (orizzontale iPad)
- 640px x 1146px
Al momento cca
non modifica le immagini della schermata iniziale.
Passaggio 5: pubblica
Nella directory platforms
del progetto sono presenti due progetti nativi completi: uno per Android e
una per iOS. Puoi creare versioni di release di questi progetti e pubblicarle su Google Play o in
all'App Store di iOS.
Pubblica sul Play Store
Per pubblicare la tua app Android sul Play Store:
Aggiorna i due ID versione di Android, quindi esegui
cca prepare
:- Il campo
android:versionName
viene impostato utilizzando la chiaveversion
inwww/manifest.json
(viene impostata la dell'app desktop in pacchetto). - La colonna
android:versionCode
è stata impostata usando la chiaveversionCode
inwww/manifest.mobile.js
.
- Il campo
Modifica (o crea)
platforms/android/ant.properties
e impostakey.store
ekey.alias
(come spiegato nella documentazione per gli sviluppatori Android).Crea il tuo progetto:
./platforms/android/cordova/build --release
Cerca il file .apk firmato che si trova all'interno di
platforms/android/ant-build/
.Carica l'applicazione firmata nella Google Play Developer Console.
Pubblica sull'App Store per iOS
- Aggiorna la versione dell'app impostando la chiave
CFBundleVersion
inwww/manifest.mobile.js
, poi eseguicca prepare
. Apri il file di progetto Xcode che si trova nella directory
platforms/ios
:piattaforme aperte/ios/*.xcodeproj
Segui la Guida alla distribuzione di app di Apple.
Considerazioni speciali
Se non hai mai utilizzato le app di Chrome, la cosa più importante è che alcune funzionalità web sono disattivate. Tuttavia, molti di questi servizi attualmente funzionano a Córdova.
Un'app di Chrome potrebbe non funzionare subito sui dispositivi mobili. Alcuni problemi comuni con il trasferimento su dispositivi mobili:
- Problemi di layout con schermi piccoli, soprattutto in un orientamento verticale.
- Correzione suggerita:utilizza le query multimediali CSS per ottimizzare i tuoi contenuti per gli schermi più piccoli.
- Le dimensioni delle finestre dell'app di Chrome impostate tramite chrome.app.window verranno ignorate e verranno invece utilizzate il parametro
dimensioni native del dispositivo.
- Correzione suggerita:rimuovi le dimensioni della finestra hardcoded. progetta la tua app con dimensioni diverse mente.
- Sarà difficile toccare con un dito pulsanti e link piccoli.
- Correzione suggerita:regola i touch target in modo che siano almeno 44 x 44 punti.
- Comportamento imprevisto quando si utilizza il passaggio del mouse, che non esiste sui touch screen.
- Correzione suggerita:oltre al passaggio del mouse, attiva anche elementi UI come menu a discesa e descrizioni comando. tocca.
- Un ritardo di tocco di 300 ms.
- Correzione suggerita:utilizza il polyfill JavaScript FastClick by FT Labs.
- Leggi questo articolo su HTML5Rocks per alcune informazioni di base.
API di Chrome supportate
Abbiamo messo a disposizione delle app di Chrome per dispositivi mobili molte delle principali API di Chrome, tra cui:
- identity: consente agli utenti di accedere tramite OAuth2
- pagamenti: vendi beni virtuali all'interno della tua app per dispositivi mobili
- pushMessaging: esegui il push dei messaggi nella tua app dal tuo server
- socket: invia e ricevi dati sulla rete utilizzando TCP e UDP
- notifications (solo Android): invia notifiche avanzate dall'app mobile.
- storage: archivia e recupera localmente i dati delle coppie chiave-valore
- syncFileSystem: archivia e recupera i file supportati da Google Drive
- sveglie: esegui attività periodicamente
- idle: rileva quando lo stato di inattività della macchina cambia
- alimentazione: sostituisce le funzioni di gestione dell'alimentazione del sistema.
Tuttavia, non tutte le API JavaScript di Chrome sono implementate. Inoltre, non tutte le funzionalità di Chrome Desktop disponibile sui dispositivi mobili:
- nessun tag
<webview>
- nessun IndexedDB
- nessun getUserMedia()
- nessun NaCl
Puoi monitorare l'avanzamento nella pagina Stato API.
Strumento per sviluppatori di app di Chrome
Lo Strumento per sviluppatori di app di Chrome (ADT) per Android è un'app Android autonoma che ti consente di: scaricare ed eseguire un'app di Chrome senza configurare la toolchain di sviluppo come descritto sopra. Utilizza le funzionalità di Chrome ADT quando vuoi visualizzare rapidamente l'anteprima di un'app Chrome esistente (già pacchettizzata come .crx) sul tuo dispositivo Android.
Chrome ADT per Android è attualmente in una versione pre-alpha. Per provare, consulta la Note di rilascio di ChromeADT.apk per istruzioni di installazione e utilizzo.