تطوير البرمجيات متعدد المناطق | أصلي، ترجم بواسطة AI
لشركات الدولية، هناك غالبًا مشاريع تخدم سكان مناطق متعددة مثل سنغافورة وهونغ كونغ والمملكة المتحدة والولايات المتحدة والصين.
لقد عملت على بعض المشاريع التي تخدم مستخدمين من مناطق متعددة. القيام بذلك بشكل صحيح في مشاريع الخلفية ليس سهلا.
لبنك ستاندرد تشارترد، هناك تطبيقات مثل SC Mobile India وSC Mobile Hong Kong. لمكدونالدز، هناك إصدارات مثل McDonald’s China وMcDonald’s USA. لستاربكس، هناك Starbucks USA وStarbucks China. في الأساس، يوفرون لكل دولة تطبيقاتها الخاصة. غالبًا ما تختلف طرق تسجيل الدخول للمستخدمين في الصين والمستخدمين الدوليين. بالإضافة إلى استخدام الهواتف المحمولة، غالبًا ما يكون للمستخدمين الصينيين خيار تسجيل الدخول عبر وي تشات، بينما يمكن للمستخدمين الدوليين تسجيل الدخول عبر فيسبوك أو جوجل أو آبل.
من المرجح أن تستخدم هذه التطبيقات خوادم خلفية مختلفة ولديها بعض الميزات المختلفة، لكنها تحافظ على نفس لغة التصميم. من المحتمل أن يكون هذا خطأ. في السنوات الأولى، يبدو الأمر بسيطًا أو قابلاً للتطبيق. ولكن بعد عقد من الزمن، سيكتشفون أنه مؤلم جدًا. تكلفة الصيانة أو تكلفة التنسيق، تكلفة الاختبار - هناك جهود متكررة كثيرة.
ومع ذلك، بالنسبة لفيسبوك أو جوجل أو آبل باي، الأمر نوعًا ما بسيط. قد يقول شخص ما إنهم ليسوا تطبيقات مالية؛ لديهم بعض القواعد التي يجب اتباعها. هذا غير صحيح. غالبًا ما يعني الامتثال خادم قاعدة البيانات، أو قاعدة البيانات، أو بعض البيانات التي تريدها الإدارات الحكومية أو شركات التدقيق إجراء التدقيق. ومع ذلك، فإن الجهود الأخرى هي نفسها. البرمجيات مرنة جدًا. يجب أن نترك الكود في نفس المستودع، يجب استخدامنا لتكوين مصدر البيانات لاستضافة بيانات مناطق مختلفة، يجب أن نشارك نفس الكود، نفس التصميم، نفس سير العمل، نفس الاختبار بقدر الإمكان.
آبل باي مثال جيد على ذلك. متجر التطبيقات هو أيضًا مثال جيد على ذلك. فهم يخدمون كل دولة أيضًا.
هناك ربما بعض المشاريع في شركات التكنولوجيا الكبيرة التي تستخدم القارات للفرز، مثل آسيا والمحيط الهادئ وأمريكا الشمالية. بالنسبة لهم أيضًا.
الأمر الأول عند القيام بتطوير متعدد المناطق هو معرفة ما هو مختلف، وما هو الامتثال الذي يجب اتباعه، وكيفية تقليل الجهود المتكررة قدر الإمكان.
للمحادثة النصية إلى الصوت، يحتاج جوجل كلود إلى تدريب لغات مختلفة. يقدمون نماذج مختلفة ولغات مختلفة لها. بالنسبة للغة، تختلف اللغات في أصواتها ومظهر حروفها. الأول يعني عند استخدام جوجل كلود لإجراء المحادثة النصية إلى الصوت، يجب استخدامنا لنماذج مختلفة. بالنسبة لمظهر الحروف، هذا يعني عند إجراء توليد PDF، يجب أن نكون حذرين من اختيار الخط.
للمشاريع متعددة المناطق، في مشاريع سبرينغ بوت، يمكننا استخدام تسمياتها المختلفة وتهيئة الكائنات المختلفة للقيام بذلك. يمكننا استخدام الخصائص أو تكوين YAML بشكل ذكي. يمكننا وضع جميع المنطق المختلفة بناءً على المنطقة في بعض الوحدات أو الفئات المحددة.
ولاستضافة الكود، يبدو أن الفروع المختلفة للبلدان المختلفة سهلة في البداية، ولكن بعد بعض السنوات، ستعرف كم هو مؤلم. يجب أن تقم git cherry-pick للبلدان الأخرى. يجب أن تجرى الاختبارات مرة أخرى في الفرع الآخر. كلما قمت بتغيير صغير، يجب أن تنقله إلى الفروع. مع مرور الوقت، إذا لم نضع جهودنا في تقليل الاختلافات في الكود أو المنطق، فإن الاختلافات في الكود بين المناطق أو البلدان المختلفة تصبح كبيرة بما يكفي لتصبح غير قابلة للإصلاح.
الخبر السعيد هو أن الذكاء الاصطناعي الآن يمكن أن يساعدنا في إعادة تنظيم الكود أو كتابة كود أفضل، أو إصلاح مشاكل تصميم الكود متعدد المناطق. لا يهم مدى حجم الخطأ، عندما نصلحه، فهو خطأ صغير.
ليس فقط للتطوير والنشر والصيانة، ولكن أيضًا للتوسع. فكر في كيفية إضافة دولة أو منطقة جديدة. كم من الجهد سيحتاج ذلك؟ إذا كان الحد الأدنى أو يتضمن فقط بعض التكوين، فإن تصميمنا رائع. إذا استغرق الأمر أشهرًا، فهذا مقبول أيضًا. إذا استغرق الأمر سنوات، هل سنستمر فيه؟
في مقالة يين وانغ، حول لينكس، ويندوز وماك، ذكر أن مصممًا في أدوبي أخبره أنهم قضوا عامين في نقل فوتوشوب من ويندوز إلى ماك.
هل ستستغرق دعم منطقة جديدة عامين من التكيف؟ بالنسبة لمشاريع معينة، قد يكون الأمر كذلك. هذا اعتبار تصميم مهم.
العالم يصبح أكثر تفاعلًا. لا يهم أي دولة أو منطقة نهدف إليها في البداية، يجب أن نأخذ في الاعتبار المناطق الأخرى أيضًا. من الأفضل أن نكون على حق من البداية. للشركات الدولية المتأسسة، من المستحسن تطوير منتجات البرمجيات لبلدين أو منطقة على الأقل من البداية. احتفظ بهذا mindset متعدد المناطق من البداية. إذا كان لدينا موارد هندسية أكثر، يمكننا دعم بلدان أو مناطق أكثر.