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

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

مدة القراءة: 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 في ميزة Agent Mode ضمن "استوديو Android"، اتّبِع الخطوات التالية:

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

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

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

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

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

code-recipes.png

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

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

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

ملخّص

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

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

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


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

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