Apple Watch باختصار: مقدمة عن ميزات لمطوري iOS

نشرت: 2022-03-11

كان هناك الكثير من القلق حول Apple Watch SDK ، الذي تم الإعلان عنه في WWDC في يونيو الماضي وتم إصداره مؤخرًا.

هذه فقط الجولة الأولى ، بوظائف محدودة. ستتبع Apple Watch v2 ، لكن ليس ذلك قريبًا - لذا يجب أن يكون مطورو iOS الذين يتطلعون إلى الأمام على استعداد للانتظار لبضعة أشهر.

الشعور بين المطورين متنوع للغاية. يشعر الكثير من مطوري iOS بخيبة أمل بسبب العديد من القيود التي تفرضها Apple Watch SDK وميزاتها. على الجانب الآخر ، يشعر الكثير منا بالحماسة ، بينما لا يبتعد الآخرون كثيرًا عن الموقف المحايد. ولكن ، بعد كل شيء ، يبدو أن الجميع سعداء بامتلاك لعبة جديدة ليلعبوا بها.

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

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

من المرجح أن تغير تطبيقات Apple Watch الطريقة التي يفكر بها مرتديها (ومطورو تطبيقات iOS) في التكنولوجيا إلى الأبد.

الجهاز وواجهة المستخدم

عند حذف جميع ميزات Apple Watch التي لا تتعلق بالتطوير بشكل صارم ، فإن أهم المشكلات التي يتعين على المصممين والمطورين التعامل معها هي الأحجام - في الواقع يوجد طرازان مختلفان من Apple Watch:

  • شاشة مقاس 38 مم بدقة 272 × 340 بكسل
  • شاشة 42 مم بدقة 312x390 بكسل

مع عرض شبكية العين في كلتا الحالتين.

وغني عن القول ، إنه على مطوري iOS التأكد من أن التطبيق يبدو جيدًا في كلا الإصدارين.

اتصال Apple Watch

تتصل Apple Watch بجهاز iPhone المصاحب عبر Bluetooth 4.0 ، كما أنها مزودة بتقنية NFC. على ما يبدو ، ليس لديه اتصال WiFi. على الرغم من أنه يمكنه الربط عبر iPhone واستخدام اتصال البيانات الخلوية وشبكة WiFi. ولكن في المعلومات الصحفية ، تذكر Apple بوضوح أنها تتميز أيضًا بشبكة Wi-Fi 802.11b / g.

تفاعل المستخدم

يمكن أن يحدث تفاعل المستخدم (أو تفاعل المستخدم ، إذا كان مفضلاً) بأربع طرق مختلفة:

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

هناك بعض القيود فيما يتعلق بتفاعل المستخدم ، ولا سيما حول الإيماءات:

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

فيما يلي عينة من القائمة السياقية من دليل Apple WatchKit.

ستدعو ميزات تطبيق Apple Watch بلا شك إلى برامج تعليمية للتطوير مكثفة في المستقبل. في الوقت الحالي ، تعرف على الأساسيات.

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

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

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

ملاحة Apple Watch

تقدم WatchKit طريقتين حصريتين للتنقل بين وجهات نظر تطبيق Apple Watch:

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

لسوء الحظ ، لا يمكن الجمع بين نموذجي التنقل هذين في نفس التطبيق. يجب اختيار واحد منهم واستخدامه في جميع أنحاء التطبيق بأكمله.

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

عناصر واجهة المستخدم

هناك 11 مكونًا مميزًا للواجهة:

  • زر
  • المنزلق
  • صورة
  • ضع الكلمة المناسبة
  • فاصل
  • المنزلق
  • مفتاح كهربائي
  • جدول
  • التاريخ: عرض التاريخ أو الوقت الحالي تلقائيًا
  • مؤقت: عرض مؤقت للعد التنازلي ، يتم تحديثه تلقائيًا
  • المجموعة: حاوية لواحد أو أكثر من المكونات الفرعية
  • الخريطة: عرض خريطة غير تفاعلية ، اختياريًا مع 5 تعليقات توضيحية بحد أقصى

التخطيطات

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

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

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

لمحات

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

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

إليك عينة من دليل Apple WatchKit الرسمي.

هذا مثال على ميزة نظرة سريعة على Apple Watch في نموذج لتطبيق Apple Watch.

إشعارات Apple Watch

هناك نوعان من الإشعارات: نظرة قصيرة وطويلة .

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

هذا ما قد يبدو عليه إشعار Apple Watch داخل التطبيق.

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

يعد الإشعار طويل الأمد أحد ميزات Apple Watch المميزة التي يجب أن يعرفها المطورون.

يمكن العثور على مزيد من المعلومات حول استخدام إشعارات Apple Watch هنا.

التطور

بنيان

تنزيل إصدار Xcode الذي يدعم WatchKit (حاليًا الإصدار 6.2 بيتا) ، ومحاولة البدء في مشروع WatchKit دون قراءة أي وثائق ، قد يشعر المطور بالارتباك بسبب عدم وجود قالب WatchKit:

لا يمكن إضافة تطبيقات Apple Watch إلا كهدف جديد لأحد تطبيقات iOS الحالية.

لا يوجد تطبيق ساعة مستقل ولا يمكن إضافة تطبيق Watch إلا كهدف جديد لتطبيق iOS موجود.

لتطوير تطبيق Apple Watch ، ابدأ بتطبيق iOS الحالي وأضف تطبيق Watch كهدف جديد.

يعتمد سبب ذلك على البنية والطريقة التي يتفاعل بها تطبيق الساعة مع تطبيق iOS ذي الصلة:

يعد فهم الطريقة التي تتفاعل بها Apple Watch مع تطبيقات iOS الأخرى على iPhone جزءًا لا يتجزأ من كونك مطورًا ناجحًا لـ Apple Watch.

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

يشبه هذا النموذج إلى حد كبير نموذج تطبيق الويب للمستعرض <-> ، حيث يتم تنفيذ منطق المجال من جانب الخادم ، ويكون جانب العميل مسؤولاً عن إظهار المحتوى للمستخدم والاستجابة لإجراءات المستخدم.

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

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

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

إطار عمل Apple Watch: نظرة سريعة

لا تستخدم WatchKit UIKit أو ترثها أو تخصصها. تم تنفيذ إطار عمل جديد ، تم تصميمه وتحسينه خصيصًا للساعة ولشاشتها الصغيرة وللأجهزة المحدودة. يتكون الإطار من 15 فئة فقط ، 12 منها عبارة عن مكونات لواجهة المستخدم (التسمية ، الزر ، إلخ).

أهم فئة يعرضها إطار العمل هي WKInterfaceController ، وهي نظير WatchKit لـ UIViewController . إذن ما يسمى في iOS (و OSX) بوحدة التحكم في العرض ، في Apple Watch عبارة عن وحدة تحكم في الواجهة .

بدون البحث بعمق ، فإن التحسن الأكثر وضوحًا على UIKit ، من منظور مطور Apple ، هو إنشاء نمط لتمرير البيانات بين وحدات التحكم في الواجهة. نظرة سريعة على المُهيئ:

Swift init(context: AnyObject?) // context from pushing controller or nil

يكشف أنه من الممكن توفير كائن تعسفي لمثيل وحدة تحكم الواجهة (يسمى context في جميع واجهات برمجة التطبيقات) ، مما يبسط ويوحّد تمرير البيانات من وحدة تحكم واجهة إلى أخرى. الجانب السلبي الوحيد هو أن الكائن ليس من النوع العام ، ولكنه كائن AnyObject غير شفاف يجب أن يتم خفضه إلى النوع المتوقع داخل مُهيئ وحدة تحكم واجهة الوجهة. من المحتمل أن يكون هذا بمثابة مقايضة للاستمرار (وربما الرغبة أيضًا) في الاستمرار في استخدام الهدف ج.

يتم تبسيط دورة حياة وحدة التحكم في الواجهة إذا ما قورنت بنظير وحدة التحكم في العرض ، والتي تتكون من 3 انتقالات فقط:

  • init : يتم استدعاؤها عندما يتم إنشاء الكائن
  • willActivate : يتم استدعاؤه عندما يكون المحتوى على وشك العرض
  • didDeactivate : يتم استدعاؤه عندما تكون الواجهة مخفية للتو

إلى جانب إظهار المحتوى للمستخدم ، فإن وحدة التحكم في الواجهة مسؤولة أيضًا عن:

  • التعامل مع تفاعلات المستخدم
  • إدارة القائمة السياقية
  • تنسيق نشاط التسليم
  • الرد على الإخطار

هل Apple WatchKit جاهز؟

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

حسنًا ، هناك جهاز محاكاة ، وهو في الواقع ليس محاكيًا مستقلاً ، ولكن يمكن الوصول إليه كشاشة خارجية لمحاكي iOS (عبر الأجهزة -> قائمة الشاشات الخارجية). لكن جهاز المحاكاة لا يحل محل جهاز حقيقي أبدًا - فهو جيد أثناء التطوير وللتصحيح ، ولكنه ليس كافياً.

إن WatchKit هي مجرد معاينة ، نسخة تجريبية ، مقبلات ، والتي ستتطور مع كل إصدار جديد. حصل مطورو iOS على الإصدار الأول ، فلنلعب به ودعونا نحاول تحقيق أقصى استفادة منه.