Skip to content

Catalogue des widgets natifs ​

Toutes les classes de phpnitro/ui (namespace Engine\Native\*) qui composent l'arbre de rendu : chacune implémente le contrat Widget (une passe layout(Constraints):Size, une passe paint(Canvas,x,y):void) ou sert de type de support à ce contrat. Chaque page dédiée a un exemple de code réel, la liste des paramètres du constructeur et les widgets apparentés.

WARNING

Ne réutilise pas d'anciens noms d'API (Column::make, Text::make, Screen, Widget en tant que classe finale) — ils n'existent plus. Tout widget s'instancie avec new Nom(...) depuis Engine\Native\*.

Mise en page ​

Positionnement, dimensionnement et disposition des enfants — l'équivalent des widgets de layout de Flutter (Row/Column/Stack/Padding/Container...).

  • Flex — Row/Column, algorithme Flex de Flutter
  • Flexible — Facteur flex pour un enfant de Flex
  • Stack — Enfants superposés en ordre de peinture
  • Positioned — Positionnement absolu dans un Stack
  • Padding — Marge intérieure autour d'un enfant
  • Container — Boîte couleur/padding/taille/bordures
  • Align — Alignement d'un enfant dans son espace
  • Center — Centre son enfant (cas de Align)
  • SizedBox — Force une taille fixe / espaceur
  • Wrap — Flux avec retour à la ligne
  • Fixed — Sous-arbre positionné relatif à l'écran

Texte & icônes ​

Rendu de texte et de glyphes via la police Material Icons réelle embarquée.

  • Text — Texte simple, wrap automatique
  • RichText — Styles mixtes via des TextSpan
  • Icon — Icône carrée Material Icons

Interaction ​

Boutons, champs, gestes et entrées natives — pas de DOM, donc des mécanismes réellement natifs (vrai clavier, vrai calendrier...).

Listes & défilement ​

Listes paginées, réordonnables, glissables, et pages qui défilent horizontalement.

Structure d'écran ​

L'ossature d'un écran natif : scaffold, barre du haut, navigation basse, tiroir, bouton flottant, bannière.

  • Scaffold — Ossature d'écran — réserve top/bottom
  • AppBar — Barre supérieure
  • Drawer — Tiroir de navigation plein écran
  • BottomNavigation — Navigation basse à onglets
  • Fab — Bouton d'action flottant
  • Banner — Bannière d'erreur/info dans le flux

Affichage riche ​

Composants visuels de plus haut niveau : cartes, listes d'items, tableaux, images, cartes géographiques, vidéo.

  • Card — Unité visuelle de base (élévation/ombre)
  • ListTile — Icône + titre/sous-titre + trailing
  • Table — Tableau à colonnes de largeur égale
  • Divider — Séparateur plein 1px
  • ImageCircle — Avatar circulaire réseau
  • IconCircle — Icône dans un cercle coloré
  • Image — Image réseau décodée hors thread principal
  • Lottie — Animation Lottie réelle
  • MapView — Carte pannable/zoomable réelle
  • VideoPlayer — Lecteur vidéo natif

Progression & retour visuel ​

Indicateurs de chargement et écran de démarrage.

Animation ​

Transitions implicites et peinture personnalisée.

  • Animated — Wrapper d'animation implicite général
  • Hero — Transition partagée via un tag
  • CustomPaint — Boîte de taille fixe peinte à la main

Async ​

Traitement en arrière-plan côté serveur PHP embarqué et affichage de son résultat.

  • Async — FutureBuilder, adossé à AsyncTask
  • AsyncTask — Process réel en arrière-plan

Onglets ​

La première primitive d'état 100% côté client du framework.

Fondamentaux ​

Le contrat de base du moteur de rendu, sa cible de peinture, et les types de support (enums/value objects) partagés par tous les widgets ci-dessus.

  • Widget — Le contrat layout()/paint() de tout widget
  • Canvas — Cible de peinture — commandes JSON
  • Alignment, Axis, Constraints… — Alignment, Axis, Constraints, CrossAxisAlignment, Curve, EdgeInsets, MainAxisAlignment, MaterialIcons, MediaQuery, Size, TextMetrics, TextSpan, Tokens

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