لماذا توجد التطبيقات
تغطي عمليات سير العمل الأتمتة بدون كود. ولكن بعض الأمور تحتاج إلى كود: محرّك تسعير مخصص، وخط تجميع إثراء مملوك، واختبار امتثال يُشغَّل عند كل تحديث للسجل، ولوحة واجهة مستخدم مخصصة تسحب البيانات من أداة داخلية. تمكّنك التطبيقات من إنشاء هذه كامتدادات من الدرجة الأولى — ليست نصوصًا هشة تتحدّث إلى واجهة برمجة تطبيقات من الخارج، بل تعليمات برمجية تعمل على المنصة مع وصول كامل إلى نظام الأنواع، ونموذج الأذونات، وواجهة المستخدم.ما الذي يمكن للتطبيق أن يعرِّفه
التطبيق هو حزمة TypeScript تُصرِّح عن كيانات باستخدامtwenty-sdk:
| كيان | ماذا يفعل |
|---|---|
| الكائنات والحقول | جداول بيانات جديدة وحقول للكائنات الموجودة — تُعامَل بالطريقة نفسها مثل المضمنة افتراضيًا |
| الوظائف المنطقية | TypeScript على جانب الخادم يتم تشغيله عبر مسارات HTTP، أو جداول cron، أو أحداث قاعدة البيانات |
| المكوّنات الأمامية | مكوّنات React معزولة تُعرَض داخل واجهة مستخدم Twenty (اللوحة الجانبية، الودجات، قائمة الأوامر). |
| المهارات والوكلاء | قدرات الذكاء الاصطناعي — تعليمات قابلة لإعادة الاستخدام ومساعدون مستقلون ذاتيًا |
| طرق العرض والتنقّل | طرق عرض قوائم مُعدّة مسبقًا وعناصر قائمة الشريط الجانبي |
export default defineObject(...) في أي ملف .ts وسيلتقطه الـ SDK.
كيفية عملها
- الدوال المنطقية تُنفَّذ في عمليات Node.js معزولة، ومحمية عن المضيف. تصل إلى البيانات من خلال عميل API مضبوط الأنواع، ومقيَّد بأذونات دور التطبيق.
- المكوّنات الأمامية تعمل ضمن Web Workers باستخدام Remote DOM — معزولة عن الصفحة الرئيسية لكنها تعرض عناصر DOM الأصلية (وليس iframes).
- الأذونات تُطبَّق على مستوى واجهة API. لا يرى التطبيق إلا ما يسمح به دوره.
تجربة المطوّر
تكتب تطبيقك كمشروع TypeScript على جهازك. تراقب أداة CLI ملفات المصدر لديك وتزامنها مباشرة مع خادم Twenty شغّال — عدِّل ملفًا لترى التغيير في واجهة المستخدم خلال ثانية واحدة. يُعاد توليد عميل API مضبوط الأنواع تلقائيًا عند تغيّر المخطط. عندما تكون مستعدًا، يقومyarn twenty app:publish --private بالدفع إلى خادم إنتاج، أو يقوم yarn twenty app:publish بإدراج تطبيقك على npm وسوق Twenty.
أنشئ تطبيقك الأول
دليل إرشادي من ثلاث مراحل — الإنشاء الأوّلي، تشغيل خادم محلّي، ومزامنة تغييراتك.