Overview

Pattern: Full autogeneration

Tutto il flusso applicativo (lista, edit, chart, ...) viene derivato dal modello dati via scaffolding del framework. Non scrivi codice frontend ne' codice server: descrivi l'oggetto, e le pagine sono immediatamente funzionanti, navigabili e collegate al menu.

Quando usarlo

  • CRUD standard su entity tabellari, con relazioni 1-N e lookup gia' modellate.
  • Demo, prototipi, MVP rapidi.
  • Pannelli interni (admin, back-office) dove l'UX di default e' sufficiente.
  • Casi in cui la velocita' di rilascio batte la personalizzazione visuale.

Architettura

Tre attori, una sola cosa che fai tu (scaffolding):

  • Sviluppatore: lancia lo scaffolding sull'oggetto. Niente codice.
  • Framework: produce metadata, espone le route, rende le pagine.
  • Utente finale: naviga il menu, accede a list / edit / chart / spreadsheet auto-generati.

Cosa fai tu

Apri Amministrazione → Scaffolding. La pagina ha quattro selettori a cascata — connection,

database, table, column — piu' la casella Create Menu. Scegli la connessione, il database e la

tabella, lascia Create Menu attivo per avere subito la voce di menu, poi premi Scaffold Table

(Scaffold DB espone tutte le tabelle del database, Scaffold Columns riallinea le colonne di una

route gia' esistente).

Il framework crea automaticamente la metadata della pagina e di tutte le sue colonne con default sensati. La nuova route compare nel menu ed e' subito navigabile (#/<route>/list, ...). #/<route>/spreadsheet richiede una licenza che includa la feature spreadsheet: senza, la navigazione ricade sulla lista. Le dashboard non sono un archetype di route: si compongono con il Designer.

Re-eseguire lo scaffolding sullo stesso oggetto e' idempotente: aggiunge le novita' (es. nuove colonne) e preserva le personalizzazioni gia' applicate. Per il bootstrap dell'ambiente vedi Scaffolding iniziale.

Trade-off

ProContro
0 codice da scrivere e mantenereUX/layout fissati dagli archetype standard
Modifiche del modello sono live (no rebuild)Personalizzazioni profonde richiedono uscire dal pattern
CRUD + filtri + paging + sort + export gratisPerformance ottimale fino a dataset medi (paging server-side e row-virtualization nel list-grid mitiga)
Permessi e audit centralizzatiLogiche di business specifiche vanno modellate come callback nei metadata o lato backend

Esempi vivi nel WuicTest

  • Cities autogen → apre /cities/list (archetype default). Cartella sorgente: wwwroot/src/app/component/examples/pattern-1/1a-cities-autogen/. Apri demo.
  • Customers spreadsheet autogen → apre /customers/spreadsheet (slug + archetype diverso). Cartella sorgente: wwwroot/src/app/component/examples/pattern-1/1b-customers-spreadsheet-autogen/. Apri demo.

Vedi anche

Screenshot

Cities (autogen, archetype list)
Cities (autogen, archetype list)
Customers (autogen, archetype spreadsheet)
Customers (autogen, archetype spreadsheet)