00:00:00فایربیس (Firebase) مذهل حقاً، إلى أن يبدأ تطبيقك بالنمو فعلياً.
00:00:03عندما يزداد المستخدمون وحركة المرور، تكتشف فجأة أن المشكلة ليست في الواجهة الخلفية، بل
00:00:09في الفاتورة.
00:00:10والأسوأ من ذلك، تدرك أنك لا تملك السيطرة على الواجهة الخلفية، بل فایربیس هو من يملكها.
00:00:14لكن، ماذا لو استطعت الاحتفاظ بكل المزايا الرائعة: الهوية، وقاعدة البيانات، والتخزين، والوظائف
00:00:19الفورية، وكل هذا، مع تشغيلها بنفسك وامتلاك بياناتك الخاصة؟
00:00:24هذا هو "آب رايت" (Appwrite)، وهو مشروع مفتوح المصدر بدأ الكثير من المطورين بالانتقال إليه
00:00:28خلال العام الماضي.
00:00:29دعونا نرى كيفية إعداده في بضع دقائق فقط.
00:00:37نعلم أن فایربیس يوفر لنا الهوية، وقاعدة بيانات فورية، وتخزيناً، ورسائل، وكل هذه
00:00:42الأدوات الجيدة.
00:00:43ولهذا السبب يبدأ الكثير من المطورين من هناك.
00:00:45يمنحنا آب رايت نفس هذه اللبنات الأساسية، بالإضافة إلى إدارة الفرق، والاستضافة الذاتية، ومزودي الرسائل،
00:00:52وحتى أدوات الذكاء الاصطناعي.
00:00:54الفرق هنا بسيط للغاية.
00:00:55إنه خادمك، وجهاز الـ VPS الخاص بك، وإعداداتك، وقواعدك أنت.
00:00:59إذا كنت تستمتع بهذه الأنواع من الأدوات مفتوحة المصدر التي تسرع سير عملك، فتأكد من
00:01:03الاشتراك في قناة Better Stack.
00:01:05الآن مع آب رايت، نحصل على نظام هوية بالبريد الإلكتروني، وOAuth، والروابط السحرية، وتسجيل الدخول المجهول،
00:01:10وحتى المصادقة الثنائية (MFA).
00:01:12تحصل على قاعدة بيانات فورية تمزج بين بنية المستندات والبنية العلاقاتية.
00:01:15وتحصل على ميزة تخزين مع تحويل الملفات.
00:01:17لدينا وظائف بدون خادم (Serverless) بأكثر من 13 لغة، ورسائل للدفع والبريد الإلكتروني والـ SMS، وكل هذه
00:01:23الأمور الرائعة.
00:01:24ويمكنك استضافته ذاتياً أو استخدام السحابة.
00:01:27وهنا الجزء الذي يدهش معظم الناس.
00:01:28رغم قوته الكبيرة، إلا أن استضافته ذاتياً سهلة حقاً.
00:01:32لذا دعونا لا نكتفي بالحديث عنه.
00:01:34لنبدأ فعلياً في تشغيله لأريكم كيف تدمجون آب رايت
00:01:38في أحد مشاريعكم.
00:01:39الخطوة الأولى بسيطة.
00:01:41تأكد من أن Docker يعمل، حسناً؟
00:01:43ثم في منصة الأوامر (Terminal)، أريدكم أن تشغلوا هذا الأمر، ثم سنقوم
00:01:46بتشغيل أمر Docker Compose هنا.
00:01:49وهذا كل شيء.
00:01:50تم إعداد الواجهة الخلفية بالفعل.
00:01:51إنها جاهزة للعمل.
00:01:52سيأخذنا هذا إلى هذه الصفحة حيث يمكنك إما إنشاء حساب أو تسجيل الدخول إلى
00:01:56حساب آب رايت الحالي الخاص بك.
00:01:58الآن سنقوم بإنشاء مشروع جديد هنا.
00:02:00سأسميه "TodoApp" لأن هذا ما سنعرضه.
00:02:04وبعد ذلك سننسخ معرف المشروع (Project ID).
00:02:06سنحتاج لإضافة هذا إلى ملف ENV الخاص بنا لاحقاً، حيث يمكنك حفظه الآن، أو
00:02:10يمكنك وضعه مباشرة في ملف ENV.
00:02:13بعد ذلك، سنضيف منصة ويب للتطوير المحلي.
00:02:16سأذهب إلى الهوية، ثم تطبيقات الويب، ثم إضافة منصة.
00:02:19يمكننا ضبط اسم المضيف على "localhost" فقط وسنحفظه كما هو.
00:02:23الآن يمكننا إعداد قاعدة البيانات الخاصة بنا وسننشئ مجموعة (Collection).
00:02:26بالنسبة لقاعدة البيانات ككل، فإن المجموعة هي مجرد جدول داخل تلك القاعدة.
00:02:30ويمكننا إنشاء أي عدد نحتاجه من الأعمدة.
00:02:33لهذا المشروع، سأستخدم أشياء مثل البريد الإلكتروني، والعنوان، والمحتوى، ولنقل
00:02:38معرف المستخدم (User ID).
00:02:40يمكننا الدخول هنا وضبط الأذونات.
00:02:42خيار "Any" مخصص لأي شخص، سواء قام بتسجيل الدخول أم لا.
00:02:45لذا سأضبط تلك على القراءة فقط.
00:02:48أما كل شيء آخر فسيكون للمستخدم الذي قام بتسجيل الدخول بالفعل.
00:02:51بما أنها قائمة مهام،
00:02:52فلنقم بجميع عمليات CRUD الأساسية من قراءة وتحديث وحذف وكل ذلك.
00:02:57هذا واحد من أفضل الأجزاء لأن آب رايت يتولى كل هذا مباشرة في الواجهة الخلفية.
00:03:02الأمر سهل للغاية.
00:03:03مجرد اختيار بضع خانات.
00:03:05الآن يمكننا ربطه بالكود الخاص بنا.
00:03:06يمكننا إضافة نقطة النهاية (Endpoint)، وكل البيانات لدينا، وهي معرف المشروع،
00:03:10ومعرف قاعدة البيانات، واسم الجدول نفسه مباشرة في ملف ENV الخاص بمشروعك.
00:03:16وما يبدو كأنه إعداد كامل للواجهة الخلفية هو في الواقع مجرد قطع صغيرة ربطناها
00:03:20داخل آب رايت ونقلناها إلى الكود الخاص بنا.
00:03:23حسناً.
00:03:24الآن لنختبر الأمر.
00:03:25يمكننا تشغيله.
00:03:26سأذهب إلى هنا وأنشئ حساب مستخدم جديد.
00:03:29لذا سنقوم بالتسجيل.
00:03:30وبمجرد تسجيل الدخول، يمكننا محاولة إنشاء مهمة.
00:03:33سأعطيها عنواناً وسأضع نوعاً من الوصف وسنقوم
00:03:37بالإضافة.
00:03:38وها قد انتهينا.
00:03:39يمكنكم رؤية أنه لا توجد أخطاء، صح؟
00:03:41يتم إرسال البيانات إلى تطبيقنا.
00:03:43وإذا عدنا إلى آب رايت، يمكننا رؤية بعض البيانات القادمة.
00:03:48الآن إذا قمت بتشغيل هذا في علامتي تبويب، في إحداهما نكون قد سجلنا الدخول وفي الأخرى
00:03:53لن نكون قد سجلنا الدخول.
00:03:54إذا أدخلت بيانات في التبويب الأول، فستظهر في التبويب الثاني الذي يحتوي على
00:03:59حقل القراءة فقط لأي شخص سواء سجل دخوله أم لا.
00:04:03بكمية قليلة جداً من الكود، أصبح لدينا كل شيء متزامن مع نظام الهوية
00:04:08وهي تقوم فعلياً بأخذ البيانات وتعبئة قاعدة البيانات وسحبها لنراها
00:04:13في صفحات متعددة.
00:04:14لذا لماذا ينتقل المطورون فعلياً إلى آب رايت؟
00:04:17حسناً، السبب الأول واضح جداً.
00:04:18وهو الملكية.
00:04:19أنت تملك البيانات حقاً، أليس كذلك؟
00:04:21هذا مشروع مفتوح المصدر.
00:04:23ويسمح لك بحماية المزيد من ذلك.
00:04:25بالإضافة إلى عدم وجود رسوم لكل مستخدم، صح؟
00:04:27بينما تنمو في فایربیس أو سوبابيس (Supabase)، ستكون هناك رسوم خفية.
00:04:31حسناً، ليست خفية تماماً، ولكن ستكون هناك رسوم مع تلك الأشياء.
00:04:35ومعظم الميزات التي لدينا هنا في آب رايت، موجودة بالفعل في فایربیس
00:04:39وسوبابيس.
00:04:40لذا فنحن لا نفقد أي شيء فعلياً.
00:04:42يمكنك استضافته ذاتياً أو استخدام سحابتهم، ومكتبات البرمجيات (SDKs) لديهم جيدة جداً مع أشياء مثل
00:04:47React و Flutter.
00:04:49مرة أخرى، لا يزال مفتوح المصدر.
00:04:51لذا فهو ليس مثالياً تماماً، ولكن كمطورين، يمكننا حل معظم هذه الأمور بسرعة.
00:04:55لذا لن يكون الأمر عقبة كبيرة.
00:04:57الأمر الأول هو أنك تحتاج لمعرفة Docker، ولكن ذلك سهل بما فيه الكفاية.
00:05:00حسناً.
00:05:01إذا كنت تعرف Docker، فهذا رائع لأننا نقوم بتشغيله بسرعة كبيرة.
00:05:05لا توجد شبكة توصيل محتوى (CDN) عالمية مدمجة أو وظائف حافة (Edge functions).
00:05:07لذا إذا كنت تريد ذلك، سيتعين عليك دمج شيء مثل Cloudflare.
00:05:10قاعدة البيانات مبنية على MariaDB.
00:05:13لذا فهي لا تحتوي على Postgres كما هو الحال في سوبابيس.
00:05:16وإذا كنت تريد التوسع بشكل كبير، ستحتاج إلى نوع من المراقبة، وهذا ينطبق
00:05:20على أي أداة مستضافة ذاتياً من هذا النوع.
00:05:22وهنا تبرز أهمية أدوات مثل Better Stack.
00:05:26الآن، هل يجب عليك استخدامه فعلياً، أو ربما السؤال الأفضل هو لمن صُمم هذا؟
00:05:30ربما أنت مطور أو شركة ناشئة تحاول تجنب هذه الفواتير المتزايدة.
00:05:34حسناً.
00:05:35هذا رائع.
00:05:36هذا مذهل حقاً.
00:05:37إذا كنت تهتم أكثر بالخصوصية والتحكم، فهذا سيكون جيداً أيضاً.
00:05:40بالنسبة لمطوري Flutter والموبايل الذين يريدون مكتبات SDK جيدة جداً، سيكون هذا رائعاً
00:05:44لذلك أيضاً.
00:05:45تذكروا، نحن نقلل الفاتورة هنا حقاً.
00:05:47لذا إذا كنت تهتم بتوفير المال، فقد يشمل ذلك أي شخص هنا.
00:05:49أجل، ستكون هذه أداة رائعة لذلك.
00:05:52إذا كان فایربیس يبدو باهظ الثمن مع نموك وسوبابيس يبدو وكأنه يحتوي على الكثير من
00:05:56الأجزاء المتحركة، فأشعر أن آب رايت قد يكون الحل الوسط بينهما.
00:06:00ولهذا السبب هو خيار قوي جداً مع دخولنا عام 2026.
00:06:04لذا في بضع دقائق فقط، قمنا بتشغيل واجهة خلفية، وزامنا كل شيء، ورأينا سبب
00:06:08كون هذا خياراً جيداً للكثير من المطورين الذين يبحثون عن بديل لفایربیس وسوبابيس.
00:06:13إذا كنت ترغب في تجربة ذلك، فقد وضعت بعض الروابط والمستندات في الوصف، توجه
00:06:17إليها وتحقق منها.
00:06:18يستغرق الأمر أقل من بضع دقائق لتشغيله.
00:06:20لذا فهو يستحق التجربة بالتأكيد.
00:06:21إذا كنت تستمتع بفيديوهات البرمجة والأدوات مفتوحة المصدر مثل هذه، فتأكد من الاشتراك
00:06:25في قناة Better Stack.
00:06:27نراكم في فيديو آخر.