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

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

مدّة القراءة: 3 دقائق
عرض الملف الشخصي لـ "دون تيرنر"
Don Turner مهندسة علاقات المطوّرين

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

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

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

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

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

nav-display.png

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

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

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

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

نقل البيانات من "شريط التنقّل 2"

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

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

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

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

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

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

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

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

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

code-recipes.png

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

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

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

ملخّص

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

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

يبدأ أسبوع Nav3 Spotlight في 1 ديسمبر 2025. 


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

من تأليف:
متابعة القراءة