Différents choix technologiques sont possible dans le cadre d’une stratégie de mobilité, mais il ne faut pas oublier que la technologie pure importe peu pour l’utilisateur final.
Ce sont votre compréhension du besoin, les choix que vous allez faire et votre capacité d’exécution qui détermineront la qualité du produit fini.
Le cas d’un éditeur
Inutile de revenir sur la place écrasante qu’a pris le mobile dans nos vies personnelles mais également professionnelles. Du e-commerce aux médias, en passant par les transports ou la gestion de ses comptes bancaires, difficile d’y échapper.
Chez HRC Software, nous avons choisi de développer des solutions mobiles spécifiques (pour exploiter les capacités uniques des terminaux) à destination de la logistique et de la maintenance.
Qu’on soit grand groupe du CAC40 ou PME, les critères de décision restent les mêmes, seul le poids que représente chacun d’eux dans l’équation globale est modulé.
Deux catégories historiques existent :
- Natif (iOS, Android) : chaque terminal mobile dispose de son système d’exploitation. Une application native exploite spécifiquement (et exclusivement) le langage de programmation, le SDK, … propres à cet OS, et les applications sont téléchargées depuis un store.
- Web mobile (React, View, JSAngular) : l’application s’exécute dans le navigateur Web, en utilisant les standards du Web que sont : HTML, CSS et Javascript. L’application fonctionne en mode connecté.
Pour des raisons de performance ou de coût (le développement Web est à la fois réutilisable et moins coûteux que le développement natif), d’autres solutions ont vu le jour, démontrant la porosité qui existe entre ces 2 univers :
- Hybride (PhoneGap, Ionic) : les pages Web sont encapsulées dans une enveloppe mobile native (une “WebView”) ce qui permet d’exploiter certaines des fonctionnalités natives tout en réutilisant les pages Web. Le passe du mode natif au hybride est courant.
- Native compilée (React Native, Flutter, NativeScript, Xamarin) (ou plutôt transpilée) : l’application est développée dans une technologie autre que la technologie native, mais un mécanisme de compilation permet de la convertir en une application native à la plateforme (à terme, cela devient une application native)
- Mixte (=native + hybride) : au sein d’une application native, on intègre une partie hybride (par exemple pour réutiliser un existant pour lequel un portage natif ne se justifie pas)
- Progressive Web App : à l’origine lancées par Google, les PWA sont des applications Web optimisées, compatibles avec un usage mobile* : utilisation hors-ligne, réception de notifications, ajout à l’écran d’accueil… les PWA peuvent aussi être exploitées sur un ordinateur de bureau.
Critères à prendre en compte
Voici quelques-uns des critères de décision les plus courants :
- coût de développement (développeurs, licences, …)
- temps de développement
- compétences de vos équipes / prestataires → qualité du développement.
Ces 3 premiers critères forment d’ailleurs ce qu’on appelle le “triangle de fer”
- plateforme cible (iOS, Androïd, voire autres OS plus “exotiques”)
- fonctionnalités natives du terminal à exploiter (ex : laser scan, envoi de SMS, …) même si le Web permet beaucoup de choses
- distribution de l’application
- code existant réutilisable / à réutiliser
- intégration dans l’architecture existante / cible
- coût des terminaux (pour un projet interne à l’entreprise, incluant l’octroi de terminaux aux collaborateurs)
Pour de nombreuses entreprises, une stratégie mobile efficace est un enjeu majeur, mais ces critères peuvent vous aider à affiner votre décision. Si plusieurs candidats sont au coude-à-coude, vous voudrez alors certainement passer par une phase de Proof of Concept avant de vous lancer.