Per iniziare

Theta funziona tra la piattaforma hosted e la libreria client. Per iniziare:

  • Iscriversi a buildwiththeta.com (in closed beta è necessario un invito).
  • Creare un nuovo progetto e disegnare la prima interfaccia.
  • Copiare la pagina con il nome che si desidera.
  • Installare [Theta client library] (https://pub.dev/packages/theta) e utilizzare una UIBox('nome della pagina') per integrare la pagina nella propria applicazione.

Requisiti di sistema

Theta è un'applicazione web che può essere utilizzata da un browser. Per un'esperienza ottimale, attenersi ai requisiti di sistema:

  • È consigliato utilizzare un desktop o un laptop.
  • Utilizzare uno schermo di almeno 12 pollici.
  • Si consiglia di utilizzare Google Chrome (in caso di problemi, provare a vedere se i problemi persistono con Chrome).
  • Per fare copia e incolla all'interno di un progetto, permetti l'utilizzo degli appunti (una finestra di dialogo apparirà su app.buildwiththeta.com).

Progettazione dell'interfaccia

Installazione della libreria client di Theta

text
flutter pub add theta

Inizializzazione

Inizializzare Theta chiamando Theta.initialize con la chiave anonima. Assicurarsi di chiamare questo metodo all'inizio dell'applicazione.

dart
importare 'package:theta/theta.dart';

Future<void> main() async {
    await Theta.initialize(anonKey: 'thetaKey');
}

Avvolgere l'applicazione con ThetaProvider

Avvolgere l'applicazione con ThetaProvider per consentire a qualsiasi UIBox di ricevere gli stili del tema e del progetto.

dart
ThetaProvider(
    theme: ThemeMode.light,
    child: MaterialApp(
        home: // ...
    ),
)

Renderizzare l'interfaccia utente remota

Tutto ciò che occorre fare è aggiungere un widget UIBox alla propria applicazione e passare il nome del componente come parametro.

dart
/// La vostra applicazione
return Scaffold(
    body: Center(
        child: UIBox('Nome del componente'),
    ),
);

Caricamento dei segnaposto e gestione degli errori

È possibile visualizzare un widget segnaposto durante il caricamento e un widget di errore.

dart
UIBox(
    'Homepage',
    placeholder: CircularProgressIndicator(),
    errorWidget: (error) => Text(error),
)

Aggiungere codice personalizzato per le azioni

Si desidera un'interfaccia utente dinamica con supporto ai gesti (onTap, doubleTap, ecc.)? È possibile aggiungere codice personalizzato, chiamato 'workflow', basato su trigger di gesti.

  1. Selezionate un singolo elemento dell'interfaccia utente in base al suo id o al suo nome.
  2. Scegliere il trigger per la quale si avvierà l'azione.
  3. Aggiungere il codice.
dart
UIBox(
    'CupertinoAppBar',
    workflows: [
        Workflow('Element id', Trigger.onTap, (context) {
            /// Il vostro metodo
        }),
    ]
)

Sovrascrivi le proprietà del blocco

Puoi sovrascrivere le proprietà di ogni blocco UI utilizzando un widget Flutter combinando il no-code con Flutter.

dart
UIBox(
    'Social card',
    overrides: [
        Override('Post title')
            ..setText('My beautiful cat')
            ..setColor(Colors.white, 0.5),
        Override('Cover')
            ..setImage('https://...'),
    ],
),

Sovrascrittura del figlio

Se nel componente no-code l'elemento a cui si vuole sovrascrivere il figlio ne ha già uno, verrà rimosso e sostituito con quello inserito dall'utente tramite codice.

È possibile utilizzare la UIBox anche all'interno di altre UIBox. Ciò offre un grado di personalizzazione molto elevato.

dart
UIBox(
    'Component name',
    overrides: [
        Override('Element id')
            ..setChild(UIBox('Other component')),
    ],
),

Sovrascrittura dei figli

È possibile sovrascrivere i figli di un elemento.

dart
UIBox(
    'Component name',
    overrides: [
        Override('Element name')
            ..setChildren([
                Text('Child 1'), 
                Text('Child 2')
            ]),
    ],
),