Jetpack Navigation 3 نسخه ۱.۰ پایدار است 🎉. همین امروز آن را در برنامههای تولیدیتان استفاده کنید. JetBrains درحالحاضر از آن در برنامه KotlinConf خود استفاده میکند.
Navigation 3 کتابخانه پیمایش جدیدی است که از ابتدا برای پذیرش حالت Jetpack Compose ساخته شده است. این مؤلفه کنترل کامل پشته قبلیها را به شما میدهد، به شما کمک میکند وضعیت پیمایش را حفظ کنید، و به شما امکان میدهد بهراحتی چیدمانهای تطبیقی (مانند فهرست-جزئیات) ایجاد کنید. حتی یک نسخه چندسکویی از JetBrains وجود دارد.
چرا کتابخانه جدید؟
کتابخانه اصلی Jetpack Navigation (اکنون Nav2) ۷ سال پیش طراحی شد و اگرچه بهخوبی به اهداف اصلی خود خدمت میکند و بهطور تکراری بهبود یافته است، اما نحوه ساخت برنامهها اکنون بهطور اساسی تغییر کرده است.
برنامهنویسی واکنشی با میانای کاربری اعلانی اکنون به یک هنجار تبدیل شده است. Nav3 از این رویکرد استقبال میکند. برای مثال، NavDisplay (مؤلفه میانای کاربر Nav3 که صفحههایتان را نمایش میدهد) بهسادگی فهرستی از کلیدها را (که هرکدام نشاندهنده یک صفحه است) که توسط وضعیت Compose پشتیبانی میشود مشاهده میکند و وقتی آن فهرست تغییر میکند، میانای کاربر خود را بهروز میکند.
Nav2 همچنین میتواند داشتن منبع واحد حقیقت را برای وضعیت پیمایش شما دشوار کند زیرا وضعیت داخلی خودش را دارد. با Nav3، شما وضعیت خود را ارائه میدهید که به شما کنترل کامل میدهد.
درنهایت، شما انعطافپذیری و سفارشیسازی بیشتری درخواست کردید. بهجای داشتن یک میانای برنامهسازی کاربردی یکپارچه و واحد، Nav3 میاناهای برنامهسازی کاربردی کوچکتر و مجزایی (یا «بلوکهای سازنده») ارائه میدهد که میتوانند باهم ترکیب شوند تا عملکرد پیچیدهای ایجاد کنند. Nav3 خودش از این بلوکهای سازنده برای ارائه پیشفرضهای معقول برای موارد استفاده پیمایش بهخوبی تعریفشده استفاده میکند.
این رویکرد به شما امکان میدهد:
- سفارشیسازی پویانماییهای صفحهنمایش در سطح کلی و فردی
- نمایش همزمان چند قاب و ایجاد چیدمانهای انعطافپذیر بااستفاده از Scenes API
- اگر رفتار سفارشی میخواهید، بهراحتی مؤلفههای Nav3 را با پیادهسازیهای خودتان جایگزین کنید
درباره طراحی و ویژگیهای آن در وبلاگ راهاندازی بیشتر بخوانید.
انتقال از Navigation 2
اگر درحالحاضر از Nav2، بهویژه Navigation Compose، استفاده میکنید، باید به Nav3 مهاجرت کنید. برای کمک به شما در این زمینه، راهنمای انتقال وجود دارد. مراحل کلیدی عبارتاند از:
- وابستگیهای پیمایش ۳ را اضافه کنید.
- مسیرهای پیمایش را برای پیادهسازی NavKey بهروز کنید. مسیرهای شما برای استفاده از Nav3 نیازی به پیادهسازی این میانای کاربری ندارند، اما اگر این کار را انجام دهند، میتوانید از تابع rememberNavBackStack در Nav3 برای ایجاد یک پشته قبلیها پایدار استفاده کنید.
- کلاسهایی برای نگهداری و اصلاح وضعیت پیمایش خود ایجاد کنید - این جایی است که پشتههای قبلیها شما نگهداری میشوند.
- NavController را با این کلاسها جایگزین کنید.
- مقصدهایتان را از NavGraph مربوط به NavHost به entryProvider منتقل کنید.
- NavHost را با NavDisplay جایگزین کنید.
درحال آزمایش انتقال عامل هوشوارهای
شاید بخواهید از عامل هوش مصنوعی برای خواندن راهنمای انتقال و انجام مراحل در پروژهتان استفاده کنید. برای امتحان کردن این مورد با Gemini در «حالت عامل» از «استودیو Android»:
- این نسخه نشانگذاری راهنما را در پروژه خود ذخیره کنید.
- این پیامواره را در عامل جایگذاری کنید (اما کلید Enter را فشار ندهید): «این پروژه را بااستفاده از به Navigation 3 منتقل کن».
- @migration-guide.md را تایپ کنید - این کار راهنما را بهعنوان زمینه به نماینده ارائه میدهد.
مثل همیشه، حتماً تغییرات ایجادشده توسط عامل هوش مصنوعی را بهدقت بررسی کنید - ممکن است اشتباه کند!
دوست داریم بدانیم شما یا نمایندهتان چگونه عمل کردید، لطفاً بازخوردتان را اینجا ارسال کنید.
دستورالعملهای پیمایش Tasty برای سناریوهای رایج
برای موارد استفاده رایج اما ظریف، یک مخزن دستورالعمل داریم. این نشان میدهد که چگونه میاناهای برنامهسازی کاربردی Nav3 را به روشی خاص ترکیب کنید و به شما امکان میدهد دستورالعمل را براساس نیازهای خاص خود انتخاب یا اصلاح کنید. اگر دستورالعملی محبوب شود، درنظر میگیریم که بخشهای غیرظریف آن را به کتابخانه اصلی Nav3 یا کتابخانههای برافزا «ارتقا» دهیم.
درحالحاضر ۱۹ دستور پخت وجود دارد، ازجمله برای:
- پشتههای قبلیها چندگانه
- مدولارسازی و تزریق وابستگی
- ارسال آرگومانهای پیمایش به ViewModels (ازجمله بااستفاده از Koin)
- برگرداندن نتایج از صفحهها براساس رویدادها و براساس وضعیت مشترک
درحالحاضر روی دستورالعمل پیوندهای عمیق و همچنین ادغام Koin کار میکنیم و موارد بسیار دیگری را نیز برنامهریزی کردهایم. مهندسی از JetBrains نیز نسخه چندپلاتفرمی Compose از دستورالعملها را منتشر کرده است.
اگر مورد استفاده رایجی دارید که میخواهید دستورالعمل آن را ببینید، لطفاً درخواست دستورالعمل ارسال کنید.
خلاصه
برای شروع کار با Nav3، اسناد و دستورالعملها را بررسی کنید. بهعلاوه، منتظر یک هفته کامل محتوای فنی باشید، ازجمله:
- ویدیویی با جزئیات کامل درباره میانای برنامهسازی کاربردی که به مدولارسازی، پویانماییها، و چیدمانهای تطبیقی میپردازد.
- یک جلسه زنده «هرچه میخواهید بپرسید» (AMA) با مهندسانی که Nav3 را ساختهاند.
«هفته برجسته Nav3» از ۱ دسامبر ۲۰۲۵ شروع میشود.
مثل همیشه، اگر مشکلی پیدا کردید، لطفاً آن را در اینجا ثبت کنید.
-
اخبار محصولدر سال ۲۰۲۵، بومسازگان Android بسیار فراتر از تلفن رشد کرده است. امروز، توسعهدهندگان این فرصت را دارند که به بیشاز ۵۰۰ میلیون دستگاه فعال، ازجمله دستگاههای تاشو، رایانههای لوحی، واقعیت گسترده، Chromebook، و خودروهای سازگار دسترسی پیدا کنند.
Fahd Imtiaz • ۲ دقیقه خواندن -
اخبار محصولامروز در «نشست تولیدکنندگان نرمافزار Android»، دردسترس بودن گسترده بسیاری از ابزارها و میاناهای برنامهسازی کاربردی را اعلام میکنیم که برای حذف اصطکاک روزمره و ارائه انعطافپذیری بیشتر به شما برای ساختن برنامههای Android عالی طراحی شدهاند.
Matthew McCullough • زمان خواندن: ۴ دقیقه -
اخبار محصولAndroid Studio Rabbit 2 اکنون پایدار است و برای استفاده در تولید آماده است. این نسخه شامل ویژگیهای کلیدی برای بهبود توسعه شما است، ازجمله Bring Your Own Agent، ویژگیهای جدید «شبیهساز واقعیت گسترده»، بهروزرسانی LeakCanary، ابزار جدید مدیریت مهارتهای عامل، بازبینی کد با هوش مصنوعی، و موارد دیگر.
Matthew Warner • ۳ دقیقه خواندن
جدیدترین اطلاعات آماری توسعه Android را بهصورت هفتگی در صندوق ورودیتان دریافت کنید.