Une app mobile native avec Symfony ? C'est maintenant possible !

En une phrase

Cette vidéo présente comment transformer une application Symfony en une expérience mobile native pour Android et iOS grâce au composant Symfony UX Native, qui s'appuie sur Hotwire Native, en adaptant l'interface et la navigation.

Points clés

  • Concept : Découverte du composant UX Native de Symfony, basé sur Hotwire Native, permettant de créer des applications mobiles natives (Android/iOS) à partir d'une application web Symfony existante. L'objectif est d'offrir une expérience utilisateur proche du natif.
  • Mise en œuvre côté Symfony :

- Installation via composer require symfony/ux-native.

- Adaptation de l'interface Twig (ex : masquer la barre de navigation) grâce à la fonction ux_is_native().

- Création d'un fichier PHP (src/Native/AppNativeConfiguration.php) pour définir la configuration de l'application native (onglets, règles de navigation comme l'affichage de modales pour des routes spécifiques).

- Génération des fichiers de configuration JSON pour iOS et Android via la commande bin/console ux:native:dump.

  • Simulation et test : Il est possible de simuler l'affichage en mode natif directement dans le navigateur en modifiant l'User Agent pour inclure « wire native ».
  • Intégration côté application native : L'application native (ex : Android en Kotlin) utilise Hotwire pour charger l'application Symfony via une WebView et consomme le fichier JSON de configuration généré pour interpréter les règles de navigation (ex : afficher une modale pour /notes/new, un « pull-to-refresh » par défaut).
  • Bénéfices pour le développeur freelance : Permet de proposer des applications mobiles avec un « look & feel » natif (fluidité, gestion des barres, modales) à des clients PME possédant déjà une application Symfony, sans avoir à réécrire la logique métier en natif.