Как работают приложения
Приложение — это набор сущностей, объявленных с помощью функцийdefineEntity() из пакета twenty-sdk. CLI обнаруживает эти объявления по AST анализу во время сборки и дает проявление — полное описание того, что добавляет ваше приложение в рабочую область. Эти функции проверяют вашу конфигурацию на этапе сборки и обеспечивают автодополнение в IDE и безопасность типов.
Выбрана файловая организация. Определение сущности — на основе AST, SDK
находит
export default defineEntity(. .) вызовы, независимо от того, где находится файл
. Структура папок выше — это соглашение, а не требование.Типы сущностей
Изоляция в песочнице
- Логические функции выполняются в изолированных процессах Node.js на сервере. Они имеют доступ к данным только через напечатанный API-клиент, который действует либо как человек, который инициировал запуск, либо как само приложение. Смотрите Чей доступ к звонкам.
- Компоненты фронтенда запускаются в Web Workers с использованием Remote DOM — изолированы от основной страницы, но при этом рендерят нативные элементы DOM (не iframes). Они взаимодействуют с Twenty через хостовый API обмена сообщениями.
- Права доступа применяются на уровне API. Два токена во время выполнения вводятся в действие - оба из этих токенов, полученных от роли, заявленной с помощью
defineApplicationRole(); по умолчанию один сужен дальше к тому, что запускающий человек может делать, когда кто-то находится за бегом.
Жизненный цикл приложения
twenty app dev— смотрит на исходные файлы и live-синхронизирует изменения на подключенный Twenty сервер. Типизированный клиент API автоматически пересоздаётся при изменении схемы.twenty app build— компилирует TypeScript, упаковывает логические функции и передние компоненты с esbuild, и производит манифест.- Хуки до/после установки и удаления — необязательные функции, которые выполняются во время установки или непосредственно перед удалением. См. раздел Install Hooks для подробностей.
Следующие шаги
Конфигурация
Идентификатор приложения, роль по умолчанию и установка и удаление хуков.Данные
Объекты, поля и двунаправленные связи.Логика
Функции логики, навыки, агенты, подключения и каналы сообщений.Макет
просмотра, навигация, макеты страниц, передние компоненты.Операции
CLI, тестирование, удаление, CI и публикация вашего приложения.