أصبح الإصدار 1.0 من Jetpack Navigation 3 ثابتًا 🎉. يمكنك استخدامه في تطبيقاتك على الإصدار العلني اليوم. تستخدم شركة JetBrains هذه الميزة بالفعل في تطبيق KotlinConf.
Navigation 3 هي مكتبة تنقّل جديدة تم إنشاؤها من البداية للاستفادة من الحالة في Jetpack Compose. يمنحك تحكّمًا كاملاً في الأنشطة السابقة، ويساعدك في الاحتفاظ بحالة التنقّل، ويتيح لك إنشاء تخطيطات قابلة للتكيّف بسهولة (مثل عرض على شكل قائمة مع تفاصيل). تتوفّر أيضًا نسخة من عدّة منصات من JetBrains.
لماذا مكتبة جديدة؟
تم تصميم مكتبة Jetpack Navigation الأصلية (المعروفة الآن باسم Nav2) قبل 7 سنوات، وعلى الرغم من أنّها تخدم أهدافها الأصلية بشكل جيد وتم تحسينها بشكل متكرر، إلا أنّ طريقة إنشاء التطبيقات قد تغيّرت بشكل أساسي.
أصبح الآن من الشائع استخدام البرمجة التفاعلية مع واجهة مستخدم تعريفية. تتّبع Nav3 هذا النهج. على سبيل المثال، تراقب NavDisplay (مكوّن واجهة المستخدم Nav3 الذي يعرض شاشاتك) ببساطة قائمة بالمفاتيح (يمثّل كل منها شاشة) تستند إلى حالة Compose وتعدّل واجهة المستخدم عند تغيُّر هذه القائمة.
يمكن أن يصعّب Nav2 أيضًا الحصول على مصدر واحد للحقيقة لحالة التنقّل لأنّه يتضمّن حالته الداخلية الخاصة. باستخدام Nav3، يمكنك توفير حالتك الخاصة، ما يمنحك تحكّمًا كاملاً.
أخيرًا، طلبت المزيد من المرونة وإمكانية التخصيص. بدلاً من توفير واجهة برمجة تطبيقات واحدة ومتكاملة، يوفّر Nav3 واجهات برمجة تطبيقات أصغر ومنفصلة (أو "وحدات أساسية") يمكن دمجها معًا لإنشاء وظائف معقّدة. تستخدم Nav3 هذه الوحدات الأساسية لتوفير إعدادات تلقائية منطقية لحالات استخدام التنقّل المحدّدة جيدًا.
يتيح لك هذا النهج ما يلي:
- تخصيص الصور المتحركة على الشاشة على المستويَين العام والفردي
- عرض لوحات متعددة في الوقت نفسه وإنشاء تصاميم مرنة باستخدام Scenes API
- يمكنك بسهولة استبدال مكوّنات Nav3 بتنفيذاتك الخاصة إذا كنت تريد سلوكًا مخصّصًا
يمكنك الاطّلاع على مزيد من المعلومات حول تصميمها وميزاتها في مدوّنة الإطلاق.
نقل البيانات من Navigation 2
إذا كنت تستخدم Nav2 حاليًا، وتحديدًا Navigation Compose، عليك التفكير في نقل البيانات إلى Nav3. لمساعدتك في ذلك، يتوفّر دليل نقل البيانات. في ما يلي الخطوات الرئيسية:
- أضِف اعتماديات Navigation 3.
- عدِّل مسارات التنقّل لتنفيذ NavKey. لا يجب أن تنفّذ مساراتك هذه الواجهة لاستخدام Nav3، ولكن في حال تنفيذها، يمكنك الاستفادة من وظيفة rememberNavBackStack في Nav3 لإنشاء سجلّ الأنشطة السابقة الدائم.
- أنشئ فئات لتخزين حالة التنقّل وتعديلها، وهي المكان الذي يتم فيه تخزين سجلّات الرجوع.
- استبدِل NavController بهذه الفئات.
- انقل وجهاتك من NavGraph في NavHost إلى entryProvider.
- استبدِل NavHost بـ NavDisplay.
تجربة نقل وكيل الذكاء الاصطناعي
يمكنك تجربة استخدام وكيل ذكاء اصطناعي لقراءة دليل النقل وتنفيذ الخطوات في مشروعك. لتجربة ذلك باستخدام ميزة Agent Mode ضمن "Gemini في استوديو Android"، اتّبِع الخطوات التالية:
- احفظ نسخة Markdown من الدليل في مشروعك.
- ألصِق هذا الطلب في الوكيل (ولكن لا تضغط على Enter): "نقل هذا المشروع إلى Navigation 3 باستخدام ".
- اكتب @migration-guide.md، وسيوفّر ذلك الدليل كسياق للوكيل.
وكالعادة، احرص على مراجعة التغييرات التي يجريها وكيل الذكاء الاصطناعي بعناية، فقد يرتكب أخطاء.
يسرّنا معرفة رأيك في أدائك أو أداء وكيلك، لذا يُرجى إرسال ملاحظاتك هنا.
وصفات تنقّل لذيذة للسيناريوهات الشائعة
بالنسبة إلى حالات الاستخدام الشائعة ولكن الدقيقة، لدينا مستودع للوصفات. يوضّح هذا المثال كيفية دمج واجهات برمجة التطبيقات Nav3 بطريقة معيّنة، ما يتيح لك اختيار الوصفة أو تعديلها لتناسب احتياجاتك المحدّدة. إذا تبيّن أنّ إحدى الوصفات رائجة، سننظر في "نقل" الأجزاء غير الدقيقة منها إلى مكتبة Nav3 الأساسية أو مكتبات الوظائف الإضافية.
تتوفّر حاليًا 19 وصفة، بما في ذلك:
- حِزم سابقة متعددة
- التصميم المعياري وإدخال التبعيات
- تمرير وسيطات التنقّل إلى ViewModels (بما في ذلك استخدام Koin)
- عرض النتائج من الشاشات حسب الأحداث وحسب الحالة المشترَكة
نعمل حاليًا على إعداد مسبق للروابط لصفحات معيّنة، بالإضافة إلى عملية دمج مع Koin، ولدينا الكثير من الإعدادات المسبقة الأخرى المخطّط لها. نشر مهندس من JetBrains أيضًا إصدارًا من الوصفات متوافقًا مع Compose Multiplatform.
إذا كان لديك حالة استخدام شائعة تريد الاطّلاع على وصفة لها، يُرجى تقديم طلب للحصول على وصفة.
ملخّص
لبدء استخدام Nav3، اطّلِع على المستندات والوصفات. بالإضافة إلى ذلك، ترقبوا أسبوعًا كاملاً من المحتوى التقني، بما في ذلك:
- فيديو يتناول بالتفصيل واجهة برمجة التطبيقات ويشمل التجزئة والرسومات المتحركة والتنسيقات التكيّفية.
- جلسة أسئلة وأجوبة مباشرة مع المهندسين الذين صمّموا Nav3
يبدأ أسبوع Nav3 Spotlight في 1 ديسمبر 2025.
كالعادة، إذا واجهت أي مشاكل، يُرجى إبلاغنا بها هنا.
متابعة القراءة
-
أخبار المنتجات
في عام 2025، توسّعت منظومة Android المتكاملة لتشمل أجهزة أخرى غير الهواتف. يتيح نظام التشغيل Android للمطوّرين اليوم الوصول إلى أكثر من 500 مليون جهاز نشط، بما في ذلك الأجهزة القابلة للطي والأجهزة اللوحية وأجهزة الواقع الممتد وأجهزة Chromebook والسيارات المتوافقة.
Fahd Imtiaz • مدة القراءة: دقيقتان
-
أخبار المنتجات
تختلف احتياجات كل مطوّر وسير عمله المرتبط بالذكاء الاصطناعي، ومن المهم أن يتمكّن من اختيار الطريقة التي يساعد بها الذكاء الاصطناعي في عملية التطوير. في يناير، أتحنا إمكانية اختيار أي نموذج ذكاء اصطناعي محلي أو عن بُعد لتشغيل وظائف الذكاء الاصطناعي في استوديو Android
Matthew Warner • مدة القراءة: دقيقتان
-
أخبار المنتجات
أصبح الإصدار 3 من استوديو Android Panda ثابتًا وجاهزًا للاستخدام في الإنتاج. يمنحك هذا الإصدار المزيد من التحكّم والتخصيص في مهام سير العمل المستندة إلى الذكاء الاصطناعي، ما يسهّل عليك إنشاء تطبيقات Android عالية الجودة أكثر من أي وقت مضى.
Matt Dyor • قراءة لمدة 3 دقائق
البقاء على اطّلاع على آخر التحديثات
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.