Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Swift
Code

ماذا تتوقع من سويفت 3 

by
Length:MediumLanguages:

Arabic (العربية/عربي) translation by miahood (you can also view the original English article)

ربما تعلم أن Swift 3 سيأتي في وقت لاحق من هذا العام.  هذا هو الإصدار الأول الذي يتضمن العمل الشاق لمجتمع رائع.  تم تقديم العشرات من المقترحات منذ أن فتحت شركة آبل سويفت في عام 2015 وتم قبول العشرات بعد دراسة متأنية من قبل الفريق الأساسي.   في هذه المقالة ، نلقي نظرة على بعض التغييرات المهمة في Swift 3. 

ما هو Swift 3 حول؟ 

لدى الفريق الأساسي هدف واضح جدًا في الاعتبار مع إصدار Swift 3 ، مما يخلق أساسًا متينًا للغة برمجة Swift.  في WWDC 2016 ، شدد كريس لاتنر على أن Swift 3 يقدم مجموعة من التغييرات العاجلة بقصد الحصول على الأساسيات الصحيحة.  هذا هو الموضوع المشترك للإصدار القادم.  وهذا يعني كسر الميزات الموجودة ، وإزالة بعض الميزات ، وتحسين أساس اللغة. 

لقد كان مشروع Swift evolution قصة نجاح حقيقية لجميع المشاركين في مجتمع Swift.  كانت المشاركة هائلة ، والنتيجة هي Swift 3. Apple تتسم بالشفافية حول عملية الإصدار وتتوفر لقطات من Swift 3 من موقع Swift على الويب وتم تضمينها في Xcode 8 ، والذي هو في مرحلة تجريبية في وقت كتابة هذا التقرير. 

أكثر من سويفت 

لا يركز إصدار Swift 3 على لغة برمجة Swift فحسب ، بل يشمل أيضًا تغييرات جوهرية في سلسلة المفاتيح ، والمكتبة القياسية ، والتشغيل المشترك للغة مع Cocoa.  تذكر أن Swift أكثر من مجرد لغة.  عندما نتحدث عن Swift ، فنحن لا نفكر إلا في اللغة فقط ، ولكنها تتضمن أيضًا المكتبة القياسية ومدير الحزم. 

توافق المصدر 

إذا كنت قد عملت مع Swift ، فأنت تعلم أن ترحيل مصدر قاعدة البيانات من نسخة إلى أخرى ليس بالأمر السهل.  للأسف ، لن يكون ترحيل مشروع إلى Swift 3 مختلفًا. 

ومع ذلك ، فإن الهدف الأساسي لـ Swift 3 هو التأكد من أن الانتقال من Swift 3 إلى الإصدارات المستقبلية من اللغة لن يكون كذلك.   تعد توافق المصدر نقطة التركيز الرئيسية لـ Swift 3. 

الذهول 

تم تصميم Swift ليكون لغة برمجة حديثة ، ولكن كان من المهم أيضًا إنشاء لغة تبدو رائعة وكانت ... جيدة جدًا.  مع Swift 3 ، يستمر الفريق في "تحسين اللغة من أجل الذهول" كما يقول Chris Lattner. 

في حين أن هناك العديد من التغييرات ، فإن النتيجة الصافية هي اللغة التي تبدو و تبدو رائعة.  Swift 3 هو متعة للاستخدام.  تعتبر التغييرات التي طرأت على Core Graphics و Grand Central Dispatch ، والتي نناقشها في لحظة ، أمثلة رائعة. 

ما هو التغيير؟ 

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

API 

قراءة 

تم إنفاق الكثير من الوقت والطاقة على تحسين واجهة برمجة تطبيقات لغة سويفت.  التغييرات كبيرة ، لا يمكن إنكار ذلك.  لكن النتيجة لطيفة للغاية.  مع Swift 3 ، يهدف الفريق الأساسي إلى API التي تركز على سهولة القراءة وسهولة الوصول. 

في حين أن الكثير منا قد اعتادوا على إصرار Objective-C ، إلا أن واجهة برمجة التطبيقات السريعة الجديدة تتبنى نهجًا مختلفًا من خلال التركيز فقط على الأساسيات والتركيز عليها.  نلقي نظرة على المثال التالي من سويفت 2.2.1.  يجب أن يبدو هذا المثال مألوفًا إذا قضيت بعض الوقت مع Swift ... أو Objective-C. 

في Swift 3 ، يبدو مقتطف الرمز هذا مختلفًا بعض الشيء كما يمكنك رؤيته أدناه. 

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

هذا موضوع مشترك في Swift 3. العديد من المقترحات التي تم قبولها وتضمينها في Swift 3 تركز على التبسيط وإزالة الصوان من اللغة.  تأثرت واجهة برمجة التطبيقات السريعة في البداية بشكل كبير بالطبيعة المطفرة للهدف - ج.  قراءة رائعة ، ولكن Swift 3 يقطع على الإسهاب دون المساس بالقابلية للقراءة. 

يرى مجتمع Swift أن تصميم واجهة برمجة التطبيقات يجب أن يأخذ دائمًا استخدام واجهة برمجة التطبيقات في الاعتبار وأنه واضح بشكل واضح في التغييرات التي يتم إدخالها في Swift 3. وأنا متأكد من أنك توافق على أن واجهة برمجة التطبيقات المجددة تبدو - و يقرأ-عظيم. 

معلمات وضع العلامات 

هناك تغيير مهم آخر يرحب به العديد من المطورين هو التوقيع المتسق للوظيفة والطرق من خلال تضمين علامة المعلمة الأولى بشكل افتراضي.  هذا ما تبدو عليه الوظيفة النموذجية في Swift 2.2.1.  بشكل افتراضي ، يتم حذف تسمية المعلمة الأولى عند استدعاء الدالة. 

لم يعد هذا صحيحًا في Swift 3. لم يعد المعيار الأول يُعطى معاملة خاصة ، وهو تغيير مرحب به جدًا. 

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

استيراد كعضو 

إن العمل مع واجهات برمجة التطبيقات (C) في سويفت كان دائمًا يبدو وشعر بالارتياح.  يتم استيراد وظائف الرسومات الأساسية ، على سبيل المثال ، كوظائف عالمية ، وهو ليس حلاً رائعًا ، ونتيجة لذلك ، فإن استخدام Core Graphics في Swift لا يبدو  رائعًا.

وينطبق الشيء نفسه على جراند سنترال ديسباتش.  في المثال التالي ، نستخدم Grand Central Dispatch لإرسال مهمة إلى قائمة انتظار خلفية بشكل غير متزامن. 

في Swift 3 ، تبدو واجهة برمجة التطبيقات أكثر شبهاً ببرنامج واجهة برمجة التطبيقات Swift.   يتم استيراد الدالات كطرق مما يؤدي إلى بناء الجملة التالي في Swift 3. 

إزالة الميزات 

ووافق مجتمع سويفت أيضًا على إزالة عدد من الميزات ، أثار بعضها بعض المناقشات الساخنة.  أود أن أشير إلى أربعة منهم. 

C-نمط لل حلقات 

هل يبدو هذا مألوفًا لك؟ 

على غرار C ل حلقات لم تعد متوفرة في سويفت 3. انتظر.  ماذا؟  لماذا ا؟  هذا سؤال جيد جدا.  يمكنك قراءة الاقتراح المقدم من Erica Sadun على GitHub.  هذا يقودنا إلى التغيير التالي المثير للجدل. 

قل وداعًا لـ ++ و 

بعد فترة وجيزة من مصادر مفتوحة سويفت ، قدم كريس لاتنر ، مبتكر سويفت ، اقتراحالإزالة عوامل الزيادة والإنقاص من اللغة.  ويذكر في اقتراحه أن هؤلاء المشغلين قد تمت إضافتهم ، "دون اعتبار كبير" ، في وقت مبكر من تطور سويفت.  لتنظيف API سويفت وتجنب أي التباس، ++ و - لم تعد متوفرة في سويفت. 

لا داعي للذعر ، على الرغم من.  الحل بسيط.     لا داعي للقلق.

لا مزيد من var varameters 

إذا كنت معتادًا على الوظائف في Swift ، فإنك تعلم أن معلمات الدالة ثابتة بشكل افتراضي.  يمكنك تغيير هذا السلوك عن طريق إضافة اسم معلمة  بكلمة  رئيسية  var  .  بالنسبة لمعلمات المتغير ، يتم تمرير نسخة المتغير للمعلمة إلى الدالة. 

آخر الوظائف التي تم وضع علامة عليها   كمخرجة  ؟ حق.  هذا هو بالضبط ما كان الكثير منا يتساءل وهو الدافع لإزالة معاملات متغيرة من اللغة .

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

لتجنب أي ارتباك ، لم تعد معلمات var متوفرة في Swift 3. ولحسن الحظ ،فالمعلمات الموجودة هنا جاهزة للبقاء. 

عند التحدث عن معلمات inout ، في Swift 3 ، يتم دمج الكلمة الأساسية inoutفي صيغة نوع معلمات الدالة.  ألق نظرة على الأمثلة التالية لفهم هذا التغيير بشكل أفضل. 

السلوك التملائي الصفحي الضمني 

على الرغم من أن Swift لا يزال صغيرًا جدًا ، إلا أن هناك العديد من الميزات المتقدمة جدًا.  هل تعلم أنه يمكنك تمرير مجموعة إلى الدالة بدلاً من قائمة المعلمات؟  ليس هناك حاجة للتعبير عن فرحتهم.  هذه الميزة ستتم إزالتها في Swift 3. 

يشير Chris Lattner إلى هذا السلوك على أنه "لطيف" في اقتراحه لإزالة هذه الميزة .  في حين أن هذا السلوك يمكن أن يكون مفيدا من وقت لآخر ، فإنه يبدو أن له عواقب قليلة.  سبب طرح هذا الاقتراح هو تسليط الضوء على الهدف الرئيسي للفريق الأساسي ، لتبسيط البنية و API للغة. 

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

ما هو التعامل مع سويفت 2.3؟ 

في الأسبوع الماضي ، كتبت عن Xcode 8 .   هذا البرنامج من Swift 2.3 و سويفت 3. ولكن ما هو Swift 2.3 وكيف يمكن مقارنته بـ Swift 2.2؟ 

سويفت 2.3 هو تحديث بسيط لكن مهم لسويفت.  والفرق الرئيسي مع Swift 2.2.1 ، الإصدار المتضمن في Xcode 7.3.1 ، هو التوافق مع SDKs لأنظمة التشغيل الجديدة من Apple ، و iOS 10 ، و TVOS 10 ، و watchOS 3 ، و macOS Sierra (10.12). 

وهذا يعني أنه يمكنك استخدام برامج SDK الجديدة والبناء عليها بدون إجراء الانتقال إلى Swift 3.    باستخدام Xcode 8 ، يمكنك إرسال التطبيقات إلى App Store باستخدام Swift 2.3 أو Swift 3. يعرف فريق Swift أن الانتقال إلى Swift 3 له تأثير سريع على المشروعات. يضمن Swift 2.3 إمكانية ترحيل مشروعاتك عندما ترى ذلك مناسبًا. 

أدوات 

ما أحبه وانت في مشروع Swift هو تطوير العملات جنبًا إلى جنب مع اللغة.  وهذا يعني أن الأدوات تتلقى أيضًا تحديثًا جوهريًا عندما يتم إصدار Swift 3 في وقت لاحق من هذا العام. 

كابل بيانات 

خلال WWDC ، رأينا بالفعل لمحة عن التغييرات التي أدخلت على الوثائق.  في حين أن هذا قد يبدو تافهاً ، هل فكرت في مقدار الوقت الذي تقضيه في تصفح الوثائق؟  لدي نقطة ناعمة للحصول على تفاصيل مثل هذه ونقدّر الجهود التي بذلها الفريق لجعل الوثائق أكثر سهولة.  التغييرات أكثر دراماتيكية في Xcode 8 كما كتبت الأسبوع الماضي . 

كسكودي 

في الوقت الحالي ، تستخدم الغالبية العظمى من مطوري Swift Xcode كعمليتها.  قد يتغير هذا في المستقبل مع اكتساب اللغة الجر على منصات أخرى.  ألم يكن لدى Google خطط لاستخدام Swift على Android ؟ 

في Xcode 8 ، تم تحسين تكامل Swift كثيرًا.  يعد التنقل في المكتبة القياسية ، على سبيل المثال ، أكثر سهولة. في واحدة من جلسات WWDC 2016 ، توضح Ewa Matejska كيف أصبحت الواجهات التجميعية الآن أكثر سهولة وأسهل في الفهم.  هذا يجعل التصفح المكتبة القياسية أقل روعة. 

 هذا يقودنا إلى التجميع والتحسين.  قد تكون سمعت عن تحسين الوحدة بالكامل.  هذه الميزة ممكّنة الآن بشكل افتراضي في Xcode.  إجراء هذا على أداء التطبيقات وتوصي Appleisingkin هذه الميزة في الإنتاج. إذا كنت تريد معرفة المزيد حول تحسين الوحدة بالكامل ، فإنني أوصي بقراءة هذا المقال بواسطة كيث هاريسون . 

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

استنتاج 

يعتبر Swift 3 علامة فارقة رئيسية لكل المشاركين في مجتمع Swift.  على الرغم من أن أحدًا لا يحب إجراء التغييرات ، فإن الاتجاه الذي تتخذه اللغة أصبح أكثر وضوحًا ، مما يجعل المنصة أكثر قوة واستعدادًا للتغييرات المستقبلية دون المساس بتوافق المصدر. 

في هذه المقالة ، أبرزت بعض التغييرات الأكثر أهمية التي يمكنك توقعها في Swift 3.  للحصول على قائمة شاملة بالتغييرات ، أشجعك على زيارة دليل الترحيل على موقع Swift على الويب . 

ايضآ زيارة يمكنك و  مشروع تطور سريع على جيثب  لقراءة المزيد عن المقترحات التي تم قبولها والمقترحات التي لا تزال قيد العمل .   لا تخف.  الاقتراحات غالبا ما تكون سهلة الفهم.  في الواقع ، الهدف من مشروع Swift evolution هو أن يتمكن الجميع من إضافة إلى المناقشة.  ما الذي يمنعك؟ 

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.