نسخه ۱.۰ جتپک نویگیشن ۳ پایدار شد 🎉. همین امروز از آن در برنامههای تولیدی خود استفاده کنید. جتبرینز در حال حاضر از آن در برنامه KotlinConf خود استفاده میکند .
Navigation 3 یک کتابخانه ناوبری جدید است که از پایه ساخته شده تا حالت Compose جتپک را در بر بگیرد. این کتابخانه به شما کنترل کامل بر back stack میدهد، به شما کمک میکند حالت ناوبری را حفظ کنید و به شما امکان میدهد به راحتی طرحبندیهای تطبیقی (مانند list-detail) ایجاد کنید. حتی یک نسخه چند پلتفرمی از JetBrains نیز وجود دارد .
چرا کتابخانه جدید؟
کتابخانه ناوبری اصلی Jetpack (که اکنون Nav2 نام دارد) ۷ سال پیش طراحی شد و اگرچه به خوبی اهداف اولیه خود را برآورده میکند و به طور مکرر بهبود یافته است، اما نحوه ساخت برنامهها اکنون اساساً تغییر کرده است.
برنامهنویسی واکنشی با رابط کاربری اعلانی اکنون به یک هنجار تبدیل شده است. Nav3 این رویکرد را پذیرفته است. برای مثال، NavDisplay (کامپوننت رابط کاربری Nav3 که صفحات شما را نمایش میدهد ) به سادگی لیستی از کلیدها (که هر کدام نشان دهنده یک صفحه هستند) را که توسط حالت Compose پشتیبانی میشوند، مشاهده میکند و رابط کاربری خود را هنگامی که آن لیست تغییر میکند، بهروزرسانی میکند.

Nav2 همچنین میتواند داشتن یک منبع واحد برای وضعیت ناوبری شما را دشوار کند زیرا وضعیت داخلی خودش را دارد. با Nav3، شما وضعیت خودتان را ارائه میدهید که به شما کنترل کامل میدهد.
در آخر، شما انعطافپذیری و قابلیت سفارشیسازی بیشتری را درخواست کردید. Nav3 به جای داشتن یک API واحد و یکپارچه، APIهای (یا "بلوکهای سازنده") کوچکتر و جدا از هم ارائه میدهد که میتوانند با هم ترکیب شوند تا عملکردهای پیچیدهای ایجاد کنند. خود Nav3 از این بلوکهای سازنده برای ارائه پیشفرضهای معقول برای موارد استفاده ناوبری کاملاً تعریفشده استفاده میکند.
این رویکرد به شما امکان میدهد:
- انیمیشنهای صفحه نمایش را در سطح کلی و فردی سفارشی کنید
- نمایش همزمان چندین پنل و ایجاد طرحبندیهای انعطافپذیر با استفاده از Scenes API
- اگر میخواهید رفتار سفارشی داشته باشید، به راحتی اجزای Nav3 را با پیادهسازیهای خودتان جایگزین کنید
اطلاعات بیشتر در مورد طراحی و ویژگیهای آن را در وبلاگ راهاندازی بخوانید.
مهاجرت از ناوبری ۲
اگر در حال حاضر از Nav2، به ویژه Navigation Compose ، استفاده میکنید، باید مهاجرت به Nav3 را در نظر بگیرید. برای کمک به شما در این زمینه، یک راهنمای مهاجرت وجود دارد. مراحل کلیدی عبارتند از:
- وابستگیهای ناوبری ۳ را اضافه کنید.
- مسیرهای ناوبری خود را برای پیادهسازی NavKey بهروزرسانی کنید. مسیرهای شما برای استفاده از Nav3 نیازی به پیادهسازی این رابط ندارند، اما اگر این کار را انجام دهند، میتوانید از تابع rememberNavBackStack در Nav3 برای ایجاد یک back stack پایدار استفاده کنید.
- کلاسهایی برای نگهداری و تغییر وضعیت ناوبری خود ایجاد کنید - این جایی است که پشتههای پشتی شما نگهداری میشوند.
- NavController را با این کلاسها جایگزین کنید.
- مقاصد خود را از NavGraph مربوط به NavHost به یک entryProvider منتقل کنید.
- NavHost را با NavDisplay جایگزین کنید.
آزمایش مهاجرت عامل هوش مصنوعی
شاید بخواهید با استفاده از یک عامل هوش مصنوعی، راهنمای مهاجرت را بخوانید و مراحل را روی پروژه خود انجام دهید. برای امتحان کردن این کار با Gemini در حالت عامل اندروید استودیو :
- این نسخه نشانهگذاری شده از راهنما را در پروژه خود ذخیره کنید.
- این اعلان را در عامل قرار دهید (اما اینتر را نزنید): "این پروژه را با استفاده از " به ناوبری ۳ منتقل کنید.
- عبارت @migration-guide.md را تایپ کنید - این دستور، راهنما را به عنوان زمینه در اختیار عامل قرار میدهد.
مثل همیشه، مطمئن شوید که تغییرات ایجاد شده توسط عامل هوش مصنوعی را با دقت بررسی میکنید - ممکن است اشتباه کند!
ما دوست داریم بدانیم که شما یا نماینده شما چگونه عمل کردهاید، لطفاً نظرات خود را اینجا ارسال کنید .
دستور العمل های ناوبری خوشمزه برای سناریوهای رایج
برای موارد استفاده رایج اما ظریف، ما یک مخزن دستور پخت داریم. این مخزن نحوه ترکیب APIهای Nav3 را به روشی خاص نشان میدهد و به شما امکان میدهد دستور پخت را متناسب با نیازهای خاص خود انتخاب یا تغییر دهید. اگر یک دستور پخت محبوب شود، ما بخشهای غیر ظریف آن را به تدریج به کتابخانه اصلی Nav3 یا کتابخانههای افزونه اضافه خواهیم کرد.

در حال حاضر ۱۹ دستور پخت وجود دارد، از جمله برای:
- چندین بک استک
- ماژولارسازی و تزریق وابستگی
- ارسال آرگومانهای ناوبری به ViewModelها (شامل استفاده از Koin)
- برگرداندن نتایج از صفحات نمایش بر اساس رویدادها و وضعیت مشترک
ما در حال حاضر روی یک دستور العمل deeplinks به علاوه ادغام Koin کار میکنیم و برنامههای زیادی برای موارد دیگر داریم. یکی از مهندسان JetBrains همچنین یک نسخه Compose Multiplatform از دستور العملها منتشر کرده است.
اگر یک مورد استفاده رایج دارید که میخواهید دستور پخت آن را ببینید، لطفاً یک درخواست دستور پخت ثبت کنید .
خلاصه
برای شروع کار با Nav3، مستندات و دستورالعملها را بررسی کنید. بهعلاوه، منتظر یک هفته کامل محتوای فنی از جمله موارد زیر باشید:
- یک ویدیوی بررسی عمیق API که ماژولارسازی، انیمیشنها و طرحبندیهای تطبیقی را پوشش میدهد.
- یک پرسش و پاسخ زنده (AMA) با حضور مهندسانی که Nav3 را ساختهاند.
هفته ویژه Nav3 از اول دسامبر ۲۰۲۵ آغاز میشود.
مثل همیشه، اگر مشکلی پیدا کردید، لطفاً آنها را اینجا ثبت کنید .
ادامه مطلب

اخبار محصول
در سال ۲۰۲۵، اکوسیستم اندروید بسیار فراتر از تلفنهای همراه رشد کرده است. امروزه، توسعهدهندگان این فرصت را دارند که به بیش از ۵۰۰ میلیون دستگاه فعال، از جمله دستگاههای تاشو، تبلتها، XR، کرومبوکها و خودروهای سازگار، دسترسی پیدا کنند.
Fahd Imtiaz • ۲ دقیقه مطالعه

اخبار محصول
گردش کار و نیازهای هوش مصنوعی هر توسعهدهنده منحصر به فرد است و مهم است که بتوانید انتخاب کنید هوش مصنوعی چگونه به توسعه شما کمک میکند. در ژانویه، ما قابلیت انتخاب هر مدل هوش مصنوعی محلی یا از راه دور را برای تقویت عملکرد هوش مصنوعی در اندروید استودیو معرفی کردیم.
Matthew Warner • ۲ دقیقه مطالعه

اخبار محصول
اندروید استودیو پاندا ۳ اکنون پایدار و آماده استفاده در محیط تولید است. این نسخه به شما کنترل و سفارشیسازی بیشتری بر روی گردشهای کاری مبتنی بر هوش مصنوعی میدهد و ساخت برنامههای اندروید با کیفیت بالا را آسانتر از همیشه میکند.
Matt Dyor • ۳ دقیقه مطالعه
در جریان باشید
جدیدترین بینشهای توسعه اندروید را به صورت هفتگی در صندوق ورودی خود دریافت کنید.




