recent
أخبار ساخنة

قم بإنشاء دردشة في الوقت الفعلي باستخدام Flutter و Dart

الصفحة الرئيسية

أصبح Flutter أكثر أهمية في بيئة التطبيق. يمكنك أيضًا إنشاء تطبيقات الهاتف المحمول وتطبيقات الويب وتطبيقات سطح المكتب. لغة واحدة للحكم عليهم جميعا.

من الطبيعي أن تسأل ، ما إذا كان يمكنك كتابة تطبيق من جانب الخادم أو الخلفية في Dart أيضًا. والجواب هو نعم!

النظام البيئي للجرف:

Shelf هو مفهوم تكوين خادم الويب أو أجزاء منه. تم إنشاؤه وصيانته ودعمه بواسطة فريق Dart. أنت تستخدمه بالفعل في عملك اليومي في Flutter: خدمة الحزم pub.dev مكتوبة بلغة Dart باستخدام الرف.

لذلك يمكننا أن نتفق جميعًا على أن هذه معركة تم اختبارها بواسطة ملايين المستخدمين.

يمكنك البحث في النظام البيئي للرف عن طريق البحث عن "shelf_" في pub.dev. لدى فريق dart أيضًا بعض الوثائق المفيدة حول الرف هنا.

لقد كتبت الحزمة shel_plus. يأتي مع إعادة تحميل مُهيأة مسبقًا ، كما تتوقعها من العمل مع Flutter. كما أن واجهة برمجة التطبيقات سهلة الاستخدام للغاية:

الجزء الخلفي:

من أجل إعداد خدمة دردشة في الوقت الفعلي ، نحتاج إلى خدمة خلفية. كما وعدنا ، نستخدم دارت مع الرف ومقبس الويب كتقنية اتصال. بخلاف طلبات HTTP ، تتيح لنا WebSockets الاتصال ثنائي الاتجاه. ليست هناك حاجة لاستطلاع الخادم. يمكن للخادم توفير رسالة من العميل A إلى العميل B على الفور تقريبًا.

هنا تنفيذ باستخدام shel_plus:

تطبيق الدردشة هو حالة استخدام بسيطة للغاية. ولكن يمكنك استخدام هذا النمط لإنشاء تطبيقات أكبر مثل الألعاب متعددة اللاعبين في الوقت الفعلي باستخدام Flutter.

في WebSocketSession ، يمكننا الرد على دورة حياة اتصال المقبس. الجزء الأكثر أهمية هو onMessage حيث يمكنك تنفيذ بروتوكول الاتصال الخاص بك. في الوقت الحالي نرسل السلاسل مباشرة (ونعرضها كما هي).

جزء الرفرفة:

يدعم Flutter اتصال WebSocket لجميع الأنظمة الأساسية عبر الحزمة web_socket_channel (التي يحتفظ بها فريق Dart). يوجد أيضًا كتاب طبخ حول WebSockets.

نحتاج في الأساس إلى الاتصال بالخادم والاستماع إلى جميع الرسائل الواردة وحفظها. فيما يلي تفصيل قصير لواجهة برمجة التطبيقات:

هذا كل ما نحتاجه لإنشاء تطبيق متعدد اللاعبين في الوقت الفعلي مثل الدردشة. الباقي هو بناء واجهة مستخدم جميلة مع حقل نموذج وزر وعرض تمرير تلقائي مع فقاعات الدردشة.

يمكن البحث عن رأيي في هذا هنا: flutter_chat /../ main.dart

يمكن العثور على مشروع dart الخلفي بالكامل هنا: flutter_websocket_chat.

باختصار ، أردت منك أن تُظهر كيف يمكنك بسهولة كتابة خدمات الخلفية ، وخاصة خدمات الوقت الفعلي ، باللغة التي تعرفها بالفعل: Dart. وقد أوضحت كيف يتم دمج معالجة WebSocket بدقة في الكود ، وذلك بفضل معالجة البث والحزم التي تمنحنا مستوى معينًا من التجريد.

إذا كنت مهتمًا بـ WebSockets أو Dart من جانب الخادم ، فاستخدم المصادر التي ربطتها داخل النص.

google-playkhamsatmostaqltradent