Salt la conținutul principal

Cum funcționează aplicațiile

O aplicație este o colecție de entități declarate folosind funcțiile defineEntity() din pachetul twenty-sdk. CLI detectează aceste declarații prin intermediul analizei AST la momentul creării și produce un manifest — o descriere completă a ceea ce aplicația ta adaugă la un 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 depinde de tine. Detectarea entității este bazată pe AST - SDK găsește `export default defineEntity(. .)” apelează indiferent de locul unde trăieşte 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. Accesează datele doar prin intermediul clientului tastat API, care acționează fie ca persoană care a declanșat rularea, fie ca aplicație în sine. Vezi Cine accesează un apel utilizat.
  • 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. Două tokeni runtime sunt injectaţi, ambele derivate din rolul declarat cu `defineApplicationRole()”; cea implicită este îngustată și mai mult la ceea ce persoana declanșatoare poate face ori de câte ori cineva se află în spatele rulării.

Ciclul de viață al aplicației

  • douăzeci de aplicații dev — îți urmărește fișierele sursă și modificările live-syncs la un server conectat. După o sincronizare reușită, regenerează clientul API tipizat atunci când schema sau pachetul generator instalat s-au modificat ori când fișierele client generate lipsesc sau au fost modificate. Pentru a reîmprospăta tipurile după schimbarea spațiului de lucru în interfața cu utilizatorul, rulează twenty app generate-client.
  • douăzeci de aplicații construite — compilează TypeScript, împachetează funcțiile logice și componentele frontale 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

apps-config
Configurați
Identitatea aplicației, rolul implicit, și instalați și dezinstalați hook-uri.
apps-data
Date
Obiecte, domenii și relații bidirecționale.
apps-logic
Logic
Funcții de logică, competențe, agenți, conexiuni și canale de mesagerie.
layout-window-v1
Layout
vizualizări, navigare, layout-uri de pagini, componente din față.
apps-operations
Operații
CLI, testare, telecomenzi, CI și publicarea aplicației tale.