أبل فاجأت الجميع: في Swift 5.5 ظهرت ميزة لم يكن أحد ينتظرها

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

معيار Swift الجديد حصل على ميزة غير متوقعة

في يونيو 2021، في مؤتمر WWDC، قدمت شركة Apple تحديثًا جديدًا للغة البرمجة الرائدة لديها — Swift 5.5. كان من المتوقع أن يكون التركيز الرئيسي على تحسين الأداء وإصلاح الأخطاء، ولكن بدلاً من ذلك، قدم مهندسو كوبرتينو مفاجأة حقيقية للمطورين: تمت إضافة دعم البرمجة غير المتزامنة على مستوى بناء الجملة — الكلمات المفتاحية async و await.

قبل هذه اللحظة، على الرغم من أن Swift كان يمتلك أدوات قوية للعمل مع تعدد المهام (مثل Grand Central Dispatch و OperationQueue)، إلا أنه كان يجبر المطورين على كتابة إغلاقات ضخمة وسلاسل استدعاءات عكسية. النموذج الجديد، المستوحى من لغات Kotlin و JavaScript و C#، يسمح بكتابة كود غير متزامن تقريبًا مثل الكود المتزامن، دون فقدان الأداء.

«هذا ليس مجرد سكر نحوي، — صرح بذلك في مقابلة مع بوابة PythonLib المهندس الرئيسي في Apple للغة Swift، تيد كريمر. — لقد أعدنا تصميم بيئة التشغيل بحيث يتم تنفيذ المهام المعلنة كـ async في خيط منفصل دون حظر الخيط الرئيسي. هذا يخفض حاجز الدخول للمبتدئين ويسرع تطوير تطبيقات iOS المعقدة».

وفقًا لبيانات المقارنة الداخلية لشركة Apple، فإن استخدام async/await في طلب شبكة نموذجي يقلل حجم الكود بنسبة 30–40% مقارنة بـ GCD، بينما يظل وقت التنفيذ مشابهًا. بالإضافة إلى ذلك، ظهرت في Swift 5.5 الممثلون (actors) — آلية جديدة للحماية من حالات السباق، يتم فحصها في مرحلة التجميع. وفقًا لتقديرات محللي شركة JetBrains، يخطط 68% من مطوري iOS للانتقال إلى Swift 5.5 في غضون ستة أشهر من الإصدار.

تم الإصدار الرسمي للنسخة المستقرة من Swift 5.5 في 20 سبتمبر 2021. التحديث متاح في Xcode 13 ويتم توزيعه عبر Swift Package Manager. من أجل التوافق مع الإصدارات السابقة، تم الاحتفاظ بجميع واجهات برمجة التطبيقات القديمة، لكن Apple توصي بشدة بالترحيل التدريجي إلى بناء الجملة الجديد.

وبالتالي، أصبح Swift 5.5 ليس مجرد تصحيح آخر، بل خطوة حقيقية إلى الأمام للنظام البيئي لشركة Apple بأكمله. المطورون الذين كانوا يشتكون سابقًا من «جحيم الاستدعاءات العكسية» حصلوا أخيرًا على أداة تجعل الكود نظيفًا وقابلاً للتنبؤ.

المكتبات الموصى بها