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

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

مدّة القراءة: 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 نفسها هذه الوحدات الأساسية لتوفير إعدادات تلقائية معقولة لحالات استخدام التنقّل المحدّدة جيدًا. 

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

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

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

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

  1. أضِف اعتماديات الإصدار 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. 


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

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