Dub-dub 2019: أخبار WWDC وانطباعاتي

تحية! اسمي Azat Zulkarnyaev ، أقوم بتطوير تطبيقات iOS على Badoo. تقليديًا ، نقضي كل عام أسبوعًا مع الزملاء في WWDC. أشارك في هذه المقالة انطباعاتي عن المؤتمر: ليس فقط التحديثات الهامة واستعراض الجلسات ، ولكن أيضًا بعض المشاعر الشخصية من التواجد في حشد سعيد يهتف "Dub-dub! العاصمة! " وأحلام مصافحة تيم كوك.



قليلا عن المؤتمر


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

الانطباعات


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

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

بعد التسجيل ، يحصل المشارك على سترة الشركة وشارات تحمل رموز المؤتمر أو الشركة.



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

تصبح الشارات على الفور هدفًا لهواة الجمع: يحاول الأشخاص إكمال مجموعتهم بالشارات المرغوبة ، ويتم اصطيادهم باستمرار.

الكلمة الرئيسية: جديد


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

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

بشكل عام ، يشبه جو الحدث عطلة: يهنئ المنظمون المشاركين على أنهم وصلوا إلى هنا ، وهم يهتفون "Dub-dub! DC! "، يبحث مشجعو Apple عن شارات جديدة ، كل شيء ديناميكي وممتع للغاية. من الجيد أن ندرك أن أهم الأشياء في تطوير نظام التشغيل iOS / MacOS تحدث هنا والآن ، أي أن انطباع مشاهدة فيديو في المنزل أو في العمل يختلف تمامًا عن الوجود الحقيقي في القاعة. إنه أمر ملهم للغاية وملهم لتجربة كل الابتكارات ودمجها في منتجاتك. تحولت العصف الذهني القصير مع زملاء من Badoo في المؤتمر إلى قائمة كبيرة من الأشياء التي نود تنفيذها في تطبيقاتنا.

كما هو الحال دائمًا ، قبل وقت طويل من المؤتمر ، بدأت الشائعات تظهر حول التحديثات المستقبلية. هذا العام ، توقعت WWDC الإعلان عن إصدار جديد من iOS ، وأدوات لتطوير الأنظمة الأساسية لنظامي iOS و MacOS ، وغروب الشمس iTunes ، و Mac Pro الجديد. كانت هناك حتى تكهنات حول نظارات الواقع المعزز.

تم تأكيد الكثير من هذه الشائعات. لكن أول الأشياء أولا.

تلفزيون أبل


أولا عن tvOS. خضع نظام UI tvOS لإعادة تصميم قوية.

تعمل Apple بنشاط على الترويج لمنصة التلفاز TV + ، ونتيجة لذلك ، شاهدنا المسلسل مقطورة في WWDC. على الرغم من الجهود المبذولة ، لا تزال شركة Apple في دور اللحاق بالركب. لا تزال الأنظمة الأساسية مثل Netflix أفضل من حيث كل من UX والمحتوى.

ولعل أكثر ابتكارات ممتعة بالنسبة لمعظم AppleTV هو دعم عصا التحكم Xbox و PlayStation.

iPadOS


بصريا ، لا يختلف كثيرا عن دائرة الرقابة الداخلية. ربما يكون الهدف هو تقريب iPad من جهاز Mac. نتيجة لذلك ، يتمتع المطورون بالقدرة على نقل تطبيقات iPad بسهولة إلى MacOS. أصبحت الأجهزة اللوحية Apple أكثر وظيفية: على سبيل المثال ، الآن يمكن استخدامها كشاشة ثانية وتوصيل محرك أقراص USB بها. هذا الأخير ممكن بسبب تطبيق الملفات المحدثة للعمل مع نظام الملفات.

يجب أن يعمل Safari الآن بشكل أكثر ملاءمة ، مع إعطاء تخطيط لإصدار سطح المكتب من الموقع بدلاً من الجوّال.

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



مشاهدة نظام التشغيل


الآن ، لتثبيت التطبيق على Apple Watch ، ليس من الضروري القيام بذلك على iPhone المرفق. كاستمرار منطقي ، ظهر تطبيق AppStore لـ Apple Watch. كل هذا يعني أنه يمكنك الآن البحث عن التطبيقات وتثبيتها مباشرة من الساعة. ليس من الواضح مدى فائدة ذلك للمستخدمين ، لأن ملاءمة طريقة التثبيت هذه مشكوك فيها. مكافأة لطيفة هي خيارات التصميم الجديدة للشاشة الرئيسية للساعة.

نظام التشغيل Mac OS


اسم الإصدار الجديد هو MacOS Catalina تكريما للجزيرة القريبة من لوس أنجلوس. هذه المرة لم يتم الإعلان عن الكثير من المنتجات الجديدة. من الشخص الذي لا ينسى ، يمكن فقط ذكر أن تطبيق iTunes لن يكون موجودًا بعد الآن ، وستكون أجزائه كتطبيقات منفصلة.

تم تقديم Apple Music و Podcasts و TV ، والتي كانت جزءًا من iTunes ، ببعض المفارقة. سيكون من الممكن العمل مع الأجهزة المتصلة من خلال Finder.

iOS 13


ربما أثرت التغييرات الرئيسية على نظام التشغيل iOS. تم تقديم العديد من التحديثات ، دعنا نتناول الأمر الرئيسي.

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

الابتكار البصري الرئيسي الذي ينتظره الكثيرون لفترة طويلة هو موضوع مظلم. تبدو تطبيقات النظام لطيفة جدًا في سياق جديد.

نشأ الكثير من الضجيج حول إمكانية التسجيل / الترخيص في التطبيقات التي تستخدم Apple Id. إن ما تم تقديمه في العرض التقديمي يثير الاحترام للشركة: أخيرًا ، ظهرت طريقة سهلة لتسجيل الدخول بسرعة إلى خدمات الجهات الخارجية دون تقديم بياناتك الحقيقية. ربما يكون هذا صداعًا لبعض التطبيقات ، لأن Apple تم تكوينه لجعل هذا النوع من التخويل إلزاميًا لجميع التطبيقات التي تستخدم OAuth.

بشكل منفصل ، أود أن أذكر التحسن في نظام تطبيق Find My Mac. الآن ، حتى لو كان الكمبيوتر المحمول في وضع السكون و / أو لم يكن لديه وصول إلى الشبكة ، يمكنه تبادل الرسائل عبر Bluetooth مع أجهزة Apple القريبة ، والتي بدورها سترسل معلومات حول موقع كمبيوتر Apple. فكرة بسيطة ولكنها مفيدة للغاية وفعالة يصعب تقديمها لشركة أخرى بسبب انعدام الثقة وبروتوكول اتصال واحد بين الهواتف الذكية وأجهزة الكمبيوتر.

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

من بين المنتجات الجديدة الأخرى ، يمكننا أن نذكر جهود Apple للحاق بخرائط Google ، وذلك بتقديم تناظرية لوضع Google Streets في تطبيق الخرائط ، والفرز الذكي وتجميع الصور ، وحزم الملصقات المخصصة استنادًا إلى Animoji. كما تم تقديم بعض التحسينات غير المهمة على التطبيقات القياسية.

ماك برو


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

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



ومع ذلك ، داخلها هي سيارة جديدة تماما. إن الطاقة المحتملة لجهاز الكمبيوتر والشاشة المقدمة رائعة حقًا ، ولكن الثمن يجعلك تفكر في الحاجة إلى مثل هذه الأجهزة الرائعة. على ما يبدو ، حتى لا يخيف الجمهور ، تم تقديم السعر فقط إلى التكوين الأساسي لوحدة النظام ، وهو 6000 دولار. تبلغ تكلفة شاشة XDR 6K الجديدة مقاس 31.6 بوصة ما لا يقل عن 4999 دولارًا. حسنًا ، هنا تحتاج إلى إضافة 999 دولارًا للحامل. في الواقع ، لا تتكئ على الحائط.

سويفت واجهة المستخدم


أهم إعلان للمطورين. لا تزال Apple تصدر إطارًا إعلانيًا جديدًا لتطوير واجهة المستخدم على Swift. لا يمكن المبالغة في تقدير عواقب تغيير المفهوم: كان الانطباع الأول للعرض التقديمي بمثابة رمز للمؤتمر على واجهة المبنى.



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

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

ربما يكون الإطار الأكثر شيوعًا لتطبيق هذا المفهوم لنظام iOS هو RxSwift. طرحت شركة Apple إطارًا بديلًا جديدًا ، ضم . للوهلة الأولى ، تشبه الفصول في هذا الإطار تلك الموجودة في Java.

دورات WWDC


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

أدرج أدناه وصفًا لبعض الجلسات المثيرة للاهتمام ، في رأيي ، مع WWDC.

سويفت واجهة المستخدم


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

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

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

تتيح لك كائنات القيمة إنشاء كائنات وحذفها بسرعة من الذاكرة. كيف لم يتم تنفيذ أداة تقديم التعيينات والمكون الذي يولد الفرق بين الحالات بعد: نادرًا ما تفتح Apple الشفرة المصدرية للأدوات التي تم إنشاؤها.

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

دمج


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

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

بالإضافة إلى Combine ، جعلت Apple امتدادات مكون Foundation لتحويل تدفق البيانات القياسي إلى رد فعل ملائم.

مدير الحزمة السريعة


قررت شركة Apple في النهاية إكمال أداة التبعية الخاصة بها. الآن يتم دعمه بالكامل بواسطة Xcode 11 ، وقد تم تنفيذ التكامل مع GitHub والخدمات الشعبية الأخرى للمستودعات. تصف الجلسات كيفية العمل مع SPM في Xcode (وهو أمر بسيط للغاية) وكيفية حل تعارضات التبعية.

العمل مع المجموعات


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

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

سريع


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

كما أنه أصبح الآن سهلاً بما يكفي لجعل DSL المكتوب الخاص بك. إذا حكمنا من خلال المتحدث في الجلسة ، قام أحد مطوري Apple بإعداد DSL لعلامات HTML في غضون ساعتين. لا تزال الوظيفة في مرحلة تجريبية ، وربما خلال التطور ستصبح أكثر إثارة للاهتمام.

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

مؤسسة


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

تغييرات IOS


هناك الكثير من التغييرات هنا ، لذلك سأذكر التغييرات الرئيسية فقط.
إذا كنت تدعم التفويض في نظامك من خلال خدمات الجهات الخارجية مثل Google أو Facebook ، فستتطلب Apple قريبًا دعمًا من خلال Apple ID . ربما في بعض الحالات ، ستكون هذه حالة خاصة للتفويض ، لذلك لا تؤخر تكامل هذه الوظيفة.

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

تستخدم العديد من التطبيقات العمل في الخلفية ، لذلك ربما تكون الجلسة حول التغييرات في واجهة برمجة التطبيقات للعمل مع مهام الخلفية ذات صلة ، وإذا كان بإيجاز ، يمكنك الآن تأجيل المهمة قبل أن يقوم المستخدم بتوصيل الجهاز بمصدر طاقة. ونعم ، لن يعمل الآن استخدام إعلامات دفع VoIP من أجل إيقاظ التطبيق دون استخدام CallKit. كما أنصحك بالتحقق من أن الخادم سيرسل المعلمات اللازمة في محتويات إشعار الدفع مع القيم اللازمة المذكورة في الفيديو.

يمكن أن يكون السمة الداكنة المتوفرة في iOS 13 أيضًا تحدٍ للعديد من التطبيقات. إذا تجاهل تطبيق جهة خارجية النمط المحدد بواسطة النظام ، فقد يؤدي ذلك إلى عدم رضا المستخدمين عن التطبيق ككل. لذلك ، سيكون من الجيد الحفاظ على أسلوب ديناميكي في التطبيق الخاص بك ، إذا كان هذا مقبولًا من حيث التصميم.

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

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

يمكنك معرفة المزيد حول الموضوع المظلم في هذا الفيديو .

تعلم الآلة


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

Apple API , , .

WWDC? نعم!


, , . , .

Apple . , .

, Apple , , . , , , . , WWDC : , , - .

Source: https://habr.com/ru/post/ar456028/


All Articles