أعمال محددة

Gurucool: شحن Shloka، ثم جلب التطبيق إلى iOS

الدور
بني من الصفر
المكدس
React Native · GraphQL · Agora · CleverTap
الروابط

المشكلة

انضممت إلى Gurucool كمهندس تطبيقات وحصلت على تكليفين مختلفين جدًا واحدًا تلو الآخر. الأول، بناء تطبيق جديد تمامًا من الصفر. ثم، إصلاح التطبيق الذي كان لدى الشركة بالفعل: منتج React Native يُشحن على Android لكن دون أي نسخة iOS على الإطلاق.

Shloka، بُني من الصفر

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

جلب Gurucool إلى iOS

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

ثم انتقلت إلى فريق تطبيق Gurucool. كان التطبيق قاعدة شيفرة React Native واحدة، لكن Android فقط بُني منها على الإطلاق. لم يكن هناك تطبيق iOS، و، كما اكتشفت، لم يكن هناك مجلد ios في المشروع أصلًا. لذا كانت المهمة الأولى جعل iOS موجودًا: أنشأت مشروع ios وبنيته الأصلية داخل مستودع React Native الحالي، ثم عملت عبر الذيل الطويل من كل ما ينكسر عندما لا تستهدف قاعدة شيفرة iOS أبدًا. لم تكن الـ Pods تُثبَّت، لم يكن التطبيق يُبنى، لم يكن التطبيق يبدأ. أصلحت كل مشكلة حتى تمت الترجمة البرمجية والتشغيل، ورفعت تطبيق iOS إلى تكافؤ كامل مع Android، ونشرته على App Store.

من هناك، أصبح iOS لي. امتلكت تطبيق iOS بالكامل وأدرت المنصتين معًا مع الفريق.

ما الذي عملت عليه

نظام محادثة على اشتراكات GraphQL. بنيت محادثة التطبيق بحيث تسير الرسائل على اشتراكات GraphQL، مبقيًا المحادثات حية دون استطلاع متكرر.

الفيديو المباشر. كان Agora مدمجًا بالفعل لكنه مليء بالأخطاء. عملت على المشكلات وأصلحت الأخطاء حتى تصمد الجلسات المباشرة فعلًا.

CleverTap للتفاعل. دمجت CleverTap حتى يرى الفريق كيف يُستخدم التطبيق ويشغّل رسائل دورة الحياة.

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

النتيجة

شُحن التطبيقان. خرج Shloka على iOS و Android من نقطة الصفر. انتقل تطبيق Gurucool من Android فقط إلى وجود iOS كامل بنيته ونشرته من قاعدة شيفرة لم تُترجم برمجيًا لـ iOS قط، ثم سار معي كمالك iOS عبر فريق ثنائي المنصات. الخلاصة بسيطة: آخذ تطبيقًا من حيثما كان، مفقودًا أو نصف مبني أو فوضويًا، إلى مشحون وقابل للصيانة.