هل تساءلت يومًا عن سبب بطء تطبيق Facebook على iOS؟ لقد أوضحنا كل ذلك من قبل، ولكن ما يعود إليه هو أن التطبيق عبارة عن غلاف Objective C حول مكون UIWebView يقوم بتحميل بيانات HTML الأولية لـ Facebook.
لماذا هذا بطيء جدا؟ حسنًا ، UIWebview ليس سريعًا جدًا ، ولديه ذاكرة تخزين مؤقت رهيبة ، مما يتطلب من تطبيق Facebook إعادة تنزيل الحائط بالكامل في كل مرة يحتاج فيها إلى إجراء تحديث ، بدلاً من الأجزاء التي يحتاجها.
وفق اوقات نيويوركعلى الرغم من ذلك ، قد يتغير ذلك قريبًا ، ويمكن لـ Facebook التخلص من عنق الزجاجة UIWebview مرة واحدة وإلى الأبد.
تقرير نيك بيلتون:
قال أحد مهندسي Facebook إن التطبيق الجديد تم إنشاؤه بشكل أساسي باستخدام Objective-C ، وهي لغة البرمجة المستخدمة لإنشاء تطبيقات لنظام iOS. تم إنشاء العديد من مكونات الإصدار الحالي من تطبيق Facebook باستخدام HTML5 ، وهي لغة برمجة قائمة على الويب.
الإصدار الحالي من التطبيق هو في الأساس قذيفة Objective-C مع متصفح ويب بداخله. عندما يتعلق الأمر بالسرعة ، فإن هذا يشبه وضع محرك سيارة ذكية في هيكل سيارة فيراري.
تعرض التطبيقات التي غالبًا ما تكون HTML5 معظم مكونات التطبيق كصفحة ويب ، حيث تسحب الصور والمحتوى من الويب مباشرة إلى التطبيق. يتبع Objective-C النهج المعاكس ، حيث يستفيد بشكل كامل من الأجهزة الموجودة في iPhone وبعد ذلك بناء معظم الوظائف مباشرة في التطبيق بحيث يتعين عليه جمع معلومات أقل من الويب.
لقد أتيحت لي الفرصة لرؤية تطبيق iPhone الذي لم يتم طرحه بعد وسريعته. اشتعلت فيه النيران بسرعة. قال المطوران اللذان تحدثت إليهما إن التطبيق الجديد قيد الاختبار حاليًا بواسطة مطوري Facebook ومن المتوقع أن يتم تحديثه هذا الصيف.
بعبارة أخرى ، بدلاً من أن يقوم تطبيق Objective C بنشر النتائج بتنسيق HTML5 ، سيرى تطبيق Facebook الجديد إرسال بيانات Facebook مباشرة إلى iPhone بتنسيق متوافق مع Objective C ، دون الحاجة إلى استخدام متصفح UIWebview داخل التطبيق الخاص بـ iPhone لعرض لغة البرمجة.
هذا يبدو وكأنه نهج سليم. لا استطيع الانتظار.
مصدر: نيويورك تايمز