أصبح الإصدار 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. لمساعدتك في ذلك، يتوفّر دليل نقل البيانات. في ما يلي الخطوات الرئيسية:
- أضِف اعتماديات التنقّل 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 Bench، وهي قائمة ترتيب للنماذج اللغوية الكبيرة في مهام تطوير تطبيقات Android في العالم الحقيقي. منذ ذلك الحين، حسّنّا معيار الأداء استنادًا إلى ملاحظاتكم، بما في ذلك تقييم نماذج المصادر المفتوحة وإضافة سمات التكلفة والكفاءة إلى قائمة الصدارة.
يستغرق الاطِّلاع على المقال 3 دقائق -
أخبار المنتجاتنحن ملتزمون في Google Play بتقديم أفضل تجربة ممكنة للمستخدمين، مع ضمان توفّر الأدوات والإمكانات اللازمة لنجاح المطوّرين.
Paul Feng • يستغرق الاطّلاع على المقال 3 دقائق
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.