نحن نكتب برنامج المراسلة الخاص بنا لنظام Android. نحن نكتب رسول P2P الخاص بنا. دعم الأجهزة المتعددة

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

التقنيات والأدوات المستخدمة

  1. متوسط ​​المكدس (مونجو، إكسبريس، الزاوي، العقدة).
  2. مآخذ للمراسلة المباشرة.
  3. أجاكس للتسجيل وتسجيل الدخول.

تحضير

يبدو هيكل التطبيق المستقبلي كما يلي:

يجب أن يبدو الرسم البياني مثل هذا:

( "_id" : ObjectId("5809171b71e640556be904ef")، "name" : "Monkey proger"، "handle" : "mkproger"، "password" : "proger228"، "phone" : "8888888888"، "email" : " [البريد الإلكتروني محمي]", "friends" : [ ( "name" : "habrick"، "status" : "Friend" ), ( "name" : "javaman"، "status" : "Friend" ) ], "__v" : 0 )

يمكن تعيين الحالات التالية للمحاورين:

  • صديق - المحاور صديق.
  • معلق - لم يقبل المحاور الطلب بعد.
  • محظور - المحاور محظور.

لنفترض أن المحاور يرفض طلب إجراء محادثة خاصة. في هذه الحالة، يجب أن يكون المرسل قادراً على إعادة إرسال الطلب.

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

يمكنك أيضًا إنشاء REST API لخدمة العميل. على سبيل المثال، نقطة النهاية التي ترسل الصفحة الرئيسية التي يمكن للمستخدمين تقديم طلبات أخرى منها.

بعض نقاط النهاية المحتملة لواجهة برمجة التطبيقات:

App.post("/تسجيل"، وظيفة(req,res)()) app.post("/تسجيل الدخول"، وظيفة(req,res)()) app.post("/friend_request"، وظيفة(req,res )()) app.post("/friend_request/confirmed"، وظيفة(req,res)())

أن عدد مستخدمي برنامج المراسلة بحلول عام 2021 سيصل إلى ما يقرب من مليارين ونصف المليار، أي ثلث سكان الأرض. هل يوجد مكان لشركتك الناشئة في سوق تطبيقات الهاتف المحمول وما هي الميزات التي يجب أن يتمتع بها برنامج المراسلة الخاص بك حتى يتمكن من اكتساب شعبية في بيئة شديدة التنافسية؟

مع ظهور الهواتف الذكية وتطبيقات الاتصال في حياتنا، أصبحت برامج المراسلة الفورية الرخيصة أو حتى المجانية بديلاً ممتازًا لخدمات الرسائل القصيرة والرسائل المتعددة الوسائط. توفر تطبيقات المراسلة الفورية الحديثة لمستخدميها مجموعة واسعة من الخيارات - المحادثات والمكالمات الجماعية والتبادل السريع للصور ومقاطع الفيديو وغير ذلك الكثير.

اتجاهات سوق برامج المراسلة عبر الهاتف المحمول - آسيا تقترب من أعقابها

WhatsApp vs Facebook messenger - المنافسون والشركاء

في عام 2014، استحوذت شركة الإعلام العملاقة فيسبوك على تطبيق واتساب مسنجر مقابل 19 مليار دولار، ومن الواضح أنها لم تندم على ذلك. لقد تجاوز عدد مستخدمي WhatsApp النشطين مليار مستخدم، أو بشكل أكثر دقة، 1.3 مليار اعتبارًا من يوليو 2017. على الرغم من أن FB messenger وWhatsApp يقدمان للمستخدمين مجموعة متشابهة إلى حد ما من الوظائف، وحتى واجهة مماثلة، إلا أنهما يشغلان حاليًا المركزين الأولين في تصنيف برامج المراسلة الفورية الأكثر شعبية على الأجهزة المحمولة في العالم.

واتس اب

الجدير بالذكر هو أن تطبيق WhatsApp يحظى بشعبية خاصة خارج الولايات المتحدة وقد نجح حتى الآن في منافسة برامج المراسلة الفورية الآسيوية. بالإضافة إلى ذلك، هناك طلب كبير على التطبيق في الأسواق الناشئة في البرازيل والمكسيك وتركيا.

منذ إطلاقه في عام 2009، تطور تطبيق WhatsApp من شركة ناشئة للمراسلة إلى شركة رائدة في الصناعة متاحة على كل أنظمة تشغيل الأجهزة المحمولة تقريبًا. اليوم، يعد تطبيق WhatsApp، كبديل للرسائل النصية القصيرة، مفيدًا بشكل خاص للاستخدام في الاتصالات الدولية والرسائل الجماعية. يتم ضمان شعبية WhatsApp في سوق المراسلة العالمية أيضًا من خلال وظائفه الرئيسية:

  • التسجيل عن طريق رقم الهاتف.
  • الأحداث في الوقت الحقيقي.
  • إرسال الملفات والصور.
  • تسجيل الرسائل الصوتية.
  • مكالمات صوتية.

يتيح لك تطبيق WhatsApp أيضًا تنزيل الملفات من الخدمات السحابية التابعة لجهات خارجية مثل Google Drive وOneDrive وiCloud مباشرةً في الرسالة. بالنسبة لنظام التشغيل iOS، تم دمج Siri في التطبيق، حيث يمكنه إرسال الرسائل وإجراء المكالمات الصوتية مباشرة في برنامج المراسلة. يمكنك قراءة المزيد عن ميزات برنامج المراسلة الأكثر شهرة، وكذلك معرفة تكلفة تطبيق الهاتف المحمول مثل WhatsApp.

الفيسبوك رسول

لقد اكتسب Facebook Messenger، وهو تطبيق مصمم خصيصًا للتواصل، شعبية كبيرة مثل WhatsApp تقريبًا منذ إطلاقه في عام 2011. واجهة التطبيق النظيفة والمشرقة عملية وسهلة الاستخدام.

بالإضافة إلى الرسائل النصية والرموز والقدرة على مشاركة ملفات الوسائط المتعددة، فإن وظائف التطبيق غنية جدًا:

  • المكالمات الصوتية والمرئية؛
  • القدرة على الرد على الرسائل داخل الدردشة، وإرسال صور متحركة وملصقات؛
  • تعد القدرة على إضافة شخص كصديق بمجرد مسح رمز الملف الشخصي الخاص به أمرًا مناسبًا عندما لا ترغب في كتابة اسم الشخص أو البحث عنه بين العديد من الأسماء التي تحمل الاسم نفسه؛
  • عدد كبير من الألعاب المضمنة في برنامج المراسلة؛
  • وظيفة إعداد تذكيرات حول الخطط؛
  • هناك بالفعل عدد كبير من روبوتات الدردشة؛
  • أتاحت آخر التحديثات لبرنامج المراسلة إمكانية مشاركة موقعك الحالي مع الأصدقاء؛

في عام 2016، أصبح FB Messenger أحد تطبيقات الهاتف المحمول الأكثر شعبية في الولايات المتحدة، حيث اكتسب أكثر من 100 مليون مستخدم فريد شهريًا. يقوم برنامج المراسلة باستيراد جهات الاتصال من Facebook وهو سهل الاستخدام على كل من الأجهزة المحمولة وسطح المكتب.

الوظائف الأكثر شعبية لبرنامج FB messenger

Slack هو النجم الصاعد في مجال الاتصالات المؤسسية

أصبحت برامج الاتصالات للشركات ذات شعبية متزايدة. في أقل من أربع سنوات منذ إطلاق Slack في عام 2013، أصبح بالفعل أحد أكثر تطبيقات المراسلة للشركات شعبية. وفي فبراير 2017، وصل عدد مستخدميه النشطين إلى 5 ملايين. وفقًا لأحد الاستطلاعات، أشار ثلث المشاركين إلى أنه بعد إدخال Slack في العمليات التجارية، زادت كفاءة العمل إلى 20-40٪.

بالإضافة إلى السماح للمستخدمين بإرسال رسائل لبعضهم البعض، يحتوي Slack على عدد لا بأس به من الميزات المدمجة للتواصل والترفيه:

  • إمكانية إنشاء العديد من القنوات المختلفة بناءً على موضوع المحادثة؛
  • روبوت Slack الذي يعمل مثل المفكرة الافتراضية حيث يمكنك إرفاق الأفكار التي تريدها؛
  • القدرة على البحث عن الرسائل عن طريق الكلمات الرئيسية.
  • التكامل مع خدمات الطرف الثالث مثل Asana وDropbox وGoogle Hangouts؛
  • تم دمج Slack أيضًا مع Giphy (تطبيق للعثور على صور GIF على الويب)، ويمكن للمستخدم الوصول إلى التطبيق ببساطة عن طريق كتابة "/giphy" وكلمة رئيسية مثل "Hello World!"؛
  • ربما تشمل عيوب برنامج مراسلة الشركات هذا حقيقة أنه لا يحفظ المراسلات لفترة طويلة، على الرغم من أن هذه الحقيقة، كما تظهر الديناميكيات، لا تزعج المستخدمين.

SnapChat - خلق واقع عابر

أطلق المراهقون الأمريكيون على Snapchat التطبيق الأكثر أهمية في جيلهم. عند التحدث مباشرة إلى جمهور أصغر سنًا، فإن ما يقرب من ثلث مستخدمي Snapchat البالغين تتراوح أعمارهم بين 18 و24 عامًا. باختصار، يتيح لك Snapchat مشاركة رسائل الصور والفيديو، ويتم تحديد مدة هذه الرسالة من قبل المرسل. يمكن للمستخدم إضافة العديد من التأثيرات والرسومات والرسومات على الصورة. مزيد من التفاصيل حول ميزات برنامج Snapchat messenger:

  • تحديد حد زمني: يتم تدمير كل رسالة مرسلة ذاتيًا بعد فترة زمنية محددة - من المفترض أن المستخدمين لا داعي للقلق بشأن مشاركة صورهم؛
  • يعد الإبلاغ عن لقطات الشاشة خيارًا آخر لضمان أمان البيانات. إذا قرر أحد المستلمين التقاط لقطة شاشة للرسالة، فسيتلقى المرسل إشعارًا وسيقوم بعد ذلك بمشاركة الملفات بعناية مع هذا الشخص؛
  • القدرة على القيام بما يسمى بتبديل الوجه - إضافة صور من معرض هاتفك إلى صورتك؛
  • ربما تكون العدسات هي الخيار الأكثر إثارة للاهتمام والشعبية. يقوم برنامج Snapchat messenger بمسح وجه الشخص أثناء التقاط صورة أو مقطع فيديو، ثم يمكنك تطبيق جميع أنواع التأثيرات والأقنعة؛
  • رمز سناب هو صورة رمزية تشبه رمز الاستجابة السريعة، وهو فريد لكل مستخدم. إذا قمت بالتقاط لقطة شاشة أو صورة لرمز Snapcode وأرسلتها إلى صديق، فسيتمكن من إضافتك على Snapchat دون إدخال لقب؛
  • أضاف تطبيق Messenger هذا الصيف إمكانية مشاركة موقعك مع الأصدقاء.

يعد Snapchat اليوم أحد أشهر برامج المراسلة الفورية في العالم لتبادل ملفات الوسائط المتعددة. منذ إطلاق التطبيق في عام 2011، تجاوز عدد مستخدميه النشطين 150 مليونًا.

هل يستحق إنشاء تطبيق مراسلة آخر؟

إذا كنت تخطط لإنشاء تطبيق مراسلة، فيجب عليك الاستعداد لحقيقة أنك ستواجه منافسة قوية في سوق التطبيقات. يعلمنا أفضل برامج المراسلة أن المعيار الرئيسي للنجاح هو العثور على مكانك الفريد وتلبية احتياجات الجمهور المستهدف، مما يوفر للمستخدمين وظائف غنية وواجهة مريحة. على سبيل المثال، تعمل شركة Slack على غزو السوق بنشاط من خلال توفير حلول لاتصالات الشركات. خطت SnapChat خطوة إلى الأمام واجتذبت جمهورًا شابًا يعيش في العصر الرقمي والذين لا يستطيعون تخيل حياتهم بدون الوسائط المتعددة.

يعد WhatsApp وFB messenger مثالاً على كيفية تعايش منتجين لهما وظائف وواجهة متشابهة بشكل مثالي في سوق حلول الاتصالات. كيف يكون هذا ممكنا؟ تذكر عدد برامج المراسلة الفورية الموجودة على هاتفك. منذ عدة سنوات، قامت شركتنا بتطوير برنامج مراسلة يدعم أحداث الوقت الفعلي، تمامًا مثل WhatsApp، ولكن لتلبية احتياجات الشركة، مثل Slack. ومن الأمثلة الجيدة على ذلك أن برنامج المراسلة المحمول الخاص بك يمكن أن يجمع بين وظائف الحلول الموجودة وأن يتم تصميمه لأغراض مختلفة. أو يمكنك أن تخطو خطوة إلى الأمام وتنشئ شيئًا جديدًا تمامًا في مجال تطبيقات الاتصال.

يتمتع المتخصصون لدينا بخبرة واسعة في إنشاء تطبيقات الهاتف المحمول على المستوى المتوسط ​​والمؤسسي. هل تحتاج إلى تطوير MVP أو تطبيقات لنظامي التشغيل iOS وAndroid أو تصميم مخصص؟ نلقي نظرة على بلدنا اليوم!

يمكن أن يصبح تطوير برنامج مراسلة للهواتف الذكية أو موقع ويب بداية ناجحة. يحتل برنامج المراسلة بالفعل المركز الأول من حيث عدد التنزيلات في العالم.

هل يستحق الأمر إنشاء تطبيق مراسلة آخر؟


لدى كل مستخدم ما بين اثنين إلى خمسة برامج مراسلة فورية مثبتة على هواتفه. يتم استخدام كل منهم بدرجة أو بأخرى.

مع مرور الوقت، تفقد بعض تطبيقات المراسلة مواقعها القيادية، مما يفسح المجال أمام مواقع جديدة. لذلك، في عام واحد، انتقل Skype من المركز الأول، الذي احتله لعدة سنوات، إلى المركز الرابع. Telegram في المركز الخامس. ولكن يبدو أن هذا أيضًا وضع مؤقت، لأن نفس Telegram تغزو السوق بسرعة. في عام 2017، ظهر اتجاه جديد - القنوات العامة والمحادثات. يجذب وجودهم مستخدمين جدد، مما يحول برامج المراسلة الفورية إلى وسائل تواصل اجتماعي. وربما كان هذا هو السبب وراء زيادة شعبية Telegram.

تصنيف شعبية رسول

المصدر vc.ru

تظهر الإحصائيات المتعلقة بالنمو في عدد مستخدمي برنامج المراسلة أن تطبيقات المراسلة لديها إمكانات. ولكن عند إطلاق شركة ناشئة، يجب أن تكون مستعدًا للمنافسة. يبدأ تطوير برنامج المراسلة لنظام التشغيل iOS أو Android بالصياغة الصحيحة للمشكلة واختيار الأدوات. بهذه الطريقة سنحصل على تطبيق يلبي احتياجات المستخدمين.


كيفية إنشاء رسول مطلوب بين المستخدمين

في البداية، تم إنشاء برامج المراسلة إما كمحادثات، على سبيل المثال WhatsApp، أو كتطبيق للمكالمات - Skype، Viber. وفي وقت لاحق، بدأوا في إضافة وظائف إلى برامج المراسلة التي لم تكن موجودة في الأصل. لذلك، أضاف واتساب وظائف المكالمات الصوتية، ثم الفيديو. ثم ظهرت واجهات برمجة التطبيقات المفتوحة والروبوتات والأقنعة والحالات وقبول الدفع والقنوات العامة. ومع ذلك، فمن الصعب تقديم وظائف جديدة أو تغيير البنية عندما يكون لدى برنامج المراسلة ملايين المستخدمين. على سبيل المثال، لا يزال تطبيق WhatsApp لا يحتوي على واجهة برمجة التطبيقات (API) أو الروبوتات.

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

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

نهجنا في تطوير بنية المراسلة

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

نقوم بتصميم وتطوير الهندسة المعمارية وفقًا لمبادئ العمارة النظيفة.

تسمح لك البنية النظيفة، التي وصفها روبرت مارتن، بتصميم نظام مرن وقابل للتطوير.

هذه ممارسة شائعة في البرامج الحديثة، ولكن لا يستطيع الجميع تحقيق بنية نظيفة. نلتزم في عملنا بعدد من المبادئ المحددة ونحصل على النتيجة المتوقعة. وتظهر الصورة البنية الجديدة التي قدمتها جوجل. باستخدام هذا النهج والتحسينات التي أجريناها، نقوم بتنفيذ بنية نظيفة على Android.


المرونة وقابلية التوسع وقابلية الاختبار

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

نحن لا نجعل التعليمات البرمجية قابلة للتطوير فحسب، بل أيضًا البنية التحتية للنظام نفسه.

أداء التطبيق

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

أثناء العمل، نفكر في مهمة العميل ومع أخذ ذلك في الاعتبار، نتعامل مع اختيار الأدوات.

كقاعدة عامة، نحن نبرمج بلغة PHP. تُستخدم لغة البرمجة هذه في Whatsapp وFacebook وStackoverflow. PHP ليست أقل شأنا من اللغات الأخرى من حيث الأداء ويمكنها تحمل الأحمال العالية. تتمثل ميزة هذه اللغة في أنه بعد إكمال المهمة، يتم تحرير موارد الخادم، وتغطي البنية المصممة بشكل صحيح ومجموعة التكنولوجيا الجيدة عيوب اللغة.

تكلفة تطوير مشروع بلغة PHP أرخص عدة مرات من لغات مثل Java وPython. وفي الوقت نفسه، التطبيق ليس أقل شأنا في الأداء.

عند اختيار الأدوات، فإننا نركز على مدى فعالية واحدة أو أخرى منها في حل المشكلة. في جوهر الأمر، نحن نكيف الأدوات مع البنية، وليس العكس.

العمل مع عدد كبير من المستخدمين والأحمال الثقيلة

نستخدم في عملنا منصة NodeJS. تظهر تجربتنا أن هذه المنصة مناسبة لإنشاء المحادثات وتطبيقات الهاتف المحمول. تم تصميم NodeJS بشكل جيد ويسمح لك ببناء أنظمة عالية التحميل. خارج الصندوق، يمكن للدردشة على NodeJS التعامل مع حمولة تصل إلى 10000 اتصال.

يتطلب تطوير برنامج المراسلة لنظام Android أو iOS لهذا النظام الأساسي استخدام Java Script. هذه اللغة شائعة، لذا فإن العثور على المطورين ليس مشكلة.

أعد التفكير - نستخدم قاعدة بيانات NoSQL هذه لأنها أكثر إنتاجية من منافسيها. في RethinkDB، لا يتم تنفيذ مترجم لغة الاستعلام، المسمى ReQL، على مستوى الخادم، ولكنه مدمج كلغة خاصة بالمجال في اللغة التي يُكتب بها تطبيق العميل.

تقوم جداول قاعدة البيانات بتخزين مستندات JSON التي تسمح بأي مستوى من التداخل. يحتوي كل مستند على "معرف" مفتاح أساسي فريد للجدول الأصلي الخاص به. بالإشارة إلى المفتاح، نحصل على وثيقة. تعمل كل وظيفة استعلام ReQL على البيانات التي تم الحصول عليها من الوظيفة السابقة في السلسلة. يتيح لك ذلك إنشاء بنية أكثر مرونة للمشاريع ذات التحميل العالي وعدم التفكير في مدى تعقيد هياكل البيانات.

المنافس لـ NoSQL DBMS هو MongoDB. تحظى هذه المنصة بشعبية كبيرة في السوق، لكن الشعبية ليست دائمًا مفتاح النجاح. يواجه MongoDB عددًا من المشكلات: لا يؤدي حذف المستندات إلى مسح مساحة القرص، لذلك يجب إنشاء التطبيق بحيث لا يتم حذف المستندات (ملفات الكائنات) بشكل متكرر. لا يعمل MongoDB أيضًا بشكل جيد مع العديد من العمليات المجمعة على المستندات، وهو ما يتعارض مع قواعد بناء نظام عالي التحميل.

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


تطوير واجهة الماسنجر

يجب أن يكون واضحًا للمستخدم كيفية العمل، ويجب أن يكون العمل مناسبًا. لذلك، نوصي غالبًا باستخدام التصميم الأصلي، لأنه مريح ويمكن التنبؤ به. يتصرف التطبيق بنفس الطريقة على الأجهزة المختلفة. يرى المستخدم العناصر المألوفة، ويعرف كيفية استخدامها، وليس لديه أي أسئلة حول كيفية استخدام برنامج المراسلة.

عند تطوير التصميم من المهم:

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

    ردود الفعل العملية. يستغرق إرسال الرسائل وتنزيل الملفات وقتًا. في هذه المرحلة، من المهم أن تظهر للمستخدم أن العملية قيد التقدم.

    جميع الأخطاء المحتملة، على سبيل المثال، في حالة فقدان الإنترنت، يجب على المستخدم أن يفهم أن هناك خطأ ما.

    للتحقق من رقم الهاتف، قم بتعيين حد زمني لإعادة إرسال رسالة نصية قصيرة تحتوي على رمز التحقق، نظرًا لأن الرسالة قد لا تصل بعد، وسيكون لدى المستخدم الوقت للنقر لإعادة إرسال الرمز ست مرات.

    قم بتحذير المستخدم من أنه يستخدم الإنترنت عبر الهاتف المحمول في وقت إرسال ملف كبير الحجم.




الراحة داخل الدردشة ومنع الأخطاء السخيفة

من المهم تنظيم عمليات البحث بشكل ملائم داخل دردشة معينة. يمكنك العثور بسرعة على اللحظة المناسبة في المراسلات أو المستندات أو الصور أو مقاطع الفيديو، دون التمرير بشكل عشوائي عبر الموجز.

قبل إرسال الرسائل الصوتية، من المهم أن يتمكن المستخدم من الاستماع إليها. يجب أن يكون هناك أيضًا خيار لتصحيح الخطأ أو إزالة الرسالة غير المرغوب فيها. يتطلب إنشاء تطبيق مراسلة على iPhone أو Android دراسة متأنية لهذه الفروق الدقيقة وغيرها.

خصوصية

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

هناك فروق دقيقة هنا. على سبيل المثال، لإجراء محادثة مجهولة كاملة، يجب على المحاورين، دون الرجوع إلى خصائص محددة - رقم الهاتف والاسم والموقع - أن يفهموا من هو. للقيام بذلك، تحتاج إلى استخدام تشفير لمرة واحدة يمكن للجميع استخدامه، ولكن لن يتكرر مرتين. تتم دعوة الأشخاص لمثل هذه المحادثة أيضًا باستخدام "مفتاح" يعمل مرة واحدة فقط ويتم تعيينه بواسطة الشخص نفسه فقط.

حماية لقطة الشاشة. تشفير الإخطارات الواردة. القدرة على حذف الرسائل بسرعة، دون تأكيدات غير ضرورية.


ما هي تكلفة إنشاء برنامج المراسلة الخاص بك؟

يعتمد سعر تطوير برنامج المراسلة على المدة التي سيستغرقها العمل على التطبيق. كلما كانت الوظيفة أكثر تعقيدًا، زادت تكلفة التطوير. لا يمكننا تحديد السعر النهائي لتطوير برنامج مراسلة لنظام التشغيل iOS أو Android أو موقع ويب إلا بعد أن نفهم المشكلات التي يجب حلها.

تكلفة الترويج والدعم

يعد تطوير برنامج المراسلة لنظام Android أو iOS هو المرحلة الأولى. إذا لم تكن هذه محادثة مؤسسية، فيجب ترقية برنامج المراسلة. للقيام بذلك، تحتاج إلى تضمين مبلغ معين في ميزانية التسويق الخاصة بك. هذا يتضمن:

    ترويج ASO (تحسين متجر التطبيقات) عبارة عن مجموعة من الأعمال لتحسين تطبيق الهاتف المحمول. وهي التركيب الصحيح للعنوان (الاسم)، والكلمات الرئيسية (الكلمات الرئيسية)، والأوصاف (الوصف)، من أجل زيادة ظهور تطبيقك في البحث إلى الحد الأقصى

    الدفع مقابل التنسيب في متجري Google Play وApp Store.

بعد إطلاق التطبيق يحتاج إلى التطوير والتحديث:

    إزالة الأخطاء والرد على شكاوى المستخدمين

    إضافة ميزات جديدة.

من أين تبدأ في إنشاء تطبيق لإرسال الرسائل على Android أو iPhone

يبدأ تطوير برنامج المراسلة المخصص بتحديد المهمة.

اكتب أو اتصل بنا، وسنقوم بترتيب لقاء ومناقشة المشكلة ومساعدتك في العثور على الحل الأمثل لكيفية إنشاء برنامج مراسلة شائع لنظامي التشغيل Android وiOS.

وكانت لديها شبكة إنترنت خاصة مذهلة خلف سياج، حيث كانت هناك "كلمات رئيسية" بدلاً من عناوين URL: شيء بين عنوان صفحة الويب والكلمة الرئيسية المشتراة في أحد الإعلانات. وتنافست الشركات على الكلمات الرئيسية المثيرة للاهتمام، تماماً كما تتنافس على النطاقات اليوم، وكان الإعلان يبدو كالتالي: "قم بزيارتنا على شبكة الويب العالمية على www.example.com، أو اكتب كلمة AOL الرئيسية: "الخدمات المصرفية"."


التاريخ يميل إلى تكرار نفسه. الآن يلعب الرسل الرئيسيون دور America Online: فهم جميعًا خلف الأسوار، وغير متوافقين مع بعضهم البعض، وكلهم يخترعون كلماتهم الرئيسية الخاصة، ويريدون الاستيلاء على المستخدم وعدم تركه أبدًا. الشركات ليست مهتمة بالانفتاح: فاللاعبون الأكبر حجماً لا يريدون مشاركة المستخدمين مع اللاعبين الأصغر حجماً، ناهيك عن أن يصبحوا منفتحين. ونتيجة لذلك، من المستحيل إرسال رسالة حتى من WhatsApp إلى Facebook Messenger، على الرغم من أن كلاهما ينتميان إلى نفس الشركة. ويقدر المستخدمون الموثوقية والراحة أكثر من الانفتاح المجرد، على الرغم من انزعاج الكثيرين من وجود بعض الأصدقاء، على سبيل المثال، على Telegram، وبعضهم على WhatsApp، والآباء على Skype.


لكن لسوء الحظ، لا أحد يلعب دور الإنترنت المفتوح اليوم. أريد تغيير الوضع. إذا لم يتمكن XMPP من القيام بذلك، فربما يستطيع شخص آخر القيام بذلك؟ وهذه قصة عن تينود.

ما هو تينود

Tinode هو برنامج مراسلة مفتوح المصدر بالكامل على Github. جميع تطبيقات العميل (ReactJS وAndroid) مرخصة بموجب Apache 2.0، ومن أجل تبسيط إنشاء التطبيقات التجارية المستندة إلى Tinode، فإن الخادم يخضع لـ GPL 3.0. الهدف من المشروع هو إنشاء برنامج مراسلة متحد يكون بسيطًا ومريحًا لكل من المستخدمين والمشغلين. قمت بتثبيته - وكل شيء يعمل مثل MySQL أو Nginx. على المدى الطويل، الهدف من المشروع هو إنشاء بديل مفتوح لبرامج المراسلة الفورية الخاصة الحالية، مع تكرار ما فعله Android فيما يتعلق بأنظمة تشغيل الهواتف المحمولة فيما يتعلق بالمراسلين الفوريين.

ماذا يمكن أن يفعل؟

يدعم أجهزة متعددة.

كل شخص لديه هاتف ذكي، وأحيانًا أكثر من هاتف واحد، بالإضافة إلى أنه غالبًا ما يكون من المناسب استخدام تطبيق ويب من الكمبيوتر الرئيسي. ولذلك، كان دعم الأجهزة المتعددة أحد المتطلبات الرئيسية للمشروع، والتي تحدد القرارات المعمارية الرئيسية. إذا قام المستخدم بتسجيل الدخول من جهاز جديد، فأنت لا تريده أن يبدأ من الصفر كما هو الحال في WeChat. وهذا يعني أنه يجب تخزين كل من دفتر العناوين والرسائل على الخادم، وهو ما تم تنفيذه.


من الواضح أن تخزين معلومات المستخدم على خادم ليس مناسبًا للجميع، لأنه يخلق مخاطر الوصول غير المرغوب فيه: كلما زاد عدد نسخ البيانات المخزنة في أماكن مختلفة، زاد احتمال حدوث خطأ ما. ولهذا الغرض يتم توفير إمكانية الرسائل المؤقتة والرسائل التي يتم حذفها من الخادم بعد تسليمها إلى العميل. ومن الناحية الفنية، هناك أيضًا إمكانية عدم تخزين جهات الاتصال على الخادم بشكل دائم، حيث يرسلها العميل إلى الخادم وقت الاتصال (تسجيل الدخول)، ثم يتم حذفها بعد تسجيل الخروج. ومع ذلك، اعتبر المؤلفون أن هذا أمر صعب بشكل غير عملي ولم يفعلوا ذلك.

الموجودين

يعد بث حالة المستخدم متصلاً/غير متصل بالإنترنت في برامج المراسلة الفورية أمراً مفروغًا منه، ومع ذلك، فهذه ميزة صعبة التنفيذ للغاية. إنها تحتاج إلى "العمل فقط"، بشكل يمكن التنبؤ به وموثوق به. أدت موثوقية التشغيل إلى القضاء على توليد الحالة على العميل، كما هو مطبق في بعض تطبيقات XMPP. في حالة Tinode، يقوم الخادم بإنشاء حالة عبر الإنترنت وإرسالها إلى دفتر العناوين، الأمر الذي يتطلب مرة أخرى تخزين جهات الاتصال على الخادم ومزامنتها مع تطبيقات العميل.

بساطة البروتوكول

كنت أرغب في إنشاء البروتوكول بحيث يكون منحنى التعلم مسطحًا - لا تحتاج إلى معرفة كل شيء للبدء. لقد تبين أن المواصفات كانت مضغوطة للغاية: 10 طلبات للعملاء و5 استجابات للخادم. على سبيل المثال، مقارنة بأكثر من 200 صفحة فقط جوهر XMPP، دون احتساب الامتدادات، يكاد يكون بمثابة ملاحظة على منديل.


يتم فصل عرض البيانات عن بروتوكول الشبكة. يتطلب البروتوكول بنية بيانات معينة فقط، ولكنه لا يتطلب نقلها عبر الشبكة بأي طريقة معينة. الآن يدعم الخادم JSON عبر websocket والاستقصاء الطويل، مع TLS وبدونه، بالإضافة إلى gRPC عبر TCP. تم تنفيذ دعم gRPC بواسطة مطور واحد خلال أسبوعين، بما في ذلك كتابة عميل نصي في Python. من غير المرجح أن يستغرق إضافة دعم لتنسيقات وبروتوكولات البيانات الأخرى، مثلMessagePack أو Noise، أكثر من ذلك بكثير.

القابلية للتوسعة

من ناحية، أريد أن يعمل كل شيء على الفور، على سبيل المثال، بحيث تكون الوظيفة الرئيسية قابلة للمقارنة بـ WhatsApp و Telegram بمجرد إخراجها من الصندوق. من ناحية أخرى، لدى الأشخاص احتياجات مختلفة ويجب أن تكون قادرًا على توسيع الوظائف. إن العثور على التوازن يشبه الاختيار بين بنية متجانسة وخدمات صغيرة: ليس من المرغوب فيه أن يكون لديك وحدة متراصة غير قابلة للتغيير، وبالمثل، من السيئ أن ينتهي الأمر بحديقة حيوان من الخدمات الصغيرة، التي تصبح إدارتها مهمة منفصلة.


تقرر تقسيم الوظيفة إلى ثلاثة أجزاء - الرئيسية والشبكة والمساعدة. العامل الرئيسي هو ما يسمح لـ Tinode بأداء وظيفته الرئيسية - إعادة توجيه الرسائل. الشبكة - وظيفة التفاعل مع الخوادم، مثل تنسيق البيانات المرسلة وبروتوكول الشبكة. مساعد - شيء يحل مشكلة محلية لشخص ما، على سبيل المثال، دعم قاعدة بيانات معينة كواجهة خلفية أو نوع من طريقة الترخيص، ولكنه لا يؤثر بأي شكل من الأشكال على الخوادم أو تطبيقات المستخدم الأخرى. يتم تنفيذ الوظيفة الرئيسية في الكود الرئيسي. يتم فصل وظائف الشبكة، ولكن يتم تخزينها أيضًا في المستودع الرئيسي لتجنب إنشاء خوادم غير متوافقة كلما أمكن ذلك. يتم تنفيذ البرنامج المساعد في شكل مكونات إضافية - واجهات Go المجمعة (دعم قواعد بيانات مختلفة، ومعتمدين مختلفين، وإشعارات الدفع، وأدوات التحقق من الصحة عبر البريد الإلكتروني أو الهاتف، ودعم captcha، وما إلى ذلك) ونقاط نهاية gRPC (واجهة الدردشة الآلية والبحث).

آخر

  • إمكانية، ولكن ليس شرطا، ربط الحساب برقم هاتف أو بريد إلكتروني أو أي شيء آخر.
  • معرفات المستخدم التي يصعب تخمينها وبالتالي يصعب إرسال رسائل غير مرغوب فيها.
  • العلامات التي تسمح لك بتنفيذ بحث الأشخاص كما هو الحال في WeChat (و، مثل WeChat، إنشاء خدمة مواعدة في برنامج المراسلة) أو تقسيم المؤسسة إلى أقسام كما هو الحال في Slack.
  • القدرة على ربط المستخدمين دون تسجيل، ضرورية، على سبيل المثال، لتنظيم خدمة الدعم عبر الدردشة.
  • واجهة ومثال لربط روبوتات الدردشة.
  • خطط لإنشاء قنوات مثل Telegram.

لماذا تذهب؟

خادم المراسلة هو في الأساس جهاز توجيه: فهو يتلقى رسالة من قناة واحدة، ويعالجها بطريقة ما، ثم ينقلها إلى قناة أو قنوات أخرى. يعد Go (مثل Erlang، لكن هذه قصة أخرى) مثاليًا لإنشاء مثل هذه الوظائف لأن... يحتوي على أوليات goroutine وchan التي تجعل تنظيم المواضيع وتبادل البيانات فيما بينها فعالاً وبسيطًا.


بالطبع، يمكن كتابة جهاز التوجيه باللغتين C/C++ وJava. ومع ذلك، مع تساوي جميع الأمور الأخرى، فمن المرجح أن يصبح الكود أكثر تعقيدًا وسيتطلب المزيد من الجهد لتجنب الجمود.

ماذا بعد؟

الاتحاد

إحدى المهام الرئيسية لتينود للعام المقبل هي إنشاء منصة للاتحاد. بحيث يمكن لأي شخص تشغيل خادم Tinode الخاص به، والذي يمكنه تبادل الرسائل مع أي خادم آخر، تمامًا كما هو ممكن مع البريد الإلكتروني. تجميع الخادم ممكن بالفعل. يتم تبادل الشبكة بين الخادم والعملاء عبر TLS websocket، والذي بالنسبة للمراقب الخارجي لا يمكن تمييزه كثيرًا عن حركة مرور HTTPS البسيطة.


من المرجح أن يتم استخدام DNS العام، على الأقل في البداية. ومع ذلك، في المستقبل، سيتم إجراء البحث عن خوادم الدردشة بنفس الطريقة التي يتم بها في Bittorrent - باستخدام DHT، وهو جدول تجزئة موزع.


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

السمعة وصنع القرار الموزع

أنظمة المراسلة هي الأكثر تشابهًا مع البريد الإلكتروني. كما تعلم، فإن جزءًا كبيرًا من رسائل البريد الإلكتروني عبارة عن رسائل غير مرغوب فيها. أنت لا ترغب في تكرار أخطاء الآخرين، لذا يجب دمج الآليات التي تحد من البريد العشوائي في النظام على الفور. ولم يتم حل المشكلة بشكل كامل بعد، ولكن هناك اتجاه عام:

  • تحديد التشفير للخادم المرسل.
    في البداية، لم يتضمن SMTP أي تحديد للمرسل على الإطلاق. لا خطوة على هذه أشعل النار مرة أخرى. سيتم تمثيل كل خادم يرغب في إنشاء جهة اتصال بشهادة تشفير. ستقول: "حسنًا، نعم، سأقوم الآن بإنشاء 100500 شهادة وفي كل مرة سأقدم نفسي كخادم نظيف جديد." وستكون على حق. لذلك النقطة التالية.
  • محاسبة السمعة الموزعة
    عندما يأتي خادم إرسال جديد غير معروف، سنقدم طلبًا إلى الخوادم المعروفة لنطلب منهم الإبلاغ عن تقييم الخادم الجديد. واعتمادًا على الإجابة، سنحدد، على سبيل المثال، السرعة التي يمكن للخادم الجديد أن يرسل لنا بها الرسائل.

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

التشفير

حسنًا، ماذا نفعل بدون تشفير الرسائل هذه الأيام؟ من المحتمل أن تكون المحادثات بين شخصين مشفرة بتقنية OTR. لا يزال الأمر غير واضح بالنسبة للمحادثات الجماعية. جميع أنظمة التشفير المعروفة للمحادثات الجماعية إما لها عيوب كبيرة أو أنها مرهقة ويصعب تنفيذها. كما أنه ليس من الواضح مدى أهمية تشفير الدردشات الجماعية: "إذا عرف شخصان سرًا، لم يعد سرًا، ولكن إذا عرفه ثلاثة أشخاص، فهو بالفعل بازار".


ما رأيك بهذا؟

يمكنك المساعدة وتحويل بعض الأموال لتطوير الموقع



التعليقات (205):

                      • سذاجتك خارج المخططات.


                        يمكنك جعل النص غامقًا ومائلًا

                        هل حاولت القيام بذلك بنفسك مرة واحدة على الأقل؟

                              • تحتاج إلى تغيير خادم xmpp

                                أنا أستخدم jabberon.ru، الذي يحتوي على ميزة تحميل ملفات HTTP وفقًا للديسكو الخاص به (upload.jabberon.ru). على Conference.jabber.ru كل شيء يعمل كما تقول.


                                لكن ليس لدي زر لإرسال ملف إلى الدردشة على Conference.jabber.ru!

وبحلول نهاية عام 2018، سيتم إرسال أكثر من 40 تريليون رسالة نصية. ليس من المستغرب أن تحظى برامج المراسلة الفورية بشعبية كبيرة هذه الأيام. على الرغم من وجود العديد من اللاعبين الكبار في السوق بالفعل مثل WhatsApp وViber وFacebook Messenger وSnapchat وTelegram، إلا أنه لا يزال لديك الفرصة لإنشاء برنامج المراسلة الخاص بك والحصول على حصتك من السوق. كل ما تحتاجه هو فكرة جيدة وفريق تطوير قوي، يمكنك العثور عليه في Engine Studio.

من أجل فهم ما هي تكلفة المشروع، دعونا نلقي نظرة على القدرات الرئيسية للتطبيق. يمكن أن تختلف تكلفة تطوير برنامج المراسلة بشكل كبير اعتمادًا على عوامل مختلفة، ولكن هناك سعر أساسي قدره 20000 دولار، والذي يتضمن الوظائف التالية:

التسجيل والوصول إلى قائمة الاتصال الخاصة بك

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

تبادل الرسائل

هذه الوظيفة في الواقع أكثر تعقيدًا قليلاً مما قد تبدو للوهلة الأولى. لا ينبغي أن يسمح لك تطبيقك بإرسال الرسائل فحسب، بل يجب أيضًا تخزين سجل المراسلات بالكامل وتوفيره أيضًا على أي جهاز مستخدم.

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

اليوم، أصبحت الملصقات محلية الصنع جزءا لا يتجزأ من أي رسول. من خلال السماح للمستخدمين بإنشاء ملصقاتهم الخاصة، يمكنك التواصل معهم وحتى السماح لهم بالحصول على وسائل دخل خاصة بهم داخل تطبيقك.

ميزة أخرى مهمة لا ينبغي نسيانها هي إنشاء محادثات جماعية مع الأصدقاء أو الزملاء أو أفراد الأسرة.

إشعارات

هذه الميزة الصغيرة ولكن المهمة للغاية ضرورية في تطبيقك. وبدون ذلك، لن يتمكن المستخدمون لديك من تلقي الإشعارات والتعرف على الرسائل الجديدة دون تسجيل الدخول إلى التطبيق.

مشاركة ملفات الوسائط

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

ستكون فكرة جيدة أيضًا إضافة دعم للتخزين السحابي، مثل Dropbox، حتى يتمكن المستخدمون من تخزين ملفاتهم ليس فقط على الجهاز نفسه.

الاستنتاجات

يتطور سوق المراسلة بنشاط، ولا يزال لديك الفرصة لأخذ جزء كبير منه من خلال تطبيقك. تعتمد تكاليف تطوير برنامج المراسلة على 4 عوامل رئيسية:

  • اختيار النظام الأساسي (Android، أو iOS، أو كل ذلك معًا)؛
  • اختيار الوظائف؛
  • وضع حدود الميزانية؛
  • اختيار فريق التطوير.


نواصل الموضوع:
شبابيك

الجزء الثاني: "أهم خصائص كل عائلة من معالجات Intel Core i3/i5/i7. أي من هذه الرقائق ذات أهمية خاصة" المقدمة أولاً سنقدم...