Chapitre 7 : Frameworks historiques et fondations du “hybride”
L’architecture hybride a historiquement ouvert la porte aux développeurs web pour créer des logiciels mobiles. Deux noms majeurs sont à l’origine de cette transition technologique : Cordova et AngularJS.
I. Apache Cordova (et PhoneGap)
Définition
Cordova est un framework open source qui a démocratisé les “applications hybrides”. La magie de Cordova réside dans le fait d’encapsuler un site web classique (codé avec du banal HTML, CSS et JavaScript) à l’intérieur d’un composant applicatif natif fondamental : la WebView (une fenêtre de navigateur invisible sans barre d’adresse) étirée en plein écran.
Fonctionnement
- L’utilisateur télécharge l’application (l’icône Cordova) sur le Store localement sur son téléphone.
- Quand l’app s’ouvre, elle lance la WebView qui affiche le site web encapsulé, sans recourir à internet si les actifs HTML/JS sont embarqués.
- Le plus grand tour de force de Cordova : Son interfaçage (les ponts d’API). Cordova injecte du code natif qui donne aux développeurs web la permission de parler au téléphone avec du simple JavaScript. On peut lancer l’appareil photo du téléphone avec ce simple bout de JS !
Évolution historique
Cordova a été racheté par Adobe et transformé en produit commercial sous le nom commercial de PhoneGap.
Aujourd’hui sa popularité s’effondre. Pourquoi ?
- Les performances : Une page web dans une WebView saccade, elle ne peut rivaliser avec de la programmation native compilée (pour une animation à 60 ou 120 FPS). L’expérience utilisateur est jugée dégradée, “pas naturelle”, car on ne simule que grossièrement les boutons natifs d’un iPhone.
II. Le socle historique : AngularJS
Qu’est-ce qu’AngularJS
AngularJS est un vieux framework front-end (l’ancêtre d’Angular) créé par Google en 2010. Il a imposé un principe fondamental et novateur qui a infusé dans toutes les technologies suivantes, notamment mobiles. L’une de ces plus grandes forces ayant stimulé les développeurs hybrides des premiers jours était le Two-Way Data Binding (Liaison bidirectionnelle des données).
Le concept de Two-Way Data Binding
Dans AngularJS, si un utilisateur tapait du texte dans un simple <input type="text"> sur son écran, non seulement l’écran visuel mettait à jour l’information, mais la variable Javascript du développeur changeait magiquement de valeur en temps réel. Réciproquement, si l’API modifiait la variable, l’affichage (la Vue UI) se redessinait d’elle-même dans la milliseconde sans rafraichir la page.
C’est cette puissance architecturale qui a permis de donner vie à de véritables complexes Single Page Applications (SPA), dont l’apparence se rapprochait d’un logiciel mobile réactif plutôt que d’un vieux site internet nécessitant des recharges complètes de page via serveur (le cycle CRUD classique de type PHP/Apache d’antan).
En résumé
Si Cordova et AngularJS sont aujourd’hui considérés comme des “Reliques Technologiques” et ne sont plus conseillés pour un nouveau projet d’envergure, ces outils hybrides ont inspiré directement les mastodontes colossaux qui dominent le marché en ce moment (React Native, Flutter) en prouvant que l’approche Multiplateforme à base unique était une chimère qui pouvait exister.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Chapitre 7 : Frameworks historiques et fondations du "hybride". Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.