مالطريقة المناسبة لعمل تطبيق شات chat app؟

انا حتى اللحظة ما عملت على مشروع متكامل فرونت مع باك باستخدام المكاتب الحديثة الخاصة ب js
افكر بالذهاب لل vue لسهولة تعلمها وكثرة مصادرها

حالياً اعمل ع مشروع يعمل بالتمبلت العادية واريد إنشاء تطبيق محادثة chat وهو الوحيد الذي سيستخدم تقنية api spa تعرف هذه اساسيات تطبيق الشات تخيل تعمل reload كل مسج :joy:

هل الافضل استخدام ال vue بهذه الحالة ك jquery استدعاء فقط دون تهيئة سيرفر خاص بها بالفرونت ولا داعي لل Components يعني كود جداً بسيط فقط لدفع الرسائل وجلبها بشكل تلقائي
هل ستفي بالغرض

3 Likes

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

5 Likes

نصر عنده خبرة سابقة في بناء هكذا تطبيقات @sniperadmin :grin:

4 Likes

نعم ستفي بالغرض كاملا…
يمكنك فقط البدء بواجهة بسيطة وربط قاعدة البيانات وكل ذلك ممكن تعمله في component واحد بسيط

الأشياء التي سنأخذها في الاعتبار:

  • سنقوم بتعريف متغيرات سنعتمد عليها بشكل كلي:
export default {
  data() {
    return {
      messages: [], // هيتم حفظ كل الرسائل هنا
      message: "الرسالة التي ستكتب هنا",
      authUser: {} // هيتم حفظ بيانات المستخدم هنا
    };
  },

بعد اختيارك لنظام الباك اند، يتعين عليك الحصول على بيانات المستخدم اللي مسجّل دخول ولما يرسل الرسالة ترسل بيانات الرسالة الى قاعدة البيانات كما يظهر بالمثال:

message: this.message.toString(),
author: اسم المستخدم,
createdAt: new Date()

ونقول مبروك! سيصبح من السهل أن تستخدم كل هذه البيانات داخل الDOM

3 Likes

tenor (2)

3 Likes

ماشاء الله :heart_eyes::heart_eyes: أبسط طريقة لعمل شات… شكرا نصر على الإفادة و شكرا سامر على السؤال :grin:

4 Likes

شكرا نصر كنت في سفر ولم اطبق اي شيء قريبا سأطلعك على النتائج يبدو الامر جدا سهل

طبعا هذا بخصوص الfron end ماذا عن ال back end هل استخدام websocket هو الانسب وهل احد قام بتجربة django channles
امر اخر لطبيعة الحال نحن نستخدم سيرفر WSGI
لكن ما الاختلاف الذي سيكون عن ASGI
وفي حال مشروعي هل يعتبر ال websocket منفذ اخر لتوصيل الاشارات ومزامنتها في السيرفر ؟؟

و سمعت عن شيء يشبه api stream مثل الذي في تويتر جربت التعامل معه لكن هل نستطيع بناء api stream وهل فكرته مختلفة عن websocket ؟

ربما هذا السؤال يكون موجه لـ @hichem2h :blush:

3 Likes

استعمل Ajax

2 Likes