أخبار المنتجات

إصدار مستقر من مكتبة Jetpack Navigation 3

قراءة لمدة 3 دقائق
Don Turner
مهندسة علاقات المطوّرين

أصبح الإصدار 1.0 من مكتبة Jetpack Navigation 3 مستقرًا 🎉. يمكنك استخدامه في تطبيقاتك المتاحة للإنتاج اليوم. تستخدمه JetBrains حاليًا في تطبيق KotlinConf.

‫Navigation 3 هي مكتبة تنقّل جديدة تم إنشاؤها من البداية لتضمّ حالة Jetpack Compose state. تمنحك هذه المكتبة تحكّمًا كاملاً في الأنشطة السابقة، وتساعدك في الاحتفاظ بحالة التنقّل، وتتيح لك إنشاء تنسيقات متكيّفة بسهولة (مثل عرض على شكل قائمة مع تفاصيل). تتوفّر أيضًا نسخة من عدّة منصات من JetBrains.

ما سبب إنشاء مكتبة جديدة؟

تم تصميم مكتبة Jetpack Navigation الأصلية (التي تُعرف الآن باسم Nav2) قبل 7 أعوام، ومع أنّها تحقق أهدافها الأصلية بشكل جيد وتم تحسينها بشكل متكرر، فقد تغيّرت طريقة إنشاء التطبيقات الآن بشكل جذري. 

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

nav-display.png

يمكن أن يؤدي استخدام Nav2 أيضًا إلى صعوبة توفير مصدر واحد للبيانات لحالة التنقّل لأنّها تتضمّن حالتها الداخلية الخاصة. في Nav3، يمكنك توفير حالتك الخاصة، ما يمنحك تحكّمًا كاملاً.

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

يتيح لك هذا النهج ما يلي: 

يمكنك الاطّلاع على مزيد من المعلومات عن تصميمها وميزاتها في مدوّنة الإطلاق

نقل البيانات من Navigation 2

إذا كنت تستخدم Nav2 حاليًا، وتحديدًا Navigation Compose، عليك التفكير في نقل البيانات إلى Nav3. لمساعدتك في ذلك، يتوفّر دليل لنقل البيانات . في ما يلي الخطوات الرئيسية: 

  1. إضافة الاعتمادات في Navigation 3
  2. تعديل مسارات التنقّل لتنفيذ NavKey ليس من الضروري أن تنفّذ مساراتك هذه الواجهة لاستخدام Nav3، ولكن إذا فعلت ذلك، يمكنك الاستفادة من وظيفة rememberNavBackStack في Nav3 لإنشاء سجلّ تصفّح سابق دائم.
  3. إنشاء فئات لتخزين حالة التنقّل وتعديلها، حيث يتم تخزين سجلّات التصفّح السابقة
  4. استبدال NavController بهذه الفئات
  5. نقل وجهاتك من NavGraph في NavHost إلى entryProvider
  6. استبدال NavHost بـ NavDisplay

تجربة نقل بيانات وكيل الذكاء الاصطناعي

يمكنك تجربة استخدام وكيل ذكاء اصطناعي لقراءة دليل نقل البيانات وتنفيذ الخطوات في مشروعك. لتجربة ذلك باستخدام Gemini في "وضع الوكيل" في "استوديو Android"، اتّبِع الخطوات التالية:

  • احفظ هذه النسخة بتنسيق Markdown من الدليل في مشروعك.
  • الصِق هذا الطلب في الوكيل (ولكن لا تضغط على مفتاح الإدخال): "نقل بيانات هذا المشروع إلى Navigation 3 باستخدام ".
  • اكتب ‎ @migration-guide.md، ما سيؤدي إلى توفير الدليل كسياق للوكيل. 

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

يُرجى إرسال ملاحظاتك هنا لمعرفة أدائك أو أداء وكيلك.

وصفات تنقّل رائعة للسيناريوهات الشائعة

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

code-recipes.png

تتوفّر حاليًا 19 وصفة، بما في ذلك ما يلي: 

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

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

ملخّص

لبدء استخدام Nav3، اطّلِع على المستندات والوصفات. بالإضافة إلى ذلك، ترقَّب أسبوعًا كاملاً من المحتوى الفني، بما في ذلك: 

  • فيديو مفصّل عن واجهة برمجة التطبيقات يغطّي التصميم المعياري والرسوم المتحركة والتنسيقات المتكيّفة
  • جلسة أسئلة وأجوبة مباشرة (AMA) مع المهندسين الذين أنشأوا Nav3

يبدأ "أسبوع تسليط الضوء على Nav3" في 1 ديسمبر 2025. 


كالعادة، يُرجى الإبلاغ عن أي مشاكل تواجهك هنا

تأليف:

متابعة القراءة