Applications hybrides pour smartphones/tablettes

Applications hybrides ?

Vous êtes une entreprise qui n’est pas spécialisée dans le développement informatique ?
Ou une entreprise spécialisée dans le Web-développement / Web design ?

Il existe un moyen de réaliser simplement des Applications Mobiles Multi-plateformes, basées sur les technologies Web.

Alchiweb.fr peut :

  • développer une application mobile spécifique, compatible avec la plupart des OS (iOS, Android, Windows, Ubuntu, MacOSX, Tizen, Qt…) car basée sur Cordova,
  • vous former pour que vous puissiez prendre en charge les futurs développements,
  • vous accompagner pour mieux développer en JavaScript grâce au langage TypeScript.

Applications natives ?

Pour certaines applications, il peut être nécessaire de réaliser un développement natif pour :

  • des soucis de performances (calculs complexes, affichage 3D),
  • des fonctionnalités très spécifiques au système, non prises en compte par les (nombreux) plugins de Cordova

Ainsi, stratégiquement, je pense qu’il peut être intéressant de choisir de réaliser des applications :

  • hybrides pour iOS (Apple) et Android (Google),
  • natives pour gérer au mieux l’environnement Windows 10.
    Depuis l’arrivée de Windows 10, il n’y a besoin que d’une seule application pour être compatible avec les smartphones, tablettes, ordinateurs portables, de bureau, etc.
    A noter : j’ai réalisé un prototype d’application, commencé avant même le lancement de Windows 10.

Stockage des données ?

Dans une application mobile, il y a des données :

  • qui changent rarement (informations dites « froides »). Le stockage peut être directement dans l’application.
  • qui changent souvent (informations dites « chaudes »). Le stockage se situe sur Internet : dans le « Cloud », sur un site ou autre (base de données propriétaire par exemple). S’il existe déjà un site Internet (CMS ou eCommerce), il est pertinent  que l’application récupère les informations venant de ce site.

Jusqu’à présent, les applications mobiles que j’ai faites utilisent WordPress (CMS) et PrestaShop (eCommerce) pour les données mises à jour régulièrement.

https://alchiweb.fr/dev-mobile-cordova/

Cordova

Intel XDK

Intel XDK est un environnement de développement gratuit conçu par Intel pour créer des applications hybrides HTML5 avec des technologies Web :

  • Html 5 / Css 3
  • JavaScript

Il permet à des Web-développeurs de concevoir des applis hybrides multiplateforme.

intel XDK est basé sur Cordova (tout comme PhoneGAP) et est donc compatible avec iOS, Android, Windows, Tizen.

Apache Cordova est une plateforme permettant à un développeur d’applis mobiles d’accéder à des fonction natives de JavaScript telles que la caméra ou l’accéléromètre, ce qui permet de développer une appli exclusivement en HTML, CSS et JavaScript.

https://alchiweb.fr/dev-mobile-cordova/intel-xdk-3/

TypeScript + Intel XDK

Développer directement en JavaScript n’est pas pertinent pour des projets professionnels, souvent gros et difficiles à maintenir. Les trans-compilateurs permettent de remédier à ce problème en développant dans un autre langage et en générant du JavaScript.
Ainsi, le TypeScript est un langage qui permet la trans-compilation vers le JavaScript.

Le TypeScript est en pleine expansion et permet de développer dans un vrai langage objet et typé, tout en restant très proche du JavaScript.
Ainsi, il permet d’avoir de bonnes habitudes de développement objet, tout en exploitant les caractéristiques dynamiques de JavaScript.

En mars 2015, il a été choisi comme base pour le développement d’AngularJS 2.0.

Remarque : pour la solution XmaDevLab, j’avais choisi le trans-compilateur SharpKit (pour développer en C#). XmaDevLab n’est cependant plus maintenu.

https://alchiweb.fr/dev-mobile-cordova/typescript-intel-xdk/

UI : Framework7 pour iOS et Android (Material Design)

Pour l’interface graphique, il est possible de choisir n’importe quel design basé sur un framework web (HTML5/CSS3/JS).

Ceci dit, celui qui me paraît le plus judicieux est « Framework7 » :

  • l’un des meilleurs frameworks pour avoir une application avec le look and feel d’iOS s’harmonisant parfaitement avec les autres applications sur iPad et iPhone
  • depuis la version 1.2 (juillet 2015), permet de choisir également une interface pour Android (Material Design)
  • très complet et très réactif, avec des spécificités exclusives s’inspirant de l’expérience utilisateur de iOS
  • opensource

Ce choix est cohérent avec ce que je propose de réaliser :

  • une application hybride multi-plateformes iOS et Android, avec une interface graphique parfaitement adaptée à ces 2 plateformes
  • une application native dédiée à Windows 10 et Windows 10 Phone

L’intégration avec Intel XDK (ou PhoneGAP ou directement avec Cordova) est naturelle et permet d’ajouter des fonctionnalités plus bas niveau .

https://alchiweb.fr/dev-mobile-cordova/ui-framework7-pour-ios-et-android-material-design/

Côté serveur : WordPress, Prestashop…

La plupart du temps, quand on crée une application mobile, on a besoin de stocker des données à distance :

  • soit dans le « cloud »
  • soit via un serveur spécifique, indépendant

Dans les 2 cas, l’application mobile pourra communiquer avec le serveur via une API (généralement de type RESTful).

Ainsi, si on ne veut pas être dépendant du « cloud » ou d’un prestataire qui propose une solution fermée, on peut gérer soi-même son serveur.
Une possibilité pertinente serait de gérer un site comme WordPress ou PrestaShop et d’accéder aux données via une API RESTful.
De cette façon, on répond à la fois au besoin d’un site Internet et ceux d’une application mobile dédiée, tout en ne gérant les informations qu’à un seul endroit.

https://alchiweb.fr/dev-mobile-cordova/cote-serveur-wordpress-prestashop/