الجزء الثاني من سلسلتي عن تطوير المنتجات المستقلة
وصف المقال السابق الموارد المستخدمة لتحديد الحاجة وتطوير تطبيق مستقل وإصداره، من منظور مطوّر iOS. وبسبب محدودية الموارد، لم أتمكن إلا من إنجاز تطبيقات خدمية متاحة في App Store من Apple.
يتناول هذا المقال تطوير منتج متكامل الميزات عبر المنصات، والمشكلات التي نواجهها وحلولها. سأشارك كيف بنيت تدريجيًا منظومة منتج متكاملة تضم حساب WeChat رسميًا وبرنامجًا مصغّرًا وتطبيقًا.
1. أهداف المنتج
بالمعنى الواسع، هدف المنتج هو القيمة التي يقدّمها. وحتى مع وجود حالة استخدام، فإن المنتج الذي لا يقدّم قيمة ولا يربح المال وله عدد ضئيل جدًا من المستخدمين، لا يملك مبررًا كبيرًا لوجوده.
أو يمكننا البدء من نطاق أوسع، من رؤية المنتج…
توقّف هنا. لا تفكّر في كل ذلك بعد، وإلا فقد لا يتجاوز منتجك خيالك الذي لا ينتهي.
عندما تكون الموارد والأيدي العاملة والاستثمارات محدودة، يصبح هدفنا واضحًا: ما المشكلات التي ينبغي للمنتج حلها، أو ما الوظائف التي يجب أن يوفّرها؟
مثلًا، عندما بنيت File Manager، كان للنسخة الأولية القابلة للاستخدام MVP هدف واضح: نقل الملفات بين الهاتف والحاسوب.
أدى إكمال MVP بطبيعة الحال إلى متطلبات أخرى. جاء بعضها من خططي للمنتج، لكن معظمها جاء من ملاحظات المستخدمين:
- 1.0.0 نقل الملفات بين الهاتف والحاسوب
- 1.1.0 معاينة الصور والفيديو والصوت أو تشغيلها
- 1.2.0 تجميع الملفات ونقلها وحذفها وضغطها ومشاركتها
- 1.3.0 تحسين المشغّل
- 1.4.0 إضافة التحقق الأمني: رموز قفل بالإيماءات ومصادقة بيومترية
- 2.0.0 إضافة المشتريات داخل التطبيق
- 2.1.0 إضافة مسح المستندات ضوئيًا
- …


اختر هدفًا. ليس بالضرورة أن يكون كبيرًا، لكن يجب أن يكون قابلًا للتنفيذ. ركّز على شيء واحد كل مرة واستمر حتى إن بدا خطأ؛ كيف تعرف دون أن تنهيه ◔ ‸◔؟ أنجزه ثم راجعه.
2. النماذج الأولية للمنتج
ذكرت في المقال السابق أنني جرّبت أدوات نمذجة أولية كثيرة، وخلصت إلى أنني كنت أستطيع بناء الشاشات باستخدام xib في الوقت الذي استغرقه تصميم النموذج الأولي.
دعوني أناقض نفسي هنا ,,Ծ‸Ծ,,
من المفهوم أن تفكّر بهذه الطريقة عندما تصنع تطبيقًا خدميًا شخصيًا دون خطة لاحقة، ولا تريد سوى إكماله وإصداره.
مع تطور المنتج، فإن التقدّم خطوة بخطوة دون نموذج أولي أو خطة يسبب مشكلات خطيرة للتطوير مستقبلًا. تصميم النموذج الأولي هو في حقيقته عملية تنظيم منطق المنتج.
إليك بعض أدوات النمذجة الأولية. وأكثر ما أستخدمه حاليًا هو MockingBot.
3. إدارة المشروع
بعد تطوير تطبيق iOS وإصداره بشكل مستقل، لاحظت مشكلة خطيرة: لم يكن لدي أي تصور عن إدارة المشاريع. كنت أعمل حين يتوفر الوقت أو أتذكر، ولا أفعل شيئًا حين أتكاسل.
كان منتجي الخاص الذي صممته وطوّرته بنفسي. وربما لم يكن لـMVP مستخدمون يدفعون، لذا لم أشعر بالمسؤولية تجاههم.
هذا يبطئ المشروع بشدة. وقد يؤدي العمل طويلًا دون خطة إلى إنهائه تمامًا.
بعد عدة سنوات من إدارة دورات التطوير في العمل، وجدت أن أدوات إدارة المشاريع تنفع أيضًا للمشاريع الشخصية. وعندما تكون لدينا أهداف واضحة ونموذج أولي متسق منطقيًا، يصبح تقسيم العمل إلى مهام أمرًا طبيعيًا.
أستخدم coding.net لإدارة المشروع؛ ويمكنه استضافة الشيفرة المصدرية أيضًا.

قسّم المهام إلى وحدات تُقاس بالساعات. فهذا يسهّل إدارتها ويساعد على كتابة حالات الاختبار. عادتي الحالية هي إكمال حالات الاختبار قبل كتابة الشيفرة. هذا ضروري.
ينظّم النموذج الأولي منطق المنتج، وتنظّم حالات الاختبار تفاصيل التنفيذ. تقودنا حالات الاختبار الكاملة إلى منطق عمل صحيح ✅ وتمنع كثيرًا من أخطاء منطق العمل ❌.
4. اختيار التقنية
كل ما سبق كان إعدادًا؛ لم نبدأ التطوير بعد. تكمن الصعوبة الأساسية في أنني المطوّر الوحيد، ومع ذلك أريد بناء منظومة متكاملة من حساب WeChat رسمي وبرنامج مصغّر وتطبيق.
سنحتاج إلى مهارات تطوير البرامج المصغّرة وiOS وAndroid. تعلّم لغة برمجة ليس صعبًا جدًا، لكن تنفيذ منطق العمل نفسه ثلاث مرات يكلف ثلاثة أضعاف الجهد. من الواضح أن هذا غير واقعي.
عادةً قد نستخدم الويب لخدمة منصات متعددة، أو حتى نتخلى عن التطبيق ونركّز على حساب رسمي وبرنامج مصغّر. في المرحلة المبكرة، عندما نحتاج إلى التحقق السريع من احتياجات المنتج، يكون هذا نهجًا معقولًا جدًا.
يكشف بحث بسيط عن تقنيات كثيرة عابرة للمنصات. لبناء تطبيق وبرنامج مصغّر بقاعدة شيفرة واحدة لثلاث منصات، يمكن استخدام Uni-App. يعتمد على إطار الواجهة الأمامية Vue.js، ويدعم iOS وAndroid عبر Weex.
وهو كافٍ للمنتجات الشخصية أو التجارية الصغيرة.
5. إدارة البيانات
بعد تحديد نهج البرنامج المصغّر والتطبيق، يبقى سؤال مهم آخر: أين نخزّن البيانات؟
بالنسبة إلى أداة خدمية، يكفي حفظ البيانات محليًا في التطبيق. لكن ماذا لو كان الهدف منصة معلومات بنظام مستخدمين متكامل، أو حتى مجتمعًا أكثر تعقيدًا بمحتوى ينشئه المستخدمون؟
يوفّر Uni-App خدمة uniCloud الخاصة به. يمكن تطوير الخادم باستخدام JavaScript، ويمكن للبرامج المصغّرة والتطبيقات استخدامه دون اسم نطاق.
اخترت نهجًا مختلفًا: استضافة البيانات على منصة الحوسبة دون خوادم LeanCloud. يصل البرنامج المصغّر والتطبيق إلى قاعدة البيانات المستضافة عبر حزمة JavaScript SDK الخاصة بـLeanCloud.
تدعم خطتها المخصصة للتطوير 30,000 طلب API مجاني يوميًا، وتوفّر خدمات رسائل SMS أيضًا. يكفي ذلك لبناء نظام مستخدمين ورفع بيانات المستخدمين وجلب بيانات المنصة.
عندما تتجاوز الطلبات حصة التطوير، يكون منتجك قد اكتسب قاعدة مستخدمين بحجم معين. أعتقد أن دخل ذلك النشاط ينبغي عندها أن يغطي الخطة التجارية بنظام الدفع حسب الاستخدام.
طريقة ماكرة للحصول على البيانات
ماذا لو أردت بناء تطبيق للطقس أو للمعلومات، لكنك لا تملك بيانات طقس أو أخبار؟
توجد أسواق API كثيرة في الصين، منها:
وغيرها.
توفّر هذه الأسواق واجهات API مدفوعة ومجانية.
إذا كان لدى منتجك أسلوب جيد لتحقيق دخل من حركة المستخدمين، ففكّر في واجهات API المدفوعة.
وإن لم يكن، ففكّر في استخدام الحصص المجانية. لكن تجربة من 100 طلب قد تنفد أثناء الاختبار. ماذا تفعل حينها؟
يمكن الجمع بين قاعدة بيانات LeanCloud دون خوادم وسوق API. للطقس اليومي مثلًا، استعلم من قاعدة البيانات أولًا. إن لم تجد البيانات، اطلبها من السوق ثم خزّنها في القاعدة.
لكن ماذا لو لم تكفِ 100 طلب لتغطية جميع المدن؟ حافظ على روح الاستفادة من المجاني، واشترك في عدة منصات.
6. الإطلاق والتشغيل
في هذه المرحلة، انتهينا من تطوير البرنامج المصغّر والتطبيق والخادم. كيف نطلقها؟
البرامج المصغّرة أبسط نسبيًا: اتبع تعليمات منصة حسابات WeChat الرسمية للتقدم بطلب برنامج مصغّر.
يتطلب الإصدار على iOS حساب مطوّر مدفوعًا. وهذا عائق، لكن للتشغيل طويل الأمد أوصي بالتسجيل في موقع Apple للمطوّرين. أصبح التسجيل سهلًا: نزّل تطبيق Developer على iPhone وادفع من خلاله.
للتوزيع على Android، تحتاج إلى تسجيل حقوق نشر البرمجيات. قد تستغرق معالجة الطلب العادي مدة تتراوح بين شهر وشهرين، أو يمكنك الدفع لوسيط خارجي ليتولى الأمر.
وبالاستمرار بروح الاستفادة من المجاني: أين نخزّن الصور والصوت والفيديو للمساحات الترويجية في التطبيق والبرنامج المصغّر؟
يمكن أن تحل مكتبة الوسائط في الحساب الرسمي هذه المشكلة. خزّن الصور والصوت والفيديو فيها، واحصل على روابطها الأصلية، وسيتمكن التطبيق والبرنامج المصغّر من الوصول إليها.
7. تحقيق الدخل
من الطرق البسيطة لتحقيق دخل من حركة المستخدمين الإعلانات.
لكن متطلبات المنصات لقبول الناشرين ترتفع باستمرار، مما يجعل دمج الإعلانات صعبًا على المطوّرين المستقلين.
يوفّر Uni-App دمجًا بنقرة واحدة؛ راجع الوثائق.
بعد أن يبني الحساب الرسمي جمهورًا، يمكنه تفعيل مساحات إعلانية داخل المقالات.
يمكن للبرنامج المصغّر تفعيل تحقيق الدخل للناشر بعد بلوغ 1,000 زائر فريد.
8. أفكار ختامية
أكملنا الآن منظومة حساب WeChat الرسمي والبرنامج المصغّر والتطبيق التي وصفناها في البداية.
باتباع هذه الخطوات، أكملت هذه العملية لثلاثة منتجات. امسح الرموز لتجربتها:
