جدول المحتويات[يخفي][يعرض]
Backend-as-a-Service (BaaS) هو نموذج خدمة يقوم فيه المطورون بالاستعانة بمصادر خارجية لمكونات ما وراء الكواليس لتطوير الويب أو الأجهزة المحمولة حتى يتمكنوا من التركيز على بناء الواجهة الأمامية والحفاظ عليها على أساس التوصيل والتشغيل و الهروب من عبء كتابة التعليمات البرمجية من جانب الخادم.
يتم توفير البرامج التي تدعم المهام من جانب الخادم مثل المصادقة وإدارة قواعد البيانات والتحديث في الوقت الفعلي والتخزين والاستضافة وتنبيهات الدفع بواسطة الأنظمة الأساسية BaaS (لتطبيقات الأجهزة المحمولة).
على الرغم من أن العديد من خدمات الواجهة الخلفية توفر بشكل أساسي نفس الحل ، إلا أنها تستخدم تقنيات خلفية مميزة. هذا عامل حاسم للعديد من المطورين عند اختيار أفضل خدمة لمشروع معين.
في هذه المقالة ، سنتعمق في قاعدة Supabase.
ما هي تفاصيل سوباباس?
سوباباس هو بديل Firebase مفتوح المصدر يقدم Backend كخدمة لمجموعة متنوعة من التطبيقات. إنه حقًا سهل الإعداد والعمل بسرعة مع مجموعة متنوعة من الأطر. تعتبر Supabase نفسها بديلاً مفتوح المصدر لـ Firebase.
وتهدف إلى إفادة المطورين في إعداد الواجهة الخلفية الخاصة بهم بسرعة. يقول Supabase: "قم بالبناء في عطلة نهاية الأسبوع ، وحقق نموًا للملايين".
تتضمن منتجات Supabase قاعدة بيانات Postgres وخدمة المصادقة ، مع تخزين وخدمات بدون خادم (لمنطق الواجهة الخلفية) لا تزال قيد العمل. جميع أدواته في الغالب مجانية ومفتوحة المصدر. تتضمن قاعدة بيانات Postgres الأدوات المتعلقة بقاعدة البيانات ، مثل المراقبة في الوقت الفعلي لتعديلات قاعدة البيانات وواجهة الإدارة.
علاوة على ذلك ، فإنه يوفر واجهات برمجة تطبيقات سريعة وبناء جملة يمكن مقارنتها بـ Firebase. يتيح لك هذا التعامل مع مهام CRUD بطريقة متسقة ، مما يسمح لك بالتركيز على إنشاء رمز CRUD المتكرر بدلاً من إعادة كتابته.
قاعدة بيانات Postgres هي جدول يسمح لك بتخزين البيانات المنظمة والمتصلة بنفس الطريقة التي تستخدمها في جدول البيانات. من المثير للدهشة ، أنه عند إنشاء مشروع ، يمكنك استخدام جدول بيانات موجود كقاعدة بيانات Postgres الخاصة بك.
كيف يعمل Supabase؟
Supabase عبارة عن مجموعة من تقنيات المصدر المجانية. إنهم ينشئون ميزات Firebase باستخدام حلول مفتوحة المصدر على مستوى المؤسسات. إذا كانت الأدوات والمجتمعات متاحة بموجب ترخيص MIT أو Apache 2 أو ترخيص مفتوح مماثل ، فسيستخدمونها ويدعمونها.
إذا لم تكن الأداة موجودة بالفعل ، فسيقومون بإنشائها وإتاحتها كملف المصدر المفتوح. Supabase ليس تعيينًا بنسبة 1: 1 لـ Firebase. هدفهم هو تزويد المطورين بتجربة تطوير تشبه Firebase باستخدام المصدر المفتوح التقنيات.
Supabase هي منصة مستضافة. يمكنك التسجيل والبدء في استخدامه دون الحاجة إلى تثبيت أي شيء. يمكنك أيضًا الاستضافة الذاتية والبناء على الخادم الخاص بك.
- تتمتع PostgreSQL بسمعة طيبة فيما يتعلق بالاستقرار والمتانة والسرعة ؛ بعد أكثر من 30 عامًا من التطوير النشط ،
- Realtime هو خادم Elixir يسمح لك بالاستماع إلى إدخالات PostgreSQL وتحديثاتها وحذفها باستخدام WebSockets. تستمع Supabase لطلبات النسخ من Postgres ، وتحول دفق بايت النسخ المتماثل إلى JSON ، ثم تبث JSON عبر WebSockets.
- PostgREST هو خادم ويب يقوم بتحويل قاعدة بيانات PostgreSQL إلى واجهة برمجة تطبيقات RESTful.
- يوفر التخزين واجهة RESTful لإدارة الملفات المخزنة في S3 ، مع Postgres كمدير للحقوق.
- Postgres-meta هي واجهة برمجة تطبيقات RESTful لإدارة Postgres تتيح لك تنزيل الجداول وتعيين المسؤوليات وإجراء الاستعلامات ، من بين أشياء أخرى.
- GoTrue هي واجهة برمجة تطبيقات تستند إلى SWT تتيح لك إدارة المستخدمين وإصدار رموز SWT.
- Kong هي بوابة API تعمل على السحابة.
بدء
1. المشروع
في Supabase ، يعد المشروع حاوية لجميع قواعد البيانات ومستخدمي المصادقة والقواعد والجداول وتخزين الملفات.
هناك العديد من الأماكن التي يمكن من خلالها استضافة مشروعك ، ويقوم مسؤولو Supabase باستمرار بإضافة مواقع جديدة لتقليل زمن الانتقال. يستغرق إنشاء المشروع حوالي دقيقتين ، لذا احصل على فنجان من القهوة واجلس واسترخِ.
2. لوحة تحكم المشروع
عند الانتهاء من مشروعك ، ستظهر لك لوحة تحكم مشابهة لتلك الموضحة أدناه. تعرض لك لوحة المعلومات هذه كل ما تحتاج لمعرفته حول مشروعك ، بما في ذلك اتصالات قاعدة البيانات وطلبات المصادقة وسعة التخزين وتنفيذ مكتبة العميل والمزيد.
3. منشئ الجدول ومحرره
قاعدة بيانات Supabase هي قاعدة بيانات PostgreSQL علائقية تتمتع بإمكانيات في الوقت الفعلي والتحكم في الوصول إلى السياسة باستخدام Postgres RLS (أمان مستوى الصف). قد يستخدم المطورون لوحة معلومات Supabase لإنشاء جدول وإضافة أعمدة وخصائص. يمكن للمطورين تعديل البيانات مباشرة من لوحة القيادة باستخدام Supabase.
4. المصادقة
يتوفر Google و GitHub و Facebook و Twitter و GitLab والمزيد من موفري المصادقة على Supabase. قد يتم تشغيل هذه باستخدام لوحة المصادقة. كما يدعم الهاتف OTP و Magic Link Authentication.
5. تخزين
Supabase هو نظام تخزين كائن مفتوح المصدر يمكنه التعامل مع أي نوع من الملفات ولديه قابلية توسعة مضمنة. يحتوي على واجهة برمجة تطبيقات سهلة الاستخدام تتيح القواعد والأذونات المخصصة. سيكون تكامل CDN ، بالإضافة إلى التحويل التلقائي والتحسين (تغيير حجم المواد وضغطها) متاحًا قريبًا. سيكون تخزين Supabase منافسًا هائلاً لتخزين Firebase مع تضمين هذه القدرات.
ما الذي يمكنك بناءه باستخدام قاعدة Supabase؟ (بعض الأمثلة)
1. دفع الاشتراك مع Supabase + Stripe + Next.js.
مجموعة المبتدئين الكاملة لتطبيقات SaaS عالية الأداء.
- يوفر Supabase إدارة آمنة للمستخدم والمصادقة.
- Stripe Checkout وتكامل بوابة عملاء Stripe.
- يوفر Supabase الوصول الفعال إلى البيانات وأدوات الإدارة أعلى PostgreSQL.
- تتيح خطاطيف الويب المخططة المزامنة التلقائية لخطط الأسعار وحالات الاشتراك.
2. كيب لينك: خدمة إشارات مرجعية بسيطة مع العلامات والأرشيف
KeepLink هي خدمة إشارات مرجعية أساسية بعلامات وأرشيف تم إنشاؤه باستخدام Supabase و Next.js. لا يحتوي على أي ميزات مشاركة اجتماعية ، ولكن يمكنك استضافة مثيلك الخاص.
- ضع علامة على الإشارات المرجعية الجديدة تلقائيًا بناءً على العلامات الموجودة.
- البحث في النص الكامل عن عناوين URL ، والعناوين ، والأوصاف ، والعلامات ، ومحتوى الأرشيف بفضل مكدس Supabase ، ووضع علامات على الأسماء المستعارة لقواعد بيانات المسؤول ، والوصول المريح إلى واجهة برمجة التطبيقات أصبح ممكنًا الآن.
- باستخدام metascraper ، يمكنك تلقائيًا جمع العناوين والأوصاف لصفحاتك. يمكنك أيضًا أرشفة صفحاتك باستخدام SinglePage و Headless Chrome.
3. تطبيق الدردشة في الوقت الحقيقي مع Supabase + React
- للمراسلة في الوقت الفعلي ، يتم استخدام قاعدة Supabase (أعلى PostgreSQL).
- تستخدم الواجهة الأمامية React (CRA) + Vite
- مكتبة واجهة المستخدم المستخدمة هي Chakra UI.
الميزات الرئيسية
فيما يلي بعض ميزات قاعدة Supabase:
- واجهة مستخدم / لوحة تحكم لإعداد وإدارة قاعدة البيانات الخاصة بك في أقل من دقيقة.
- لتسجيل المستخدمين وتحديث قيود الوصول في قاعدة البيانات الخاصة بك ، قم بتطبيق مصادقة المستخدم.
- واجهات برمجة التطبيقات ومكتبة جافا سكريبت.
- مستمعي قواعد البيانات في الوقت الفعلي.
- الوظائف (كيندا). هذه إجراءات مخزنة في قاعدة البيانات يمكن كتابتها في SQL أو JavaScript أو Python أو Java.
الايجابيات
تميز Supabase نفسها للأسباب التالية:
- على عكس Firebase ، يمكنك تشغيل استعلامات معقدة أو عمليات بحث نصية.
- يعتني Supabase بالتوسيع نيابة عنك (على الرغم من أنه يستخدم قاعدة بيانات SQL)
- يعد ترحيل البيانات أمرًا بسيطًا مع Supabase نظرًا لأنه يعزز PostgreSQL ، ويمكنك استيراد البيانات باستخدام ملف a.sql.
سلبيات
هناك بعض عيوب اعتماد Supabase. وهم على النحو التالي:
- لتلقي التغييرات في الوقت الحقيقي ، يجب تنشيط وظيفة النسخ المتماثل للجدول.
- عند تمكين التحديثات في الوقت الفعلي ، لا تنطبق سياسات أمان Supabase.
- الميزات محدودة.
- يعمل SDK الخاص به مع JavaScript فقط (لا يزال دعم اللغات الأخرى في مرحلة تجريبية)
التسعير
1. الطبقة المجانية
- قاعدة بيانات بمساحة تخزين 500 ميجابايت ومكالمات غير محدودة لواجهة برمجة التطبيقات
- المصادقة - ما يصل إلى 10,000 مستخدم
- تخزين الملفات - سعة تخزين تصل إلى 1 جيجابايت ، مع قيود نقل شهرية تصل إلى 2 جيجابايت.
2. ادفع كما تذهب
- قاعدة البيانات - 0.125 دولارًا لكل غيغابايت من السعة التخزينية ، مع عدم وجود قيود على مكالمات واجهة برمجة التطبيقات
- Auth - غير محدود
- تخزين الملفات - تم تخزين البيانات 0.021 دولارًا أمريكيًا لكل جيجابايت مع نقل بيانات بقيمة 0.07 دولار أمريكي لكل جيجابايت
لمزيد من معلومات التسعير ، يمكنك التحقق من موقع الويب الخاص بهم.
وفي الختام
Supabase هو أفضل مصدر مفتوح بديل لـ Firebase من Google. نظرًا لقوة PostgreSQL ، فإنها توفر العديد من الميزات الرائعة ولا تحتوي على أي قيود على نوع البيانات مثل أنظمة قواعد البيانات الأخرى في الوقت الفعلي.
يمكنك إنشاء مجموعة متنوعة من التطبيقات باستخدام قاعدة Supabase وميزاتها الممتازة. محاولة إعطائها اليوم!
مارسيلو
في حالة B2B SaaS، هل من الممكن أن يكون لديك مستخدم رئيسي واحد لكل عميل ومستخدمين N آخرين مرتبطين بهذا السيد يتعاملون فقط مع البيانات من هذا العميل؟