Skip to content

Home fr

Edgar Mesquita edited this page Oct 13, 2026 · 1 revision

Wiki de documentation d'eQuantic.UI

🌐 Cette page en : English · Português · Español · Français · Deutsch

Bienvenue sur le wiki officiel d'eQuantic.UI, un framework C# pour le développement d'interfaces ultra-rapide : les composants s'écrivent une seule fois en C# et se réalisent en DOM + CSS sur le web (via une compilation vers TypeScript et la Réconciliation Intelligente) et en pixels GPU en natif (via le moteur propriétaire Photon : Metal/Vulkan, sans WebView, sans Skia).

Essayez-le d'abord

ui.equantic.tech/playground : écrivez un composant en C#, appuyez sur Run et regardez-le s'afficher. Ce n'est pas une simulation : le même eqc que votre build utilise compile l'extrait côté serveur et le résultat se monte dans la page, donc ce que vous voyez est ce que le framework fait réellement. Rien à installer.

Le reste du site est sur ui.equantic.tech, et c'est elle-même une application eQuantic.UI qui consomme les paquets publiés, une preuve permanente que le build de qui l'utilise fonctionne avec nuget.org et rien d'autre.

Lire les marques de version

Une fonctionnalité porte la version dans laquelle elle est sortie : Depuis 0.2.0-preview.7 sous un titre, ou une colonne Depuis quand les lignes d'un tableau n'ont pas le même âge. Si une section n'a pas de marque, elle est antérieure aux marques, pas antérieure à la fonctionnalité.

Elles sont dérivées de git, jamais écrites de mémoire :

c=$(git log --diff-filter=A --format=%h -- path/to/File.cs | tail -1)   # le commit qui l'a ajouté
git tag --contains $c --sort=v:refname | head -1                        # la première version qui le contient

Chaque marque est écrite deux fois, et c'est délibéré. La ligne en italique est pour qui lit ceci sur GitHub ; le commentaire HTML à côté est le même fait sous une forme qu'une machine peut filtrer, et il est invisible ici :

*Depuis **0.2.0-preview.20***  <!-- eq:since 0.2.0-preview.20 symbol="class InView" src="src/eQuantic.UI.Primitives" -->

symbol est ce DONT la version a été dérivée, pour que la personne suivante puisse relancer les deux commandes ci-dessus sur la même chose plutôt que de se fier au numéro. src restreint la recherche quand le nom n'est pas unique, et note remplace symbol quand aucun symbole précis ne fixe la réponse.

L'endroit où se trouve la marque détermine ce qu'elle couvre :

  • Sous un titre, elle couvre cette section, jusqu'au titre suivant de même niveau ou supérieur.
  • Avant tout titre, elle couvre la page entière, et c'est ainsi qu'une page qui n'existait pas dans une version antérieure le dit. Storage, Analytics, Markdown et Mermaid le font aujourd'hui.

Le site les lit ; un test casse le build quand le commentaire et la ligne en italique ne concordent pas. Les marques écrites au milieu d'une phrase ou dans une cellule de tableau sont de la prose seule, et rien ne filtre encore dessus.

📌 Navigation

🏁 Commencer ici

  • Premiers pas - Trois commandes et pas de Node : installez le modèle, créez une application, lancez-la. Ce que le modèle vous donne, et où pointer un feed de preview.

🏗️ Architecture et concepts

  • Vue d'ensemble de l'architecture - La carte : un vocabulaire, deux sortes de cibles, les couches et les deux pipelines, les Server Actions, le routage, et par où continuer.
  • Composants write-once - L'architecture : un vocabulaire, deux réalisateurs, la même classe sur le web et en natif.
  • Surface déclarative - Écrire sans new : la surface de factories, vos propres composants qui la rejoignent automatiquement, [UiFactory], et le seul angle vif.
  • Architecture des paquets - Conception de paquets autonomes et gestion des artefacts.
  • Composants - Le catalogue de composants : actions, surfaces, navigation, overlays, le ListView à recyclage, la grille Spreadsheet.
  • Styles - Des styles typés en C# : un moteur, du CSS atomique sur le web, de la peinture GPU en natif, plus l'échappatoire HTML bas niveau.
  • Localisation - Le multilingue à la manière .NET : les coutures déjà livrées (SdkStrings, la main de culture de Photon) et la conception du Track L.
  • Analytics et GTM - L'analytics comme une capacité que l'application prend par constructeur, avec Google Tag Manager comme un installeur et non comme l'interface.
  • L'architecture, mesurée - L'index docs/ du dépôt : l'audit d'architecture, l'audit de parité avec Flutter, les plans en cours.

📱 Fonctionnalités write-once

  • Moteur Photon - Le moteur GPU natif : noyau SDF normatif, texte et icônes réels sur chaque plateforme (CoreText, DirectWrite, la mise en page de texte d'Android), backends Metal + Vulkan, les shells macOS/iOS/Android/Windows.
  • Design System - Tokens typés, le moteur de styles ATOMIQUE (styler sans CSS), le theming IAppTheme/Material 3, la densité et les crans de typographie dense.
  • Capacités - Caméra, localisation, photos, biométrie, réseau : des services pris par constructeur, réalisés selon l'hôte, et nuls là où l'hôte n'en a pas.
  • Stockage - Une seule signature par-dessus le magasin propre à chaque plateforme (localStorage, NSUserDefaults, SharedPreferences) et pourquoi les secrets sont un type à part que le navigateur ne peut pas fournir.
  • Formulaires - Un formulaire est un MODÈLE, pas un contrôle : les valeurs, les drapeaux, les règles, les erreurs et l'unique soumission en vol vivent dans Primitives, donc le même C# tourne sur le serveur, dans le jumeau du navigateur et dans une fenêtre native.
  • Éditeur de code - Le MODÈLE d'éditeur sur lequel un IDE se construit : documents par lignes, coloration incrémentale pour cinq langages et tout autre qu'une application enregistre, un undo qui fusionne une rafale de frappe, et le contrôleur derrière chaque commande d'édition.
  • Markdown - Du Markdown rendu comme le design system : un seul parser de chaque côté (SSR, Photon, jumeau du navigateur), thémé par l'IAppTheme de l'application elle-même.
  • Mermaid - Organigrammes et diagrammes de séquence dessinés par le design system lui-même, sans mermaid.js ; les clôtures ```mermaid dans du Markdown se rendent nativement.

⚙️ Moteur de compilation

⚡ Runtime et performance

🔌 Serveur et intégration

  • Intégration serveur - AddUI(), UIOptions, les middlewares, le SSR et la configuration SEO.
  • Gestion des assets - IRequireAssets, IComponentAssetProvider<T> et l'injection automatique d'assets.
  • BunPackage - Déclarez des paquets npm directement dans le .csproj (zéro package.json).
  • Sécurité et Server Actions - Autorisation, validation du payload et protection des server actions.

🎨 Écosystème

  • Optimisation d'images - Optimisation d'images côté serveur à la manière de Next.js (redimensionnement, WebP, cache).
  • Graphiques - BarChart et la couche graphique, écrite une fois et dessinée sur chaque cible.
  • Icônes - Lucide, Tabler, Heroicons et d'autres.
  • Lottie - Des animations .lottie et .json via le composant lecteur dotLottie.

🚀 Guide de développement


Tip

Cette documentation est mise à jour au fil de l'évolution du projet. Si vous trouvez une incohérence, n'hésitez pas à la signaler.

Clone this wiki locally