الأخبار التكنولوجية والاستعراضات والنصائح!

يتغير Dropbox الرمز إلى النظام الأساسي باستخدام C ++

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

يمكن أن يكون النهج مفيدًا للفرق الصغيرة ذات المهارات المحدودة ، ولكن هناك حاجة إلى الإنتاج بأسرع ما يمكن. منذ عام 2013 ، يعتمد فريق Dropbox على هذه الاستراتيجية. Aتلميح إلى أنظمة التشغيل Android و iOS من خلال قاعدة رمز فريدة مضمنة في C ++. يوضح المنشور سبب تفضيل الشركة الآن للتطوير المحلي في Swift و Kotlin.

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

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

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

في الحقيقة يشدد على أن اختيار C ++ لتطوير الأنظمة الأساسية لنظامي Android و iOS يمكن أن يؤدي بالمطورين إلى مواجهة الصعوبات أنهم لم يكن لديهم أصلا.

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

على العكس ، مهندس آخر يشرح مهندس Dropbox ، إنها ليست مشكلة في الأم.

حتى أنه ينص على أن فريق Dropbox ، في هذه العملية ، اضطر إلى تكوين مكتبة JSON لـ C ++ 11 ، إضافة إلى إدارة أخرى لمؤشرات NULL.

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

في الواقع ، يصر على أن خصائص كل منصة هي عوامل لا يمكن تجنبها.

يقول: "الطريقة التي يدير بها التطبيق وظيفة خلفية هي نظام أساسي ، وعليك أن تنظر إليه من البداية".

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

"تجربة تصحيح الأخطاء الأصلية تفوق عمومًا تجربة C ++ من خلال IDE الافتراضي للنظام الأساسي الهدف" ، مضيفًا أنه "بالإضافة إلى الاضطرار إلى الابتعاد عن الأدوات المتاحة ، كان علينا تعبئة جهود التطوير لتطوير الآخرين القادرين على دعم النهج عبر منصة في C ++. "

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

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

إن مرور فريق Dropbox إلى الأم من خلال Kotlin و Swift لنظام Android و iOS يحقق فوائد.

في الواقع ، فإن لغة C ++ ، إلى جانب لغة C التي لم تعد تستشهد بها ، تعد بمثابة قاسم مشترك لإدارة مثل هذه المشكلات.

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

المصدر: https://blogs.dropbox.com/