Vai al contenuto principale
Le app di Twenty sono pacchetti TypeScript che estendono il tuo spazio di lavoro con oggetti personalizzati, logica, componenti dell’interfaccia utente (UI) e funzionalità di IA. Vengono eseguite sulla piattaforma Twenty con sandboxing completo e controlli delle autorizzazioni.

Come funzionano le app

Un’app è una raccolta di entità dichiarate utilizzando le funzioni defineEntity() del pacchetto twenty-sdk. L’SDK rileva queste dichiarazioni tramite analisi dell’AST in fase di build e produce un manifest — una descrizione completa di ciò che la tua app aggiunge a uno spazio di lavoro. Queste funzioni convalidano la configurazione in fase di build e offrono il completamento automatico nell’IDE e la sicurezza dei tipi.
L’organizzazione dei file dipende da te. Il rilevamento delle entità è basato sull’AST — l’SDK trova le chiamate a export default defineEntity(...) indipendentemente da dove si trova il file. La struttura delle cartelle sopra è una convenzione, non un requisito.

Tipi di entità

Sandboxing

  • Le funzioni logiche vengono eseguite in processi Node.js isolati sul server. Accedono ai dati solo tramite il client API tipizzato, con ambito limitato alle autorizzazioni del ruolo dell’app.
  • I componenti front-end vengono eseguiti in Web Workers utilizzando il Remote DOM — isolati dalla pagina principale ma renderizzando elementi DOM nativi (non iframe). Comunicano con Twenty tramite un’API host basata sul passaggio di messaggi.
  • Le autorizzazioni vengono applicate a livello di API. Il token di runtime (TWENTY_APP_ACCESS_TOKEN) è derivato dal ruolo definito in defineApplication().

Ciclo di vita dell’app

  • yarn twenty dev — monitora i file sorgente e sincronizza in tempo reale le modifiche su un server Twenty connesso. Il client API tipizzato viene rigenerato automaticamente quando lo schema cambia.
  • yarn twenty dev:build — compila TypeScript, crea i bundle delle funzioni logiche e dei componenti front-end con esbuild e produce un manifest.
  • Hook di pre/post-installazione — funzioni opzionali che vengono eseguite durante l’installazione. Vedi Hook di installazione per i dettagli.

Prossimi passaggi

Configurazione

Identità dell’applicazione, ruolo predefinito e hook di installazione.

Dati

Oggetti, campi e relazioni bidirezionali.

Logica

Funzioni logiche, abilità, agenti e connessioni OAuth.

Layout

Viste, navigazione, layout di pagina, componenti front-end.

Operazioni

CLI, test, remoti, CI e pubblicazione della tua app.