الإصدار 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 المتكاملة لتشمل أجهزة أخرى غير الهاتف. واليوم، تتاح للمطوّرين فرصة الوصول إلى أكثر من 500 مليون جهاز نشط، بما في ذلك الأجهزة القابلة للطي والأجهزة اللوحية وأجهزة الواقع الممتد وأجهزة Chromebook والسيارات المتوافقة.
Fahd Imtiaz • مدّة القراءة: دقيقتان -
أخبار المنتجاتفي عصر الذكاء الاصطناعي، لم يعُد المستخدمون يكتفون بالنقر على التطبيقات، بل يعبّرون عن أهداف عالية المستوى ويتوقّعون من وكلاء الذكاء الاصطناعي، مثل Gemini، إكمال مهام متعددة الخطوات، أحيانًا على تطبيقات متعددة على أجهزتهم.
Jingyu Shi • مدّة القراءة: 4 دقائق -
أخبار المنتجاتواليوم، في مؤتمر Android Dev Summit، نعلن عن توفير العديد من الأدوات وواجهات برمجة التطبيقات المصمَّمة لإزالة العقبات اليومية ومنحك المزيد من المرونة لإنشاء تطبيقات Android رائعة.
Matthew McCullough • مدّة القراءة: 4 دقائق
يمكنك الحصول على آخر الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.