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 FlutterFlexible— Facteur flex pour un enfant de FlexStack— Enfants superposés en ordre de peinturePositioned— Positionnement absolu dans un StackPadding— Marge intérieure autour d'un enfantContainer— Boîte couleur/padding/taille/borduresAlign— Alignement d'un enfant dans son espaceCenter— Centre son enfant (cas de Align)SizedBox— Force une taille fixe / espaceurWrap— Flux avec retour à la ligneFixed— 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 automatiqueRichText— Styles mixtes via des TextSpanIcon— 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...).
Button— Bouton pilule tappableConfirmButton— Bouton + dialogue de confirmation natifAlertButton— Bouton + alerte nativeTappable— Rend n'importe quel enfant tappableGestureDetector— Callbacks de gestes brutsCheckbox— Case à cocher toggléeToggle— Interrupteur on/offSelectBox— Sélecteur natif (pas de<select>)TextField— Champ ouvrant un vrai clavier natifDatePicker— Sélecteur de date natifTimePicker— Sélecteur d'heure natif
Listes & défilement
Listes paginées, réordonnables, glissables, et pages qui défilent horizontalement.
LazyList— ListView.builder, requête/réponse paginéePageView— Pages qui switch au tapReorderable— Liste verticale réordonnableDismissible— Swipe pour retirer un item
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/bottomAppBar— Barre supérieureDrawer— Tiroir de navigation plein écranBottomNavigation— Navigation basse à ongletsFab— Bouton d'action flottantBanner— 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 + trailingTable— Tableau à colonnes de largeur égaleDivider— Séparateur plein 1pxImageCircle— Avatar circulaire réseauIconCircle— Icône dans un cercle coloréImage— Image réseau décodée hors thread principalLottie— Animation Lottie réelleMapView— Carte pannable/zoomable réelleVideoPlayer— Lecteur vidéo natif
Progression & retour visuel
Indicateurs de chargement et écran de démarrage.
CircularProgress— Sweep de progression circulaireProgressBar— Piste + remplissage proportionnelSpinner— Indicateur indéterminéSplash— Écran de démarrage composé de widgets
Animation
Transitions implicites et peinture personnalisée.
Animated— Wrapper d'animation implicite généralHero— Transition partagée via un tagCustomPaint— 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.
Onglets
La première primitive d'état 100% côté client du framework.
ClientTabs— Onglets gérés côté client
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 widgetCanvas— Cible de peinture — commandes JSON- Alignment, Axis, Constraints… — Alignment, Axis, Constraints, CrossAxisAlignment, Curve, EdgeInsets, MainAxisAlignment, MaterialIcons, MediaQuery, Size, TextMetrics, TextSpan, Tokens