La chaîne d'outils permettant d'exécuter des applications Chrome sur mobile est disponible en version preview anticipée pour les développeurs. N'hésitez pas à donner nous faire part de vos commentaires via l'outil de suivi des problèmes GitHub, notre forum des développeurs d'applications Chrome, sur Stack Overflow ou notre page Google+ pour les développeurs.
Présentation
Vous pouvez exécuter vos applications Chrome sur Android et iOS via une chaîne d'outils basée sur Apache Cordova, un framework de développement mobile Open Source permettant de créer des applications mobiles avec des à l'aide de HTML, CSS et JavaScript.
Apache Cordova encapsule le code Web de votre application dans un shell d'application natif et vous permet
distribuer votre application Web hybride via Google Play et/ou l'App Store d'Apple. Pour utiliser Apache Cordova
avec une application Chrome existante, utilisez la ligne de commande cca
(c ordova c hrome a pp)
.
Ressources supplémentaires
- Vous devez tenir compte de certains points spécifiques lorsque vous développez avec Cordova : vous les trouverez dans la section Remarques.
- Pour connaître les API Chrome compatibles avec les appareils mobiles, consultez la page État de l'API.
- Pour prévisualiser votre application Chrome sur un appareil Android sans chaîne d'outils, utilisez les applications Chrome Outils pour les développeurs (ADT).
C'est parti !
Étape 1: Installez vos outils de développement
La chaîne d'outils des applications Chrome pour mobile peut cibler iOS 6 ou version ultérieure et Android 4.x ou version ultérieure.
Dépendances de développement pour toutes les plates-formes
Veuillez utiliser Node.js version 0.10.0 (ou ultérieure) avec
npm
:- Windows: installez Node.js à l'aide des exécutables d'installation téléchargeables sur nodejs.org.
- OS X ou Linux: les exécutables d'installation sont également disponibles sur nodejs.org. Si vous vous n'avez pas besoin d'un accès root, il peut être plus pratique de l'installer via nvm. Exemple :
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
Ciblage d'Android
Lorsque vous développez une application pour Android, vous devez également installer:
- Java JDK 7 (ou version ultérieure)
- SDK Android 4.4.2 (ou version ultérieure)
<ph type="x-smartling-placeholder">
- </ph>
- Installez le SDK Android et les outils pour les développeurs Android, qui sont fournis avec le bundle Android ADT.
- Ajoutez
sdk/tools
etsdk/platform-tools
à votre variable d'environnement PATH. - OS X: la version d'Eclipse fournie avec le SDK Android nécessite JRE 6. Si l'ouverture Eclipse.app ne vous invite pas à installer JRE 6. Pour le récupérer, utilisez le Mac App Store.
- Linux: le SDK Android nécessite des bibliothèques Support 32 bits. Sous Ubuntu, vous pouvez les obtenir via:
apt-get install ia32-libs
- Apache Ant
<ph type="x-smartling-placeholder">
- </ph>
- Ajoutez
apache-ant-x.x.x/bin
à votre variable d'environnement PATH.
- Ajoutez
Ciblage d'iOS
Notez que le développement iOS ne peut être effectué que sur OS X. De plus, vous devez installer:
- Xcode 5 (ou version ultérieure), qui inclut les outils de ligne de commande Xcode
- ios-deploy (nécessaire pour déployer sur un appareil iOS)
<ph type="x-smartling-placeholder">
- </ph>
npm install -g ios-deploy
- ios-sim (nécessaire pour le déploiement sur le simulateur iOS)
<ph type="x-smartling-placeholder">
- </ph>
npm install -g ios-sim
- Facultatif: S'inscrire en tant que développeur iOS
<ph type="x-smartling-placeholder">
- </ph>
- Cela est nécessaire pour les tests sur des appareils réels et pour l'envoi à la plate-forme de téléchargement d'applications.
- Vous pouvez ignorer l'enregistrement si vous prévoyez uniquement d'utiliser les simulateurs iPhone/iPad.
Installer l'outil de ligne de commande cca
Installez cca
via npm:
npm install -g cca
Pour mettre à jour la chaîne d'outils ultérieurement avec les nouvelles versions: npm update -g cca
.
Vérifiez que tout est correctement installé en exécutant cette commande depuis la ligne de commande:
cca checkenv
Le numéro de version de cca
s'affiche et une confirmation de votre SDK Android ou iOS s'affiche.
l'installation.
Étape 2: Créez un projet
Pour créer un projet d'application mobile Chrome par défaut dans un répertoire nommé YourApp
, exécutez la commande suivante:
cca create YourApp
Si vous avez déjà créé une application Chrome et que vous souhaitez la transférer vers une plate-forme mobile, vous pouvez utiliser la
--link-to
pour créer un lien symbolique vers celui-ci:
cca create YourApp --link-to=path/to/manifest.json
Si vous préférez copier les fichiers de votre application Chrome existants, vous pouvez utiliser l'indicateur --copy-from
:
cca create YourApp --copy-from=path/to/manifest.json
Vous n'avez pas encore votre propre application Chrome ? Essayez l'un des nombreux exemples d'applications Chrome pour mobile l'assistance technique.
Étape 3: Développement
Vous pouvez créer et exécuter votre application de deux manières:
- Option A: à partir de la ligne de commande, à l'aide de l'outil
cca
ou - Option B: En utilisant un IDE, comme Eclipse ou Xcode L'utilisation d'un IDE est entièrement facultative (mais souvent utile) pour vous aider au lancement, à la configuration et au débogage de votre application mobile hybride.
Option A: Développer et compiler à l'aide de la ligne de commande
À partir de la racine du dossier de projet généré par cca
:
Android
- Pour exécuter votre application sur Android Emulator:
cca emulate android
<ph type="x-smartling-placeholder">- </ph>
- Remarque: Pour cela, vous devez configurer un émulateur. Vous pouvez exécuter
android avd
pour configurer cela. Téléchargez des images d'émulateur supplémentaires en exécutantandroid
. Pour que les images Intelligence s’exécutent plus rapidement, installer Intel HAXM.
- Remarque: Pour cela, vous devez configurer un émulateur. Vous pouvez exécuter
- Pour exécuter votre application sur un appareil Android connecté:
cca run android
iOS
- Pour exécuter votre application dans le simulateur iOS:
cca emulate ios
- Pour exécuter votre application sur un appareil iOS connecté:
cca run ios
<ph type="x-smartling-placeholder">- </ph>
- Remarque: Pour cela, vous devez avoir configuré un profil de provisionnement pour votre appareil.
Option B: Développer et compiler à l'aide d'un IDE
Android
- Dans Eclipse, sélectionnez
File
->Import
- Sélectionnez
Android
>Existing Android Code Into Workspace
- Importez les données à partir du chemin d'accès que vous venez de créer avec
cca
.- Vous devriez avoir deux projets à importer, dont un
*-CordovaLib
.
- Vous devriez avoir deux projets à importer, dont un
- Cliquez sur le bouton Lecture pour exécuter votre application.
<ph type="x-smartling-placeholder">
- </ph>
- Vous devrez créer une configuration d'exécution (comme pour toutes les applications Java). Vous obtenez généralement vous y êtes invité pour la première fois automatiquement.
- Vous devrez également gérer vos appareils/émulateurs la première fois.
iOS
Ouvrez le projet dans Xcode en saisissant la commande suivante dans une fenêtre de terminal:
cd YourApp open platforms/ios/*.xcodeproj
Assurez-vous de créer la bonne cible.
En haut à gauche (à côté des boutons "Exécuter" et "Arrêter"), un menu déroulant vous permet de sélectionner le projet cible et appareil. Assurez-vous que
YourApp
est sélectionné, et nonCordovaLib
.Cliquez sur le bouton de lecture.
Modifier le code source de votre application
Vos fichiers HTML, CSS et JavaScript se trouvent dans le répertoire www
du dossier de votre projet CCA.
Important: Après avoir modifié www/
, vous devez exécuter cca prepare
avant de déployer votre
application. Si vous exécutez cca build
, cca run
ou cca emulate
à partir de la ligne de commande, la
l'étape de préparation
s'effectue automatiquement. Si vous développez à l'aide d'Eclipse/XCode, vous devez exécuter
cca prepare
manuellement.
Débogage
Pour déboguer votre application Chrome sur mobile, suivez la même procédure que pour déboguer des applications Cordova.
Étape 4: Étapes suivantes
Maintenant que vous disposez d'une application mobile Chrome fonctionnelle, de nombreuses façons d'améliorer l'expérience sur votre appareils mobiles.
Fichier manifeste mobile
Certains paramètres de l'application Chrome ne s'appliquent qu'aux plates-formes mobiles. Nous avons créé
www/manifest.mobile.json
pour les contenir. Les valeurs spécifiques sont référencées tout au long du fichier
la documentation du plug-in et ce guide.
Vous devez ajuster les valeurs ici en conséquence.
Icônes
Les applications mobiles nécessitent un peu plus de résolutions d'icônes que les applications Chrome de bureau.
Pour Android, les tailles suivantes sont nécessaires:
- 36px, 48px, 78px, 96px
Pour les applications iOS, les tailles requises diffèrent selon que vous prenez en charge iOS 6 ou iOS 7. Le nombre minimal d'icônes requis est le suivant:
- iOS 6: 57px, 72px, 114px, 144px
- iOS 7: 72px, 120px, 152px
La liste complète des icônes se présente comme suit dans votre fichier 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"
}
Les icônes seront copiées aux emplacements appropriés de chaque plate-forme à chaque exécution
cca prepare
Écrans de démarrage
Les applications iOS affichent un bref écran de démarrage pendant leur chargement. Un ensemble d'éclaboussures Cordova par défaut
écrans sont inclus dans platforms/ios/[AppName]/Resources/splash
.
Les tailles requises sont les suivantes:
- 320px x 480px + 2x
- 768 px x 1 024 px + 2x (iPad en mode portrait)
- 1 024 px x 768 px + 2x (iPad paysage)
- 640px x 1146px
Les images de l'écran de démarrage ne sont actuellement pas modifiées par cca
.
Étape 5: Publier
Dans le répertoire platforms
de votre projet, vous avez deux projets natifs complets: un pour Android, et
une pour iOS. Vous pouvez créer des versions de ces projets et les publier sur Google Play ou sur
l'App Store iOS.
Publier sur le Play Store
Pour publier votre application Android sur le Play Store, procédez comme suit:
Mettez à jour les deux ID de version Android, puis exécutez
cca prepare
:android:versionName
est défini à l'aide de la cléversion
danswww/manifest.json
(ce qui définit le de votre application de bureau empaquetée également).android:versionCode
est défini à l'aide de la cléversionCode
danswww/manifest.mobile.js
.
Modifiez (ou créez)
platforms/android/ant.properties
et définissez les élémentskey.store
etkey.alias
(comme expliqué dans la documentation pour les développeurs Android).Créez votre projet:
./platforms/android/cordova/build --release
Votre fichier .apk signé se trouve dans
platforms/android/ant-build/
.Importez votre application signée dans la console développeur de Google Play.
Publier sur l'App Store iOS
- Mettez à jour la version de l'appli en définissant la clé
CFBundleVersion
danswww/manifest.mobile.js
, puis exécutezcca prepare
. Ouvrez le fichier de projet Xcode qui se trouve dans votre répertoire
platforms/ios
:plates-formes ouvertes/ios/*.xcodeproj
Suivez l'App Distribution Guide d'Apple.
Considérations particulières
Si vous débutez avec les applications Chrome, le principal piège est que certaines fonctionnalités Web sont désactivées. Cependant, plusieurs d'entre eux fonctionnent actuellement à Cordoue.
Il est possible qu'une application Chrome ne fonctionne pas immédiatement sur mobile. Voici quelques problèmes courants liés au portage vers un appareil mobile:
- Problèmes de mise en page avec les petits écrans, en particulier en mode portrait.
- Solution suggérée:utilisez les requêtes média CSS afin d'optimiser votre contenu pour les écrans de petite taille.
- Les tailles de fenêtre de l'application Chrome définies via chrome.app.window seront ignorées. Elles utiliseront plutôt la
les dimensions natives de l'appareil.
- Solution suggérée:supprimez les dimensions de fenêtre codées en dur. concevoir votre application avec différentes tailles dans à l'esprit.
- Il sera difficile d'appuyer sur les petits boutons et les liens avec un doigt.
- Solution suggérée:ajustez vos zones cibles tactiles sur au moins 44 x 44 points.
- Comportement inattendu en cas de survol avec la souris, qui n'existe pas sur les écrans tactiles.
- Correction suggérée:en plus du passage de la souris, activez des éléments d'interface utilisateur tels que les menus déroulants et les info-bulles appuyez.
- Délai d'appui de 300 ms.
- Solution suggérée:utilisez le polyfill JavaScript FastClick by FT Labs.
- Consultez cet article HTML5Rocks pour obtenir des informations générales.
API Chrome compatibles
De nombreuses API Chrome principales sont disponibles dans les applications Chrome pour mobile, y compris les suivantes:
- identity (identité) : connecte les utilisateurs à l'aide d'OAuth2.
- payments : vente de biens virtuels via votre application mobile ;
- pushMessaging : transfère des messages vers votre application à partir de votre serveur.
- Sockets : envoient et reçoivent des données sur le réseau via TCP et UDP.
- Notifications (Android uniquement) : envoyez des notifications enrichies depuis votre application mobile.
- storage : stocke et récupère des données clé-valeur localement
- syncFileSystem : permet de stocker et de récupérer des fichiers sauvegardés par Google Drive
- alarms : exécute des tâches régulièrement
- idle : permet de détecter tout changement d'état d'inactivité de la machine.
- power : ignorer les fonctionnalités de gestion de l'alimentation du système
Cependant, toutes les API JavaScript de Chrome ne sont pas implémentées. Les fonctionnalités de Chrome pour ordinateur ne sont pas toutes disponible sur mobile:
- aucune balise
<webview>
- aucune base de données indexée
- pas de getUserMedia()
- sans NaCl
Vous pouvez suivre la progression sur la page État de l'API.
Outil pour les développeurs d'applications Chrome
L'outil de développement d'applications Chrome (ADT) pour Android est une application Android autonome qui vous permet : télécharger et exécuter une application Chrome sans configurer la chaîne d'outils de développement, comme décrit ci-dessus. Utilisez L'ADT de Chrome lorsque vous souhaitez prévisualiser rapidement une application Chrome existante (déjà empaquetée au format .crx) sur votre appareil Android.
Chrome ADT pour Android est actuellement en version pré-alpha. Pour l'essayer, consultez le Notes de version de ChromeADT.apk pour obtenir des instructions d'installation et d'utilisation