Ana içeriğe atla
Çoğu CRM size bir yapılandırma paneli sunar. Twenty size bir platform sunar. Uygulamalar, geliştiricilerin Twenty’yi UI’nin sunduğunun ötesine genişletme yoludur — veri modellerini, sunucu tarafı mantığını, UI bileşenlerini ve yapay zeka yeteneklerini kod olarak tanımlayıp bunları bir veya daha fazla çalışma alanına dağıtırlar.

Uygulamaların var olma nedeni

İş akışları kodsuz otomasyonu kapsar. Ancak bazı şeyler kod gerektirir: özel bir fiyatlandırma motoru, tescilli bir zenginleştirme hattı, her kayıt güncellemesinde çalışan bir uyumluluk kontrolü, dahili bir araçtan veri çeken özel bir UI paneli. Uygulamalar, bunları birinci sınıf uzantılar olarak oluşturmanıza olanak tanır — dışarıdan bir API ile konuşan kırılgan komut dosyaları değil, tür sistemi, izin modeli ve UI’ye tam erişimi olan, platformda çalışan kod olarak.

Bir uygulamanın tanımlayabilecekleri

Bir uygulama, twenty-sdk kullanarak varlıklar bildiren bir TypeScript paketidir:
VarlıkNe yapar
Nesneler ve AlanlarYeni veri tabloları ve mevcut nesneler üzerindeki alanlar — yerleşik olanlarla aynı şekilde ele alınır
Mantıksal işlevlerHTTP rotaları, cron zamanlamaları veya veritabanı olayları tarafından tetiklenen sunucu tarafı TypeScript
Ön uç bileşenleriTwenty’nin arayüzünde (yan panel, widget’lar, komut menüsü) oluşturulan, korumalı alanlarda çalışan React bileşenleri
Beceriler ve AracılarYapay zeka yetenekleri — yeniden kullanılabilir yönergeler ve otonom asistanlar
Görünümler ve GezinmeÖnceden yapılandırılmış liste görünümleri ve kenar çubuğu menü öğeleri
Her şey, derleme zamanında AST analiziyle algılanır — yapılandırma dosyaları yok, kayıt için gereksiz şablon kodu yok. Herhangi bir .ts dosyasına export default defineObject(...) ekleyin, SDK onu algılar.

Nasıl çalışırlar

  • Mantıksal işlevler ana makineden yalıtılmış, izole Node.js süreçlerinde çalışır. Verilere, kapsamı uygulamanın rol izinleriyle sınırlandırılmış tipli bir API istemcisi üzerinden erişirler.
  • Ön uç bileşenleri, Remote DOM kullanan Web Worker’larda çalışır — ana sayfadan yalıtılmıştır ancak yerel DOM öğelerini (iframe’ler değil) oluşturur.
  • İzinler, API düzeyinde uygulanır. Bir uygulama yalnızca rolünün izin verdiği şeyleri görür.

Geliştirici deneyimi

Uygulamanızı makinenizde bir TypeScript projesi olarak yazarsınız. CLI, kaynak dosyalarınızı izler ve bunları çalışan bir Twenty sunucusuyla canlı olarak senkronize eder — bir dosyayı düzenleyin, bir saniye içinde arayüzde değişikliği görün. Şema değiştiğinde tipli API istemcisi otomatik olarak yeniden oluşturulur. Hazır olduğunuzda, yarn twenty app:publish --private bir üretim sunucusuna gönderir veya yarn twenty app:publish uygulamanızı npm’de ve Twenty pazarında listeler.

İlk uygulamanızı oluşturun

Üç aşamalı bir adım adım rehber — iskelet oluşturun, yerel bir sunucu çalıştırın, değişikliklerinizi senkronize edin.