Skip to content

Qu'est-ce que PhpNitro ? ​

PhpNitro est un framework qui compile un arbre de widgets écrit en PHP vers de vrais écrans mobiles natifs. Pas de WebView, pas de HTML/CSS dans le pipeline de rendu : un vrai runtime PHP, cross-compilé via le NDK, tourne sur l'appareil, calcule une passe de layout à contraintes puis une passe de peinture, et envoie le résultat — une liste plate de commandes de dessin JSON — à un client Kotlin qui les rejoue sur un vrai android.graphics.Canvas (Skia). Si tu sais écrire du PHP, tu sais écrire un écran natif.

Ce qui arrive d'habitude à un dev PHP qui doit livrer une app mobile ​

Le brief tombe : "il nous faut une appli mobile". Le backend existe déjà, en PHP, souvent depuis des années. Trois chemins s'ouvrent alors, et aucun ne part de ce qui est déjà là.

Le premier : apprendre Dart et l'écosystème Flutter en entier — un nouveau langage, un nouveau moteur de widgets, une nouvelle façon de penser l'état, pour une équipe qui n'en avait pas besoin la semaine dernière. Le deuxième : apprendre React Native, donc React si ce n'est pas déjà fait, puis composer avec un pont JS↔natif qui a ses propres subtilités. Le troisième, le plus tentant sur le papier : empaqueter le site existant dans une WebView et appeler ça une app. Ça marche, jusqu'au jour où il faut un vrai accès caméra, un capteur biométrique, une notification qui réveille l'app en arrière-plan — et la WebView montre sa limite : elle n'a jamais été conçue pour ça.

PhpNitro part d'une autre question : et si le PHP qui tourne déjà sur le serveur pouvait tourner directement sur le téléphone, avec un vrai pont vers les capacités natives, sans repartir de zéro dans un autre langage ? C'est un pari architectural assumé (voir l'architecture pour le détail, sans enjoliver), pas une promesse que tout est déjà réglé.

Face à Flutter et React Native ​

Une comparaison honnête, pas un tableau à sens unique : PhpNitro est jeune, Flutter et React Native sont matures et déployés en masse depuis des années.

PhpNitroFlutterReact Native
LangagePHPDartJavaScript / TypeScript
Modèle d'exécutionRuntime PHP embarqué, un cycle layout+peinture par requête HTTP localeArbre de widgets en mémoire, VM Dart compilée AOTPont JS ↔ vues natives (bridge / JSI)
RenduCommandes JSON rejouées sur un vrai Canvas Android — déjà backé par Skia au niveau OSMoteur Skia embarqué par le runtime lui-même (indépendant de l'OS)Vues natives réelles pilotées depuis JS
Hot reload, état préservéNon — re-fetch complet à la prochaine interactionOuiOui (Fast Refresh)
iOSMoteur de rendu (Core Graphics) écrit et testé en CI, PHP embarqué pas encore vérifié sur deviceMature, en productionMature, en production
Écosystème de packagesTout jeune (phpnitro/* sur Packagist)pub.dev, immensenpm, immense
Accessibilité (lecteur d'écran)Arbre de nœuds virtuel, confirmé sur device réel (14 nœuds exposés via uiautomator)Complète (Semantics)Complète (composants natifs)
Le plus adapté pourUne équipe/dev PHP qui veut une app sans changer d'écosystèmeUne UI très personnalisée, cross-platform, équipe dédiée mobileUne équipe déjà React/JS qui réutilise ses compétences web

Par où commencer ? ​

  • Installation — Prérequis, scaffold d'un nouveau projet avec phpx new, serveur de dev, build Android.
  • Guides — Créer une page/entité, composer un écran avec les widgets Native*, publier sur Android.
  • Référence — Toutes les commandes phpx, la structure d'un projet.
  • Architecture — Le cycle de rendu en détail, et l'état honnête du projet face à Flutter/React Native.
  • Widgets — Catalogue complet des ~58 classes du moteur de rendu.
  • Packages phpnitro/* — Les 22 packages publiés sur Packagist, au-delà des 6 inclus par défaut.
  • PhpNitro Go — L'équivalent Expo Go de PhpNitro : prévisualise ton app sans recompiler.
  • Desktop — Linux, macOS, Windows : où en est chaque chantier, honnêtement.

PhpNitro est un produit FINANFA TECH — Publié sous licence MIT.