Vai al contenuto principale

Come funzionano le app

Un’app è una raccolta di entità dichiarate utilizzando le funzioni defineEntity() del pacchetto twenty-sdk. Il CLI rileva queste dichiarazioni tramite analisi AST al momento della costruzione 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 sta a te. Il rilevamento delle entità è basato su AST — l’SDK trova export default defineEntity(. .) chiamate indipendentemente da dove vive 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. Essi accedono solo ai dati attraverso il client API digitato, che agisce sia come la persona che ha innescato la corsa o come l’app stessa. Vedi Di chi accede a una chiamata.
  • 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. Vengono iniettati due token di runtime, entrambi derivati dal ruolo dichiarato con defineApplicationRole(); quello predefinito si restringe ulteriormente a ciò che la persona che innesca può fare ogni volta che qualcuno è dietro la corsa.

Ciclo di vita dell’app

  • venti app dev — guarda i tuoi file sorgente e le modifiche live syncs in un server Twenty collegato. Dopo una sincronizzazione riuscita, rigenera il client API tipizzato quando lo schema o il pacchetto del generatore installato sono cambiati, oppure quando i file del client generati sono mancanti o modificati. Per aggiornare i tipi dopo aver modificato l’area di lavoro nell’interfaccia utente, esegui twenty app generate-client.
  • venti app build — compila TypeScript, raggruppa funzioni logiche e componenti frontali con esbuild, e produce un manifesto.
  • Hook di pre/post-installazione e disinstallazione — funzioni opzionali che vengono eseguite durante l’installazione o subito prima della rimozione. Vedi Hook di installazione per i dettagli.

Prossimi passaggi

apps-config
Config
Identità dell’applicazione, ruolo predefinito e installa e disinstalla hook.
apps-data
Data
Oggetti, campi e relazioni bidirezionali.
apps-logic
Logica
Funzioni logiche, competenze, agenti, connessioni e canali di messaggistica.
layout-window-v1
Layout
Visualizzazioni, navigazione, layout delle pagine, componenti anteriori.
apps-operations
Operations
CLI, testing, remotes, CI, and publishing your app.