Manuale di riferimento MALDA™

Il linguaggio di programmazione AI-First - Versione 1.0.11

23. Panoramica Web UI

MALDA offre più modi per costruire interfacce utente. I modelli sotto condividono concetti HTTP e di routing, ma puntano a runtime e stili di consegna diversi. Parti da qui prima di entrare in un capitolo specifico. Preferisci un modello per superficie (IDE UI1002 quando un file mescola @PAGE/@AIPAGE con ui.mount/ui.render).

Contesto full-stack: Per come UI, API, database e agenti stanno insieme, vedi 29. Sviluppo full-stack con MALDA. Per gli interni di runtime/host della UI guidata dal server (protocollo patch, UIHost), vedi docs/ui-framework.md.

23.1 Scegli il modello UI

Modello Ideale per Costrutti chiave Capitolo
Componenti a frammenti HTML Pagine di form e liste che restituiscono stringhe HTML, con aggiornamenti mirati dei fragment e SSE opzionale component, @ACTION, @LIVE, componentFragment, componentState* 24. Componenti server Web UI (§ 24.2)
Alberi ui.* guidati dal server UI a patch incrementali ospitata da UIHost; i controlli sono alberi di nodi, non stringhe HTML ui.button(props, …), ui.mount / ui.render, ui.state 24. Componenti server Web UI (§ 24.3)
Pagine HttpServer App route-first che restituiscono documenti HTML completi, pagine generate dall'AI o siti classici renderizzati sul server HttpServer, @PAGE, @AIPAGE, HTMLCache, generateUI() 25. HttpServer e generazione UI HTML
JavaScript nel browser UI che gira nel browser da MALDA transpile in JavaScript (giochi, app DOM, frontend ibridi) dom.*, template mode, @client(), API canvas/game 26. Backend UI JavaScript nel browser

23.2 Guida alla scelta

Scegli i componenti a frammenti HTML quando…

Scegli gli alberi ui.* guidati dal server quando…

Scegli HttpServer / @PAGE quando…

Scegli JavaScript nel browser quando…

23.3 Come si relazionano i modelli

                    ┌─────────────────────────────────────┐
                    │         MALDA Web UI choices          │
                    └─────────────────────────────────────┘
                                      │
     ┌───────────────┬────────────────┼────────────────┬────────────────┐
     ▼               ▼                ▼                ▼
 HTML fragments   ui.* trees     HttpServer / @PAGE   Browser JS
 (component +     (mount/render  (full pages +        (transpile +
  ACTION + LIVE)   + UIHost)      AI HTML)             dom.* / canvas)
     │               │                │                │
     └───────────────┴────────────────┴────────────────┘
                                      │
                              HTTP / REST API layer
                         (see REST API + REST Web Client)

Puoi combinare i modelli in un unico prodotto quando i confini sono espliciti: per esempio @PAGE per le route di marketing, uno shell di app ui.* e un bundle JS nel browser per un widget interattivo. Vedi 27. Server REST API per gli endpoint JSON che qualsiasi modello UI può chiamare.

23.4 Promemoria sul confine di runtime

Vedi 2. Strumenti e toolchain (Runtime modes at a glance) per i trade-off tra interprete, transpile e JavaScript.

Vedi anche