Cum funcționează aplicațiile
O aplicație este o colecție de entități declarate folosind funcțiiledefineEntity() din pachetul twenty-sdk. SDK-ul detectează aceste declarații prin analiză AST în timpul construirii și produce un manifest — o descriere completă a ceea ce aplicația dvs. adaugă unui spațiu de lucru. Aceste funcții validează configurația în timpul build-ului și oferă completare automată în IDE și siguranța tipurilor.
Organizarea fișierelor ține de dvs. Detectarea entităților este bazată pe AST — SDK-ul găsește apelurile
export default defineEntity(...) indiferent unde se află fișierul. Structura de foldere de mai sus este o convenție, nu o cerință.Tipuri de entități
Izolare (sandboxing)
- Funcțiile logice rulează în procese Node.js izolate pe server. Acestea accesează datele numai prin clientul API tipizat, care acționează fie ca persoana care a declanșat execuția, fie ca aplicația în sine. Consultați Ce acces utilizează un apel.
- Componentele front-end rulează în Web Workers folosind Remote DOM — izolate de pagina principală, dar randând elemente DOM native (nu iframes). Acestea comunică cu Twenty printr-un API al gazdei bazat pe transmiterea de mesaje.
- Permisiunile sunt aplicate la nivelul API-ului. Sunt injectate două tokenuri de execuție, ambele derivate din rolul declarat cu
defineApplicationRole(); cel implicit este restrâns suplimentar la ceea ce poate face persoana care a declanșat execuția, ori de câte ori o persoană se află în spatele execuției.
Ciclul de viață al aplicației
yarn twenty dev— monitorizează fișierele sursă și sincronizează în timp real modificările către un server Twenty conectat. Clientul API tipizat este regenerat automat atunci când schema se schimbă.yarn twenty dev:build— compilează TypeScript, împachetează funcțiile logice și componentele front-end cu esbuild și produce un manifest.- Hook-uri pre/post-instalare și dezinstalare — funcții opționale care rulează în timpul instalării sau chiar înainte de eliminare. Vezi Install Hooks pentru detalii.
Pașii următori
Configurare
Identitatea aplicației, rolul implicit și hook-urile de instalare și dezinstalare.
Date
Obiecte, câmpuri și relații bidirecționale.
Logică
Funcții logice, abilități, agenți și conexiuni OAuth.
Aspect
Vizualizări, navigare, layouturi de pagină, componente front-end.
Operațiuni
CLI, testare, remote-uri, CI și publicarea aplicației.