كبير مهندسي البرمجيات
المطوّر
يقدّم Remote Compose طريقة جديدة لعرض واجهة مستخدم تفاعلية ومعبّرة على مساحات عرض عن بُعد، مثل التطبيقات المصغّرة. من خلال تسلسل التنسيقات إلى حمولات ثنائية مضغوطة، يفصل RemoteCompose واجهة المستخدم عن تنفيذ المضيف لتقديم مزايا كبيرة.
تشمل المزايا الرئيسية التفاعل على الجهاز الذي يتيح عرض المحتوى بأداء عالٍ من خلال التنفيذ على الجهاز البعيد، وتغيير الحجم بسلاسة ما يتيح لواجهات المستخدم إعادة التدفق على مستوى أشكال الأجهزة المختلفة من خلال تقييمات المكوّنات على الجهاز البعيد، وسير عمل موحّد للمطوّرين يزيل الحاجة إلى أُطر عمل واجهة المستخدم البعيدة الخاصة بالنظام الأساسي من خلال واجهات برمجة تطبيقات Jetpack Compose المألوفة.
تتناول هذه الجلسة هذه المزايا وتقدّم أمثلة على الإنتاج المباشر، بما في ذلك تطبيقات Wear OS المصغّرة الحديثة وتجربة Wear Workout Tracker السريعة في Runkeeper.
النص
مرحبًا،
اسمي "نيكولاس روارد"، وأنا المسؤول التقني في مشروع Remote Compose.
اسمي "جون هوفورد".
أنا مطوّر في Remote Compose.
أنا "جون زولر"، وأعمل في مجال علاقات المطوّرين في Wear OS.
لنبدأ الآن
سأقدّم لك أولاً نظرة عامة سريعة على نوع المشكلة التي نحاول حلّها باستخدام ميزة "الإنشاء عن بُعد".
عادةً عندما تفكرون في واجهة المستخدم على Android، تفكرون فيها كجزء من تطبيقكم وعملية التطبيق، أليس كذلك؟
هناك العديد من الأماكن المختلفة التي قد ترغب أحيانًا في نقل واجهة المستخدم إليها، وتجميعها، وإرسالها إلى مكان آخر مثل سطح بعيد.
لذا، ما نعنيه بمساحة العرض عن بُعد هو إلى حد كبير مثل هذه الأمثلة، مثل أنماط الساعة والتطبيقات المصغّرة، ويمكن أن يكون تطبيقك الخاص أو تطبيقًا مختلفًا، حسنًا؟
وكل هذه الأمثلة هي في الأساس أمثلة على مساحات العرض عن بُعد.
لذا، في مكان آخر، قد يكون تطبيقك، أو خادمًا، يعرف ما يجب إرساله إلى تلك الشاشة البعيدة.
و…
ماذا عن مكبّر الصوت؟
بين هذين الاثنين، هناك مسافة أساسية.
ويمكن أن تكون هذه المسافة حرفيًا مسافة فعلية، ويمكن أن تكون اتصالاً بالشبكة، أليس كذلك؟
ويمكن أن يكون أيضًا مجرد حدود للعملية.
قد تكون على الجهاز نفسه.
ولكن مهما كان، فإنّ له تكلفة.
وأبسط شيء يمكنك التفكير فيه لأخذ واجهة المستخدم هذه وإرسالها هو مجرد أخذ نسخة من الشاشة، أليس كذلك، وإرسالها.
المشكلة في ذلك، أنها ليست سريعة للغاية، أليس كذلك؟
لذا، ما نفعله باستخدام Remote Compose بدلاً من ذلك هو إرسال مستند يمثّل واجهة المستخدم هذه.
تذكَّروا أنّ صغر حجم القناة له مزايا كثيرة.
هذا مهم.
لقد رأينا ذلك في أول هاتف Pixel أرسلته، ولكن هذا ينطبق في الواقع على أي نوع من التحديثات التي تريد إجراؤها على هذا السطح، أليس كذلك؟
لقد حصلت على رحلة ذهاب وعودة.
لذلك تحصل على شيء ما على هذا السطح البعيد مثل حدث أو نقرة أو لمسة.
عليك الرجوع إلى من أنشأه للحصول على نسخة جديدة.
وهذا ليس جيدًا.
لذا، نحاول حلّ هذه المشكلة بطرق متعددة من خلال ميزة Remote Compose.
لقد رأينا المستند الذي تم إرساله.
بجانب المستند، هناك بعض، كما تعلم، منطقتان مهمتان للغاية.
الأول هو كيفية إنشاء هذا المستند.
والثاني هو طريقة اللعب.
ذكرتُ أنّنا بصدد إنشاء مستند.
لا نرسل نسخة من الشاشة، ولا نرسل أيضًا تطبيقًا.
لدينا ثلاث طرق مختلفة لمساعدتك في إنشاء هذا المستند.
الأول هو واجهة برمجة تطبيقات Compose، والثاني هو واجهة برمجة تطبيقات Kotlin الإجرائية، KMP، والثالث هو تنسيق JSON.
وكلها تُصدر وحدات البايت نفسها.
لذلك، نقدّم مجموعة من الأدوات لإنشاء هذه المستندات، وباستخدام واجهة برمجة التطبيقات Compose API، يمكننا الاستفادة من الأدوات الحالية في "استوديو Android".
على سبيل المثال، يمكنك استخدام المعاينة للاطّلاع مباشرةً على ما تطوّره، وذلك في بيئة التطوير المتكاملة (IDE).
نعمل أيضًا على تطوير بعض الأدوات الجديدة الفعّالة، مثل أداة فحص المستندات.
لنلقِ نظرة سريعة على المستند.
وهي في الأساس قائمة بالعمليات المرمّزة في تمثيل ثنائي مضغوط، وتصف هذه العمليات واجهة مستخدم مستقلة يمكن إرسالها إلى تلك المساحة البعيدة.
لذا، من الخصائص المهمة جدًا لهذه المستندات أنّها صغيرة الحجم.
وكما رأينا، فإنّ الصغير جيد.
لذلك، نحن نتحدث عادةً عن بضعة كيلوبايت، أليس كذلك؟
ولكن حتى واجهة المستخدم الأكثر تعقيدًا مع شيء ذي تخطيط متكيف للغاية، ما زلنا نتحدث عن بضع عشرات من الكيلوبايت، أليس كذلك؟
ونجمع كل مواد العرض في هذا المستند.
لذا، إذا فكرت في الأمر، فإن الشيء الوحيد الذي يمكن أن يشغل مساحة في المستند هو إذا بدأت في تجميع الصور النقطية.
لذا ضع ذلك في الاعتبار.
هذا هو، في النهاية، السبب الكامل وراء إرسال مستند وليس نسخة شاشة.
عندما نتحدث عن كوننا صغارًا وأهمية ذلك، لا يتعلق الأمر بالتواصل فقط.
هذه حالة استثنائية أساسية في فلسفة Remote Compose.
كما رأينا، من الواضح أن لذلك تأثيرًا على الوقت المستغرق للحصول على أول بكسل على الشاشة، ولكن عذرًا.
هذا يعني أيضًا أنّه يمكننا استخدام المزيد من المستندات مع الحفاظ على الكفاءة، وذلك من خلال الاستفادة من قدرات السطح المتساوية.
وهذا ما سنستفيد منه عند إتاحة استخدام التطبيقات المصغّرة.
وتميل المشغّلات نفسها إلى أن تكون صغيرة جدًا أيضًا، مع القليل من التبعيات.
وبما أنّها صغيرة الحجم وتتضمّن تبعيات قليلة، يمكننا توسيع نطاق وصولنا إلى الأماكن التي يمكننا فيها تشغيل مستندات Remote Compose.
وهذا مهم بشكل خاص للمنصات المحدودة، كما سنرى.
لقد تحدّثت كثيرًا عن النقل والمسافة، ولكنّ ميزة Remote Compose لا تتعامل مع النقل بحد ذاته.
هذا يعود إليك.
ما نفعله هو أننا نجمع كل ذلك في مخزن مؤقت للبايت يمكنك إرساله بعد ذلك بالطريقة المناسبة إلى السطح البعيد.
بالنسبة إلى التطبيقات المصغّرة، نساعدك في ذلك من خلال توفير موصّل لك.
ولكن بشكل عام، من المفيد أن تضع في اعتبارك أنّك المسؤول عن النقل.
وبعد أن يتلقّى المشغّل هذا المستند، يمكنه استخراج قائمة العمليات وتحويلها إلى أوامر رسم، في أشجار التنسيق والتعبيرات، وكل ذلك معًا يمكن أن يخلق تجربة مستخدم غنية حقًا.
لذا، من المهم أن نضع في اعتبارنا أنّ منحك القدرة على تحديد كيفية نقل المستند يعني أنّه يمكنك إعادة استخدام ميزة "الكتابة عن بُعد" كأداة في العديد من السيناريوهات، وبعضها قد لا يخطر ببالنا، أليس كذلك؟
بمجرد تحميل المستند بواسطة المشغل، يتم تشغيله من تلقاء نفسه.
وهذه هي الفكرة الأساسية.
نريد أن ينشئ المستند واجهة مستخدم مستقلة إلى حدّ ما، ولا تحتاج إلى الرجوع إلى من أنشأها، أليس كذلك؟
وكل ذلك معًا، يمكننا دعم، كما تعلم، تغيير الحجم، والتمرير، وأحداث اللمس، كما تعلم، اتخاذ قرار بإظهار أو إخفاء المكونات، والرسوم المتحركة، وبعض أحداث اللمس، وبعض معالجة اللمس، يمكن القيام بكل ذلك في المستند دون الحاجة إلى العودة إلى المشغل.
وإذا أردتم العودة إلى مرحلة الإنشاء، يمكنكم طلب إجراء مثل "أريد مستندًا جديدًا".
نوفّر ثلاثة مشغّلات رسمية من خلال مكتبات AndroidX في Remote Compose.
الأول هو مشغّل Compose، لذا يمكنك استخدامه في تطبيق Compose.
لدينا أيضًا مشغّل View إذا كنت لا تزال تستخدم View.
لدينا أيضًا عملية تنفيذ RemoteViews يتم شحنها في نظام Android الأساسي منذ واجهة برمجة التطبيقات 36، وتسمح لك بإنشاء تطبيقات مصغّرة لنظام Android تعمل على مشغّل التطبيقات باستخدام Remote Compose.
لدينا أيضًا بعض المشغّلات التجريبية إذا كنت مهتمًا، وبعض لغات C++ التي تعمل على Skia وTypeScript وحتى Compose Multiplatform.
لذا، فإن الفكرة هي أن التكنولوجيا نفسها التي تستخدمها يمكن استخدامها بشكل أساسي للعرض على الكثير من الأسطح والمنصات المختلفة.
باختصار، لا تزال المسافة التي كنت أتحدث عنها موجودة، ولكننا نحاول أن نجعلها مهمة فقط عندما تكون كذلك بالفعل.
أجل
لنتحدّث قليلاً عن الإمكانات التي ستحصل عليها في مستند Remote Compose.
في الأساس، هناك لوحة رسم، وهي تتضمّن جميع ميزات لوحة الرسم في Android.
ولكن مع بعض واجهات برمجة التطبيقات الإضافية.
ولكن من الأشياء الخاصة أن جميع الأعداد العشرية التي لديك في Android Canvas، يمكن استبدالها بالتعبيرات.
يتيح لك ذلك إنشاء صور متحركة، كما ترى هنا، وتغيير الحجم ديناميكيًا، وتخطيطات مرنة.
يمكن تنفيذ الكثير من الإجراءات المختلفة باستخدامها.
مزيد من المعلومات حول التعبيرات
لديك مجموعة غنية من عوامل التشغيل من الرياضيات العادية، وأشياء المثلثات، والوصول إلى المصفوفات، واستيفاء الخطوط.
ومن الميزات الرائعة أنّه يمكن تحريك أي قيمة تتغيّر، ما يتيح لك تحريك التغيير في حالة أي قيمة.
في هذا الرسم المحدّد الذي تراه هنا، يختار كل بندول نوعًا مختلفًا من الصور المتحركة، وكلها متاحة في Remote Compose.
بالإضافة إلى ذلك، لدينا المكوّنات الأساسية، مثل Compose وغيرها من المكوّنات التي تعرفونها.
وتوفّر واجهة برمجة تطبيقات مألوفة جدًا، مثل المربّعات والصفوف والأعمدة وما إلى ذلك.
بالإضافة إلى ذلك، لدينا مكوّنات تكيُّفية.
ومن الميزات الرائعة في ذلك أنّه بما أنّك لا تتحكّم في المستند في تلك المرحلة، يمكن لهذه العناصر التعامل مع اختفاء العناصر وظهورها واختفائها وعودتها بسبب تغيير الحجم وما إلى ذلك، كل ذلك بدون الرجوع إلى مصدر المستند.
بالإضافة إلى ذلك، لدينا ميزة "تحريك المكوّنات".
يمكن تحريك جميع التغييرات، لذا إذا اختفى شيء ما، يمكنك تحريكه.
ويمكنك كتابة صور متحركة مخصصة خاصة بك.
في هذه الحالة، يمكنك رؤية بعضهم يستخدمون أدوات التظليل، وجميع أنواع الأشياء.
من الأمور الأخرى التي يمكننا القيام بها هي التفاعل أثناء التواجد هناك، لذا لا يقتصر الأمر على الصور الجميلة فقط.
يمكنك النقر على العناصر، واستخدام أحداث اللمس، والتمرير، وما إلى ذلك.
من المهم أيضًا تسهيل الاستخدام، لذا تتوفّر جميع واجهات برمجة التطبيقات الخاصة بتسهيل الاستخدام.
كما ترون، أنا بصدد إنشاء ساعة توقيت كاملة مع واجهات مستخدم مثيرة للاهتمام، وكل هذا يحدث من جهة المشغّل.
كل ذلك داخل المستند.
كل ما تراه، لا يعود إلى الخادم من أجل ذلك.
الآن، إذا أنشأته داخل تطبيق، في هذه الحالة، تكون الأجزاء الزرقاء عبارة عن تطبيق والأجزاء السوداء عبارة عن مستند Remote Compose.
يمكنك التفاعل بينهما.
هنا، أزيد القيم، ويمكنكم رؤية التطبيق يتلقّاها، وهو ما نسمّيه المضيف، ويمكنني أيضًا تحريك شريط التمرير، وسيؤدي ذلك إلى تغيير القيم داخل المستند.
لذا، يمكنني اتّباع كلا الاتجاهين في ذلك.
لنتعرّف الآن على كيفية إنشاء أحد هذه المستندات.
هناك ثلاث واجهات برمجة تطبيقات: Compose وKotlin وJSON.
أما واجهة برمجة التطبيقات Compose API، فأنتم تعرفون ما هي.
وهي تتضمّن بعض التغييرات التي سنتناولها بالتفصيل.
تتّبع واجهة برمجة التطبيقات Kotlin أسلوبًا إجرائيًا للغاية.
يمكنك استخدام أمر واحد في المستند، لذا فهو نوع من أنواع الأوامر الفردية.
JSON هو بنية JSON يمكنك استخدامها، ولدينا أدوات تحويل ستحوّلها إلى Remote Compose.
وهي مفيدة أيضًا إذا كنت تعمل مع نموذج لغوي كبير لأنّه قادر على قراءة المستندات وكتابتها.
لذا، دعنا ننتقل فعليًا إلى Compose وننشئ شيئًا ما.
في هذه الحالة، ستلاحظ أنّها دالة مركّبة ودالة مركّبة عن بُعد.
لدينا لوحة-- ليست لوحة، ولكن لوحة عن بُعد ومعدّلات عن بُعد، ولكن المعدّلات نفسها هي نفسها، الأشياء التي تعرفها وتحبها.
الآن، جميع الأوامر داخلها تنشئ في الواقع أوامر مستندات Remote Compose للأوامر عن بُعد أثناء تنفيذها.
في هذه الحالة، رسم دائرة ثم إضافة بعض الأعداد العشرية والتعبيرات باستخدام الوقت في تلك التعبيرات.
وعندما أذهب وأقوم بتشغيله في الرسوم المتحركة، لاحظ أن هذه معاينة حية من استوديو Android وسيتم تشغيلها بالفعل مباشرة من أجلك.
يمكنك رؤية هذه التعبيرات هناك.
لنتعرّف على تفاصيل هذه الميزة وطريقة عملها.
على يمين الصفحة، ستظهر لك صفحة تشبه جدول البيانات.
وهو جدول للقيم في الأعداد العشرية.
وتتضمّن أيضًا شجرة تبعية، لتعرف كيف يرتبط كل عنصر بالآخر.
عندما يتغير شيء ما، يتم وضع علامة على العناصر التابعة له على أنها غير صالحة ليتم تنظيفها، وتعديلها.
وأثناء تشغيله، سيتم تنظيف جميع التبعيات وتقييم التبعيات التي تتغير فقط.
لذا، فهي فعالة للغاية وفي حالة لنفترض أن كائنًا مثل الحجم يتغير، فإن هذه التبعية تتغير، ويجب أن تعكسها.
وهذا يجعلها طريقة فعالة للغاية في الحوسبة، لأنّك لا تنتقل من الأعلى إلى الأسفل، بل تنتقل بكفاءة عالية.
لنتوسّع قليلاً في موضوع الساعة لنوضّح أنّه يمكننا إنشاء أشياء حقيقية، أو شبه حقيقية.
في هذه الحالة، ما نفعله هو أننا سنضيف بعض علامات التجزئة على الحواف، وسترى بعض حلقات for، حتى تتمكن فعليًا من نوع حلقة for في محلي ويمين.
بعد ذلك، نضيف بعض عقارب الساعة وعقارب الدقائق، ثم ننتقل إلى الثواني - نضيف الثواني، ثم نغلقها ببضعة أزرار مختلفة فقط لإنهائها، ولدينا ساعة حية.
إنّها تعرض الوقت في الواقع.
والأمر الآخر المثير للاهتمام هو أنّه يمكنكم كتابة الشيء نفسه في JSON، وإذا كان في JSON، يمكنكم التفاعل بسهولة مع نموذج لغوي كبير من خلال قول "غيِّر عقرب الدقائق إلى اللون الأخضر"، وسيفهم ما تعنونه.
لذا، من الرائع جدًا أن يكون الأمر كذلك.
حسنًا
صحيح؟
نأمل أن يمنحك ذلك فكرة عن إمكانات ميزة "الإنشاء عن بُعد".
سأشرح قليلاً الدعم الذي نقدّمه للمطوّرين.
لقد ذكرتُ أنّ هذه المكتبات هي في الأساس مكتبات AndroidX، لذا يمكنكم العثور على كل ما هو متاح على DAC.
ستحصل على أحدث الإصدارات والوثائق وكل ذلك.
كالعادة، رأينا جون يوضح ما يمكننا القيام به في استوديو Android.
أعتقد أنّ أفضل ميزة بالنسبة إليّ هي المعاينة المباشرة التي تسرّع وقت التطوير.
نعمل أيضًا على توفير مواصفات مفتوحة للجميع حول هذا التنسيق.
نحن لا نحاول إخفاء شيء بالكامل، بل هو متاح للجميع.
يمكنك الاطّلاع على طريقة عمله وكيفية إنشائه وترميزه.
من الأمور الشائعة التي تستخدمها تطبيقاتك هي المتّجهات المتحركة القابلة للرسم، وهي مريحة جدًا بوضوح.
وتذكَّر ما ذكرته عن الصور النقطية.
نحن مهتمون جدًا بإرسال المتجهات وليس الصور النقطية، أليس كذلك؟
لذلك، نحن بصدد إنشاء بعض الأدوات لمساعدتك في استخدام ملف Lottie، على سبيل المثال، أو تنسيق آخر، وتحويله إلى مكوّن RemoteCompose يمكنك استخدامه في ملف RemoteCompose.
ذكرتُ سابقًا أنّنا نعمل أيضًا على أدوات إضافية، وتحديدًا على أداة فحص المستندات، لأنّ تجربة المطوّر في إنشاء المستندات تختلف عن قدرته على فحص نتيجة هذا الإنشاء.
وفي حالتنا، هذا هو المستند.
إليكم نظرة سريعة على الأداة التي نعمل على تطويرها.
وهو أداة فحص مستندات RemoteCompose، ويتيح لك فحص المستندات كما يشير الاسم، وتطبيق العديد من الأدوات المفيدة وعرضها.
من الأمثلة الجيدة على ذلك أنّه يمكنك فتح مستند وتنفيذ العمليات المختلفة الواردة فيه خطوة بخطوة لمحاولة فهم كيفية ترابط كل شيء بشكل أفضل.
ولكن لدينا أدوات إضافية.
على سبيل المثال، يعجبني هذا المكوّن الإضافي الذي يعرض المستند على الفور بكثافات وأحجام مختلفة، ما يتيح لك معرفة ما إذا كان المحتوى الذي تنشئه سيتكيّف بشكل جيد مع التغييرات المختلفة في الأحجام، على سبيل المثال.
من أحدث الميزات التي نعمل عليها أيضًا هي أداة فحص التنسيق الكاملة، أي نوع إمكانات فحص التنسيق التي اعتدت عليها في استوديو Android، ولكن هنا، يتم تطبيقها على العمليات والمستندات، أليس كذلك؟
ويمكننا الذهاب إلى أبعد من ذلك في ما يتعلّق بالصور الثلاثية الأبعاد.
ذكرتُ سابقًا، وآمل أن أكون قد أقنعتكم الآن بأنّ الحجم الصغير هو ميزة.
هذا مهم.
نريد حقًا مستندات صغيرة.
فهي تساعد الجميع.
يُرجى تنفيذ ذلك.
إذًا، ما الذي يمكننا فعله حيال ذلك؟
لنأخذ مثالاً شائعًا على واجهة المستخدم.
شيء حصلت فيه على مجموعة من الصفوف.
الصفوف نفسها، كما تعلم، لديك اسم، ورسم بياني صغير، وربما زر.
هذا أمر معتاد.
حجم واجهة المستخدم هذه صغير جدًا.
نحن نتحدث عن حوالي 25 كيلوبايت، ولكن لدينا وظائف مختلفة في RemoteCompose لمساعدتك في جعلها أصغر حجمًا.
لنتعرّف عليها.
أول ما نفعله، وهذا مجاني، سنفعله من أجلك، إذا كنت ترسل نفس السلاسل، فسنلاحظ ذلك.
يمكننا تقليل بعض وحدات البايت من خلال الإشارة إلى السلسلة نفسها.
ولكننا نقدّم المزيد من الميزات، مثل الحلقات.
لذا، استخدمت هنا عملية التكرار هذه لرسم الرسم البياني الصغير، أليس كذلك؟
وهذا يوفّر بضع بايتات أخرى.
لدينا دوال أيضًا.
لذا، يمكنكم إنشاء دالة، وهنا، أقوم بذلك لهذا الرسم البياني مرة أخرى، ويمكنني بعد ذلك ببساطة استدعاء هذا الرسم البياني عدة مرات.
وهذا سيوفّر لي بعض وحدات البايت.
وبالنسبة إلى المكوّن، لدينا نماذج، أليس كذلك؟
أفكار مشابهة لتلك الخاصة بالوظائف، ولكنها أكثر ملاءمة للمكوّنات، أليس كذلك؟
وبالتالي، يمكنني استبدال كل هذه المكوّنات والصفوف المختلفة من خلال استدعاء هذا النموذج مع المَعلمات الصحيحة، ما يوفّر الكثير من الوقت والجهد في المستند.
وآخر ميزة نتيحها أيضًا هي ضغط المستند.
بشكل عام، يمكنك توفير حوالي نصف حجم المستند بهذه الطريقة.
من الأمور المثيرة للاهتمام أنّ رأس المستند مميّز بعض الشيء.
ولا نضغطها.
هذا مفيد جدًا إذا كنت تريد غربلة الكثير من المستندات بسرعة كبيرة بدون الحاجة إلى فك ضغطها.
لذا، فإن المستندات صغيرة الحجم، كما تعلمون، ولكن يمكنكم جعلها أصغر بكثير أيضًا.
ويمكنكم أن تروا، من خلال هذا المثال البسيط، مدى سهولة تقليلها حرفيًا بمقدار كبير، لأنّ الحجم الصغير هو ميزة.
تحدّثتُ عن التطبيقات المصغّرة، وتحديدًا تطبيقات مشغّل الشاشة الرئيسية المصغّرة في نظام Android الأساسي.
لنتحدّث قليلاً عمّا نفعله وما هو متاح حاليًا.
أول ما يمكننا فعله هو تكرار تطبيق مصغّر حالي، مثل الساعة، في RemoteCompose فقط، وسيعمل بشكل أساسي بالطريقة نفسها، ولكن في RemoteCompose فقط.
ولكن يمكننا فعل المزيد، أليس كذلك؟
لذا، إذا أردت إنشاء واجهة مستخدم أكثر تكيُّفًا، وأدوات يمكن تغيير حجمها وتحريكها بشكل صحيح، يمكنك الآن إجراء ذلك.
لأنّنا حصلنا على العناصر الأساسية المناسبة لإجراء ذلك، على عكس ما يمكنك فعله باستخدام طرق العرض عن بُعد.
نمنحك المزيد من المرونة والقدرة، بشكل أساسي.
وبالحديث عن القوة، إليكم مثال سريع على الأمور المذهلة التي يمكنكم تنفيذها.
يعرض لك هذا الخيار لعبة كاملة في تطبيق مصغّر.
وأودّ الإشارة إلى الحجم الفعلي لهذا التطبيق المصغّر.
نحن نتحدث عن 4 كيلوبايت.
ذكرتُ أنّ النقل ليس شيئًا نتعامل معه مباشرةً في Remote Compose.
ومع ذلك، بالنسبة إلى التطبيقات المصغّرة تحديدًا، نوفّر فئة ربط RemoteCompose Widget تتيح لك بسهولة الحصول على مستند وإرساله إلى مشغّل التطبيقات.
ومع ذلك، إذا كان لديك تطبيقات مصغّرة، ننصحك بمواصلة استخدام Glance، لأنّ أحدث إصدار من Glance يوفّر تلقائيًا واجهة خلفية لإصدار Remote Compose على المنصة.
والآن، لنتحدّث عن Wear OS.
شكرًا، نيكو.
مرحبًا بالجميع
اسمي "جون زولر".
أنا هنا لأتحدّث إليكم عن Wear OS.
كتبتُ حوالي 30 نكتة لهذا العرض التقديمي، لكنني أخبرتُ والدتي بها جميعًا، وقالت إنني سأُطرد إذا أخبرتُ أيًا منها.
لذا، سأتخطّى ذلك وأقدّم العرض التقديمي بدلاً من ذلك.
لنتحدّث الآن عن ميزة "الإنشاء عن بُعد" وبعض مزاياها الرائعة على Wear OS.
أولاً، سنتحدّث عن ميزة "تتبُّع التمارين" الجديدة في Wear OS.
استخدمنا Remote Compose لإنشاء هذا التطبيق، ونعلم أنّ إنشاء تطبيق تتبُّع تمارين كامل الميزات وعالي الجودة أمر صعب حقًا على Wear.
يستغرق ذلك بعض الوقت.
لذلك، أجرينا هذه التغييرات نيابةً عنك، وأضفنا بعض ميزات التمارين الرياضية الحديثة والرائعة، مثل المقاييس المباشرة وإمكانية التحكّم في الوسائط.
وبفضل Remote Compose، تمكّنا من فصل واجهة المستخدم عن جميع عمليات التنفيذ، ما يتيح تشغيلها بكفاءة عالية ويساعد في عدم استنزاف بطاريات المستخدمين.
بدون Remote Compose، إذا فعلنا ذلك باستخدام Compose العادي فقط، لن نتمكّن من إعادة تحميل المقاييس المباشرة على الشاشة كل ثانية.
سيستغرق الأمر دقيقة في الواقع، لأنك ستضطر إلى تنشيط الساعة في وضع عدم النشاط فقط لإظهار مقياس.
لذا، هذه ميزة رائعة.
وهذه في الواقع صورة GIF، صدق أو لا تصدق.
هذه ليست صورة.
أعلم أنّه لم يتحرّك بعد، وسيتحرّك بعد 45 ثانية تقريبًا عندما نصل إلى التعديل التالي للمقياس.
ولكن هذه هي ميزة Remote Compose.
فضلاً عن كونه
يتوفّر تطبيق Wear Workout Tracker حاليًا.
وقد تم إنشاء تطبيق ASICS Runkeeper الجديد باستخدام هذه الميزة، ويمكنك تجربته اليوم من خلال الانتقال إلى هذا الرابط والانضمام إلى الاستخدام التجريبي المفتوح.
بعد ذلك، لدينا تطبيقات Wear OS المصغّرة.
هذا مثال رائع آخر على ميزة "الإنشاء عن بُعد" أثناء العمل.
تحلّ هذه الميزة محلّ مكتبة ProtoLayout Tiles القديمة، لذا لن تحتاج بعد الآن إلى استخدام نوعَين مختلفَين من إطارات عمل واجهة المستخدم للأجهزة المختلفة.
يمكنك تنفيذ كل ذلك باستخدام ميزة "الإنشاء عن بُعد".
وبما أنّها جزء من Jetpack Glance، فإنّ التطبيقات المصغّرة على Wear OS هي جزء من منظومة Android المتكاملة الموحّدة للتطبيقات المصغّرة.
حسنًا، وكجزء من هذه المنظومة المتكاملة، يتم فصل واجهة المستخدم الخاصة بعناصر RemoteCompose تمامًا عن أي عملية تطبيق محدّدة، بحيث يمكن تسلسلها وعرضها بأمان على أجهزة Wear OS باستخدام التكنولوجيا نفسها المستخدَمة في بقية حزمة Android.
وتوفّر ميزة Remote Compose أيضًا رسومات حديثة وتنسيقات متجاوبة مع التطبيقات المصغّرة، وكل ذلك مع الحفاظ على كفاءة عالية وعمر بطارية جيد.
ومع Wear OS 7، بدأت الشركات المصنّعة للأجهزة في استخدام لوحات التنقّل العمودية.
هذه هي ساعة Samsung Galaxy Watch، ويمكنك رؤية كيف يتم التمرير عموديًا في التطبيقات المصغّرة من خلال الأقسام هنا.
لمزيد من المعلومات حول نقل المربّع إلى تطبيق مصغّر، يمكنك الاطّلاع على هذا الرابط.
على الأجهزة القديمة التي تعتمد على لوحات العرض الدوّارة الأفقية، سيتم عرض التطبيقات المصغّرة تلقائيًا كلوحة بملء الشاشة.
وهي متوافقة أيضًا مع الإصدارات السابقة من Wear OS 4.
وسيتيح لك هذا الرابط أيضًا معرفة المزيد عن التوافق مع الأنظمة القديمة.
لدينا أيضًا بعض الشركاء الآخرين الذين اعتمدوا التطبيقات المصغّرة.
يمكنك إلقاء نظرة.
هذا كل ما لديّ.
نعم، لننتقل إلى "نيكو".
شكرًا لك.
حسنًا.
بهذا نكون قد غطينا موضوعنا.
لقد راجعنا بعض إمكانات ميزة "الإنشاء عن بُعد".
هناك بعض الميزات الأخرى التي لم نتحدث عنها.
إنّه إطار عمل غني جدًا.
أشجّعك على الاطّلاع على المستندات المتاحة والمستندات القادمة.
هدفنا هو بناء مستقبل يتيح استخدام Remote Compose للتعامل مع جميع مساحات العرض المختلفة عن بُعد.
وقد رأيتم بعضها، مثل Wear والقطع.
ولكن هناك المزيد في المستقبل.
أود أيضًا أن أقول إن هذا مشروع مستمر.
وهي قيد التطوير النشط.
نحن، كما تعلمون، نطور كل ذلك في العلن.
يمكنك الاطّلاع على ما نفعله.
لكن، أودّ أن أقول إنّنا نريد حقًا معرفة آراء المطوّرين، أليس كذلك؟
ونحن نعمل على تطوير هذه الميزة من أجلك.
لذا، إذا كانت لديك أفكار إضافية أو ميزات غير متوفّرة، يُرجى التواصل معنا.
يسرّنا معرفة ذلك.
سأنهي هذا بهذا، العرض التقديمي بأكمله الذي رأيته للتو، من الواضح، تم إجراؤه في Remote Compose، بما في ذلك الرسوم المتحركة.