Applications langue – test : Apprendre une langue en 7 jours

Applications pour apprendre une langue :

Au cours de la semaine dernière, depuis que nous avons publié la première version bêta d’Icenium, j’ai discuté avec de nombreux développeurs Web et Web mobiles qui commencent à développer des applications pour appareils mobiles ou qui vont bientôt commencer. Ces personnes, qui sont novices dans la création d’applications qui s’exécutent sur des appareils, se posent de nombreuses questions sur les options qui leur sont disponibles et sont très confuses quant au web natif vs mobile vs hybride. Aux fins de cette conversation, j’utiliserai les définitions suivantes : les applications natives sont conçues pour une plate-forme spécifique avec le SDK, les outils et les langages de la plate-forme, généralement fournis par le fournisseur de la plate-forme (par exemple, xCode/Objective-C pour iOS, Eclipse/ Java pour Android, Visual Studio/C# pour Windows Phone). Les applications Web mobiles sont des applications côté serveur, construites avec n’importe quelle technologie côté serveur (PHP, Node.js, ASP.NET) qui restituent du HTML qui a été stylisé de manière à ce qu’il s’affiche bien sur un facteur de forme de périphérique. Les applications hybrides, comme les applications natives, s’exécutent sur l’appareil et sont écrites avec des technologies Web (HTML5, CSS et JavaScript). Les applications hybrides s’exécutent dans un conteneur natif et exploitent le moteur de navigation de l’appareil (mais pas le navigateur) pour afficher le code HTML et traiter le code JavaScript localement. Une couche d’abstraction Web vers native permet d’accéder aux fonctionnalités de l’appareil qui ne sont pas accessibles dans les applications Web mobiles, telles que l’accéléromètre, la caméra et le stockage local. Que dois-je choisir ? L’une des préoccupations les plus courantes pour les développeurs Web nouveaux dans le monde des applications mobiles est la courbe d’apprentissage requise pour créer des applications natives, ou le manque d’éducation sur ce qu’est une application hybride. Mon conseil est, avant de vous engager dans une seule voie, de considérer l’expérience utilisateur et ce que chaque option vous offre. Les applications natives fourniront toujours les performances les plus rapides, au prix d’être plus complexes à coder par rapport à une application hybride, tandis qu’une application hybride sera plus facile à créer, en utilisant HTML5 et JavaScript, au prix d’abandonner un peu de la vitesse. Si l’expérience utilisateur que vous souhaitez créer est un jeu de style Need for Speed, vous souhaiterez probablement utiliser la technologie native pour implémenter l’application pour chaque plate-forme mobile que vous ciblez afin d’obtenir les meilleures performances graphiques. Si vous souhaitez créer le prochain Foursquare, en utilisant la géolocalisation et en fournissant un moyen d’afficher et de mettre à jour les données, une application hybride est une solution parfaite et vous permet de la créer une fois, de la publier dans les magasins d’applications et de la faire fonctionner sur plusieurs plateformes. . Pourquoi une entreprise peut-elle avoir besoin d’une application mobile ? Lisez 5 raisons données par nos amis de Mobiversal. Comme tout autre choix technologique, choisir entre natif et hybride vous oblige à examiner l’expérience utilisateur et à décider du niveau d’investissement que vous devez faire pour atteindre l’objectif. Les applications natives nécessiteront toujours plus d’investissement car elles sont écrites avec des langages, des conceptions et des structures plus complexes. Ils doivent également être écrits/réécrits pour chaque plate-forme mobile que vous ciblez. Les applications hybrides vous permettront toujours de créer plus de plates-formes plus rapidement, si vous êtes prêt à sacrifier de petites quantités de performances (par exemple, la réactivité au niveau du jeu). Qu’est-ce qu’une application hybride ? Hybride, par définition, est tout ce qui dérive de sources hétérogènes, ou composé d’éléments de natures différentes ou incongrues. Une application hybride est une application écrite avec la même technologie que celle utilisée pour les sites Web et les implémentations Web mobiles, et qui est hébergée ou s’exécute dans un conteneur natif sur un appareil mobile. C’est le mariage de la technologie Web et de l’exécution native. Les applications hybrides utilisent un contrôle d’affichage Web (UIWebView sur iOS, WebView sur Android et autres) pour présenter les fichiers HTML et JavaScript dans un format plein écran, en utilisant le moteur de rendu du navigateur natif (pas le navigateur lui-même). WebKit est le moteur de rendu du navigateur utilisé sur iOS, Android, Blackberry et autres. Cela signifie que le HTML et le JavaScript utilisés pour construire une application hybride sont rendus/traités par le moteur de rendu WebKit (pour vous les utilisateurs de Windows 8, c’est ce que fait le moteur IE10 pour les applications de style Metro qui utilisent WinJS) et affichés à l’utilisateur dans un contrôle d’affichage Web en plein écran, pas dans un navigateur. Vous n’êtes plus contraint d’utiliser HTML et JavaScript uniquement pour les implémentations dans le navigateur sur les appareils mobiles. La véritable sauce secrète des applications hybrides est la mise en œuvre d’une couche d’abstraction qui expose les capacités de l’appareil (lire : API natives) à l’application hybride en tant qu’API JavaScript. C’est quelque chose qui n’est pas possible avec les implémentations du Web mobile en raison de la limite de sécurité entre le navigateur et les API de l’appareil. Apache Cordova (anciennement PhoneGap) est un exemple de couche d’abstraction JavaScript sur les API natives (pour vous, les utilisateurs de Windows 8, WinJS est un autre exemple de couche d’abstraction JavaScript sur les API natives). Grâce à cette couche d’abstraction, un ensemble commun d’API est exposé dans JavaScript, et ces API JavaScript fonctionnent sur n’importe quel appareil pris en charge par le framework (pour WinJS, il s’agit uniquement de Windows 8, mais pour Cordova, il s’agit de sept plates-formes mobiles, notamment iOS, Android, Blackberry et Windows. Téléphone 7). Lorsque le wrapper natif est compilé autour des ressources HTML, CSS et JavaScript, une couche d’interopérabilité est ajoutée qui connecte les API JavaScript aux API spécifiques à la plate-forme. Ce que cela signifie vraiment, c’est que, par exemple, si je crée une application mobile avec Apache Cordova, je peux utiliser JavaScript pour accéder à une API native, comme la caméra, à l’aide d’un seul appel d’API, quelle que soit la plate-forme sur laquelle l’application s’exécutera. 01.navigator.camera.getPicture ( 02. onCameraSuccess, 03. onCameraError, 04. 05. qualité : 50, 06. destinationType : Camera.DestinationType.DATA_URL 07. 08.); 09. 10.function onCameraSuccess (imageData) 11. var image = document.getElementById(‘myImage’); 12. image.src = « data:image/jpeg;base64, » + imageData; 13. 14. 15.function onCameraError (message) 16. alert(‘Échec car : ‘ + message); 17. Sous les couvertures, JavaScript effectue un appel d’interopérabilité qui accède à l’API native de la caméra. Cela signifie que sur un appareil iOS, ce JavaScript appelle la couche native pour instancier un UIImagePickerController et sur Android, il crée une intention d’utiliser MediaStore.ACTION_IMAGE_CAPTURE pour prendre une photo. Lorsque vous développez une application hybride, vous n’avez pas à vous soucier de ce niveau de détail. Tout ce que vous avez à faire est d’appeler la fonction JavaScript (navigator.camera.getPicture() dans ce cas) et de répondre au résultat (l’imageData transmise à la fonction de rappel onCameraSuccess dans ce cas). Résumé Les applications hybrides sont une excellente option pour vous si vous : Vous souhaitez cibler plusieurs plates-formes mobiles Vous souhaitez tirer parti des fonctionnalités de l’appareil telles que la géolocalisation, l’accéléromètre ou l’appareil photo Vous souhaitez que l’application soit utilisable lorsque l’appareil est hors ligne Vous n’avez pas besoin des graphiques avancés des performances que vous ne pouvez obtenir qu’à partir d’une application native. Les applications hybrides sont conçues avec des technologies Web, ce qui signifie que des millions de développeurs Web disposent déjà des compétences de base pour créer des applications mobiles. Voici un graphique qui met en évidence les différences entre les applications web natives, hybrides et mobiles.Icenium n’est plus en Bêta ! Comment ça marche? Apprenez-en plus sur Icenium et comment il vous permet de développer facilement des applications mobiles hybrides pour iOS et Android. Mieux encore, c’est entièrement GRATUIT jusqu’au 1er mai 2013 ! Mise à jour de mars 2015 : comme pour tout, beaucoup de choses ont changé après ce message original. Pour une mise à jour, vous pouvez jeter un œil à un article que nous avons publié sur notre réseau de développeurs : Qu’est-ce qu’une application mobile hybride ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *