الـ Back End عنصر ضروري في بناء مختلف البرمجيات على مختلف المنصات. ويختلف نظام قواعد البيانات وإدارة الـ Logic والـ Back End حسب خيارات المستخدم، وحسب أهداف المشروع البرمجي. وتبقى Firebase منصة رائدة في إدارة في نظام قواعد بيانات NoSQL وخدمات إدارة البيانات بشكل حي وتفاعلي، وتدعم مختلف مختلف التقنيات البرمجية.
تأتي Supabase كخدمة بديلة، مفتوحة المصدر وحرة كبديل مباشر لخدمة Firebase لإدارة أنظمة قواعد البيانات. مع ترسانة من الأدوات والتقنيات المختلفة لبناء برمجيات فعالة وتفاعلية وحية ومباشرة. معظم المبرمجين في الفترة الأخيرة بدؤوا بالاعتماد على Supabase كبديل رئيسي لـ Firebase، فلماذا؟ ما ميزات هذه الخدمة؟ وكيف يمكنني استخدامها؟
راعي المقال
حساب مجاني على منصة Skillshare
منصة Skillshare هي منصة تقدم لك كورسات ودورات مختلفة في جميع المجالات. وكل ما تحتاج للوصول إليها هو تسجيل حسابك الخاص بشكل مدفوع. لحسن الحظ أننا نقدم لك في هذا العرض فرصة لفتح حسابك لمدة شهر كامل مجانا لمشاهدة كل هذه الكورسات دون دفع فلس واحد.
ما هي منصة Supabase؟
إذن Supabase هي أولًا بديل مباشر لخدمة Firebase، أي كل ما يمكن لهذه الأخيرة فعله يمكن لـ Supbase فعله أيضا. يتبنى Supabase نظام قواعد بيانات PostgreSQL مع إدارة قواعد البيانات من خلال الـ API's وإرسال واستقبال وعرض البيانات بتوليد API's آمن وحديثة. لـ Supabase ميزات التعامل مع البيانات بشكل حي Real Time وإرسال واستقبال وتحديث البيانات في المشاريع البرمجية بشكل حي، كما حال الـ Firebase من جوجل. وبالطبع كما هو ظاهر، فهو يقدم خدمات تخزين المحتوى والبيانات.
إنشاء أنظمة Authentication ودخول سهلة وسريعة
بناء مشاريع برمجية يتطلب في النهاية إنشاء تقنيات دخول وتسجيل حسابات للمستخدمين. كلما كانت خدمات التسجيل والدخول (Authentication) أفضل كلما كان المشروع البرمجي أكثر احترافية. سواء بتسجيل مباشر ( بريد إلكتروني + باسوورد + أي خانات إضافية ) أو من خلال تقنيات دخول سريعة كالتسجيل بالبريد الإلكتروني، أو رقم هاتف، أو أحد حسابات التواصل الاجتماعي ( فيسبوك، تويتر، آبل …). فإن Supabase يمكنها التعامل مع أنظمة الدخول هذه.
دعم أوسع لتقنيات مختلفة
خدمة Supabase متاحة بشكل جاهز وتهيئة سهلة للغاية على مختلف التقنيات البرمجية، أهمها: تقنية Flutter و React و NextJS و Vue والمزيد … هذا لا يعني أن استخدامها في تقنيات أخرى مستحيل أو غير مدعم، بل فقط أن تجهيزها سيكون يدوي قليلًا، لكن كغيرها من أنظمة الـ Back End فتجيهزها سهل للغاية عبر تأمين الـ Tokens الملائمة لقاعدة البيانات والحساب ثم ربطها مع المشروع.
لاعتمادها على نظام تسجيل قواعد البيانات PostgreSQL، فهذا الأخير يسمح بتخزين البيانات بنمط تخزين بيانات علائقي (Relational Database) أو بلغة أخرى اعتماد قواعد بيانات SQL.
أبرز أوجه الاختلافات بين كل من Firebase و Supabase
لدينا بالفعل Firebase، لمَ سيود أي مستخدم التغيير صوب الـ Supabase؟
هناك أوجه اختلاف وتشابه بين المنصتين، من بينها:
الملكية أهم شيء، فـ Firebase تابعة لشركة جوجل التي بتنا نعرف أهدافها وغاياتها. ولا ننسى منشورنا حول الـ DeGoogle والتنصل من خدمات جوجل ككل. بينما Supbase هو مشروع حر مفتوح المصدر وبديل جيد.
السعر خيار آخر وجب أخذه بعين الاعتبار. فمنصة Firebase تقدم خطة مجانية محدودة التخزين ومحدودة عدد قواعد البيانات. كذلك Supabase تقدم خطة شبيهة، لكنها لا تقدم أسعار مباشرة للاستخدام، بل التغيير لخطة أفضل فقط عند الحاجة كتطوير المشروع البرمجي للأفضل.
تحدثنا عن الـ Authentication وكيف تقدم كلا الخدمتين ميزة التسجيل السريع بواسطة خدمات طرف ثالث. تتفوق Supabase لكونها تقدم خدمات أكثر من Firebase.
في حين أن Firebase تعتمد على نظام NoSQL مباشر ووحيد، فإن اعتماد Supabase على Postgre يجعلها منافس لـ Firebase في أنظمة إدارة قواعد البيانات SQL.
لكونها مشروع مفتوح المصدر، يمكن تخصيص Supabase لتلائم مشاريعك البرمجية بشكل أفضل. في حين عليك الالتزام بقواعد اللعبة التي تقدمها لك Firebase.
ليس تكنولوجيا مثالية … هذه بعض سلبيات استخدام Supabase
أكبر معضلة تلاحق Supabase حتى وقتنا هذا هو ضعف مجتمع التقنية والدعم الملائم لها. بمعنى أنك قد لا تجد الحلول لكافة المشاكل التي تعاني منها، ومن الصعب إيجاد مجتمعات تتحدث عن Supabase لتعريفك بها أكثر وجعلك تغوص في عالمها.
بالرغم من كون Supabase جيدة في عمليات تخزين البيانات و الـ Authentification، لكن نظام التحليل (Analytics) ضعيف في المنصة. لا يمكنك الحصول على كافة التفاصيل والمعلومات حول البيانات المارة في مشاريعك البرمجية.
أثناء استخدام Supabase في المشاريع الضخمة جدًا، ستعاني من مشاكل متعلقة بالآداء. ولحلها عليك الانتقال لاستخدام بعض الخدمات المدفوعة.
وفي الختام:
كان هذا المقال دليل بسيط لتسهيل مفهوم الـ Supabase وهذه التكنولوجيا لمن سيسمع بها لأول مرة. والأخذ بيدك في فهم أبرز الاختلافات بينها وبين خدمات الـ Back End الأخرى خصوصا Firebase.