الفرق بين المراجعتين لصفحة: «ReactNative/app extensions»

من موسوعة حسوب
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: ملحقات التطبيقات (iOS) في React Native}}</noinclude>
<noinclude>{{DISPLAYTITLE: ملحقات التطبيقات (iOS) في React Native}}</noinclude>
==ملحقات التطبيقات (App Extensions)==
==ملحقات التطبيقات (App Extensions)==
تتيح لك ملحقات التطبيقات توفير وظائف مخصّصة ومحتوًى خارج تطبيقك الرئيسي. هناك أنواع مختلفة من ملحقات التطبيقات على نظام التشغيل iOS، جميعها مذكورة في [https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/index.html#//apple_ref/doc/uid/TP40014214-CH20-SW1 دليل برمجة ملحقات التطبيقات]. في هذا الدليل، سنغطي بإيجاز كيف يمكنك الاستفادة من ملحقات التطبيقات على نظام التشغيل iOS.
تتيح لك ملحقات التطبيقات توفير وظائف مخصّصة ومحتوًى خارج تطبيقك الرئيسي. هناك أنواع مختلفة من ملحقات التطبيقات على نظام التشغيل iOS، جميعها مذكورة في [https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/index.html#//apple_ref/doc/uid/TP40014214-CH20-SW1 دليل برمجة ملحقات التطبيقات]. في هذا الدليل، سنغطي بإيجاز كيف يمكنك الاستفادة من ملحقات التطبيقات على نظام التشغيل iOS.


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


نوصي بشدة بمشاهدة حديث Conrad Kramer حول [https://cocoaheads.tv/memory-use-in-extensions-by-conrad-kramer/ استخدام الذاكرة في الملحقات] لمعرفة المزيد حول هذا الموضوع.
نوصي بشدة بمشاهدة حديث Conrad Kramer حول [https://cocoaheads.tv/memory-use-in-extensions-by-conrad-kramer/ استخدام الذاكرة في الملحقات] لمعرفة المزيد حول هذا الموضوع.

مراجعة 19:11، 30 مارس 2021


ملحقات التطبيقات (App Extensions)

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

استخدام الذاكرة في الملحقات

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

نوصي بشدة بمشاهدة حديث Conrad Kramer حول استخدام الذاكرة في الملحقات لمعرفة المزيد حول هذا الموضوع.

أداة اليوم (Today widget)

الحد الأقصى لذاكرة أداة اليوم هو 16 ميغابايت. قد تعمل تطبيقات أداة اليوم باستخدام React Native بشكل غير متوقّع لأن استخدام الذاكرة قد يكون مرتفعًا للغاية. يمكنك معرفة ما إذا كانت أداة "اليوم" الخاصة بك تتجاوز حد الذاكرة إذا كانت تعطي الرسالة "Unable to Load":

احرص دائمًا على اختبار ملحقات التطبيقات على جهاز فعليّ، ولكن اعلم أنّ ذلك قد لا يكون كافيًا، لا سيما عند التعامل مع أدوات "اليوم". من المرجح أن تتجاوز البناءات المبنيّة مع تفعيل التنقيح (Debug-configured builds) حدود الذاكرة، بينما لا تفشل بناءات الإصدار (release-configured builds) على الفور. نوصي بشدة باستخدام آلات Xcode لتحليل استخدامك للذاكرة في العالم الحقيقي، حيث من المحتمل جدًا أن يكون بناء الإصدار الخاص بك قريبًا جدًا من حد 16‎MB‎. في مواقف كهذه، من السهل تجاوز حد 16 ميجابايت عن طريق إجراء عمليات شائعة، مثل جلب بيانات من واجهة برمجة تطبيقات (API) معيّنة.

لتجربة حدود تطبيقات أداة React Native الخاصة باليوم، حاول توسيع المثال react-native-today-widget.

ملحقات تطبيقات أخرى

تحتوي الأنواع الأخرى من ملحقات التطبيقات على حدود ذاكرة أكبر من أداة "اليوم". على سبيل المثال، ملحقات لوحة المفاتيح المخصصة (Custom Keyboard extensions) محدودة في 48 ميجابايت، وملحقات المشاركة (Share) محدودة في 120 ميجابايت. يعد إجراء (Implementing) ملحقات تطبيقات كهذه مع React Native أحسن. الملحقة react-native-ios-share-extension أحد الأمثلة الدلالية على هذا.

مصادر