عن المشروع
Encore هي منصة بنية تحتية تهدف إلى تمكين المهندسين ووكلاء الذكاء الاصطناعي من بناء أنظمة إنتاجية دون انتظار البنية التحتية. وتتكون من جزأين: SDK مفتوح المصدر للبنية التحتية بلغتي TypeScript وGo، ومنصة مُدارة اختيارية تُنسّق البنية التحتية السحابية.
باستخدام SDK، يعرّف المطورون الموارد التي يحتاجها التطبيق مباشرة في الكود — قواعد بيانات SQL، ومواضيع Pub/Sub، وحاويات تخزين الكائنات، والتخزين المؤقت، ومهام cron، والأسرار. يصبح كل تعريف عقدة في رسم تطبيق Encore. يؤدي تشغيل `encore run` إلى بدء النظام بالكامل محليًا مع Postgres حقيقي، ودلالات Pub/Sub حقيقية، وتتبع موزّع، بينما يقوم النشر بتوفير المكافئات السحابية في حساب AWS أو GCP الخاص بالمستخدم. يوفر README جدول ربط يوضح المكافئات المحلية (Postgres، وNSQ، ونظام الملفات المحلي، وRedis) مقابل خدمات AWS (RDS، وSNS+SQS، وS3، وElastiCache) وGCP (Cloud SQL، وCloud Pub/Sub، وGCS، وMemorystore).
يُفصل الإعداد عن دلالات التطبيق: تُعرّف الموارد في الكود، بينما تُدار الإعدادات الخاصة بكل بيئة عبر لوحة تحكم منصة Encore، أو وحدة تحكم مزود السحابة، أو مزود Terraform. تمتد سير العمل عبر التطوير المحلي، وبيئات المعاينة لكل طلب سحب (PR) (مع إمكانية تفريع قواعد البيانات من بيئة بذرة)، والنشر إلى الإنتاج، حيث يقارن Encore رسم التطبيق مع البيئة، ويوفر الموارد الناقصة، ويربط IAM بأقل صلاحيات بناءً على مسارات الكود، ويطرح الكود الجديد.
التبني تدريجي: يمكن استخدام البنية التحتية الحالية كالمعتاد عبر AWS/GCP SDKs أو واجهات برمجة تطبيقات الطرف الثالث، ويمكن ترحيل الخدمات واحدة تلو الأخرى، ويمكن أن يستهدف النشر مجموعة Kubernetes أو VPC موجودة. يذكر README أن 99% من الكود هو Go أو TypeScript عادي، ويوفر رابطًا إلى دليل الترحيل بعيدًا.
تشمل القيود المذكورة دعم اللغات (TypeScript/Node.js وGo الآن، وPython قريبًا)، ونطاق البنية التحتية المركّز على الموارد الشائعة، والتوفير الآلي الكامل المقتصر حاليًا على AWS وGCP، مع Azure على خارطة الطريق، والاستضافة الذاتية عبر `encore build docker` متاحة على أي مزود.
يركّز المشروع أيضًا على التطوير بمساعدة الذكاء الاصطناعي: يمكن لـ `encore app create` إنشاء ملفات قواعد لأدوات مثل Cursor وClaude Code، وإعداد خادم MCP يتيح للوكلاء استكشاف الخدمات وواجهات برمجة التطبيقات وقواعد البيانات والتتبعات. تعرض لوحة تحكم التطوير المحلية على localhost:9400 الخدمات وواجهات برمجة التطبيقات والتتبعات وقواعد البيانات ورسائل Pub/Sub ومخططات البنية. تضيف المنصة المُدارة الاختيارية بيئات المعاينة، والتوفير مع IAM بأقل صلاحيات، والتتبع الموزّع، والمقاييس والسجلات، وتحليلات التكلفة، وسير عمل الموافقات، وفهارس الخدمات ومخططات البنية المُنشأة تلقائيًا. Encore مرخّص بموجب MPL-2.0، مع كون الإطار والمحلل والمترجم وبيئة التشغيل وCLI مفتوحة المصدر، بينما منصة النشر المُدارة خدمة تجارية.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.