प्रॉडक्ट से जुड़ी खबरें

Jetpack Navigation 3 का स्टेबल वर्शन उपलब्ध है

पढ़ने में 3 मिनट लगेंगे
डॉन टर्नर की प्रोफ़ाइल देखें
Don Turner डेवलपर रिलेशंस इंजीनियर

Jetpack Navigation 3 का वर्शन 1.0 स्टेबल है 🎉. इसे आज ही अपने प्रोडक्शन ऐप्लिकेशन में इस्तेमाल करें. JetBrains इसका इस्तेमाल पहले से ही अपने KotlinConf ऐप्लिकेशन में कर रहा है.

Navigation 3, नेविगेशन की नई लाइब्रेरी है. इसे Jetpack Compose स्टेट को ध्यान में रखकर बनाया गया है. इससे आपको अपने बैक स्टैक पर पूरा कंट्रोल मिलता है. साथ ही, नेविगेशन की स्थिति को बनाए रखने में मदद मिलती है. इसके अलावा, इससे आपको अडैप्टिव लेआउट (जैसे कि सूची-जानकारी) आसानी से बनाने की सुविधा मिलती है. JetBrains का क्रॉस-प्लैटफ़ॉर्म वर्शन भी उपलब्ध है.

नई लाइब्रेरी क्यों?

Jetpack Navigation लाइब्रेरी (अब Nav2) को सात साल पहले डिज़ाइन किया गया था. यह अपने मूल लक्ष्यों को अच्छी तरह से पूरा करती है और इसमें समय-समय पर सुधार भी किया गया है. हालांकि, अब ऐप्लिकेशन बनाने का तरीका पूरी तरह से बदल गया है. 

अब डिक्लेरेटिव यूज़र इंटरफ़ेस (यूआई) के साथ रिएक्टिव प्रोग्रामिंग का इस्तेमाल करना आम बात हो गई है. Nav3 इसी तरीके का इस्तेमाल करता है. उदाहरण के लिए, NavDisplay (Nav3 का यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट, जो आपकी स्क्रीन दिखाता है) सिर्फ़ Compose की स्थिति के साथ काम करने वाली कुंजियों की सूची को देखता है. जब यह सूची बदलती है, तब यह अपने यूज़र इंटरफ़ेस (यूआई) को अपडेट करता है.

nav-display.png

Nav2 में नेविगेशन की स्थिति के लिए, एक ही सोर्स से मिली जानकारी पाना मुश्किल हो सकता है, क्योंकि इसकी अपनी इंटरनल स्थिति होती है. Nav3 की मदद से, अपनी स्थिति की जानकारी दी जा सकती है. इससे आपको पूरा कंट्रोल मिलता है.

आखिर में, आपने ज़्यादा सुविधाओं और पसंद के मुताबिक बनाने की सुविधा के बारे में पूछा था. Nav3 में एक ही एपीआई के बजाय, छोटे और अलग-अलग एपीआई (या "बिल्डिंग ब्लॉक") उपलब्ध कराए जाते हैं. इन्हें मिलाकर, जटिल फ़ंक्शन बनाए जा सकते हैं. Nav3, इन मुख्य कॉम्पोनेंट का इस्तेमाल करके नेविगेशन के इस्तेमाल के मामलों के लिए, डिफ़ॉल्ट तौर पर काम करने वाले विकल्प उपलब्ध कराता है. 

इस तरीके से, ये काम किए जा सकते हैं: 

इसके डिज़ाइन और सुविधाओं के बारे में ज़्यादा जानने के लिए, लॉन्च ब्लॉग पढ़ें. 

Navigation 2 से माइग्रेट करना

अगर पहले से ही Nav2 और खास तौर पर Navigation Compose का इस्तेमाल किया जा रहा है, तो आपको Nav3 पर माइग्रेट करना चाहिए. इसमें आपकी मदद करने के लिए, डेटा को दूसरी जगह भेजने से जुड़ी गाइड उपलब्ध है. मुख्य चरण ये हैं: 

  1. Navigation 3 डिपेंडेंसी जोड़ें.
  2. NavKey को लागू करने के लिए, नेविगेशन के रूट अपडेट करें. Nav3 का इस्तेमाल करने के लिए, आपके रास्तों को इस इंटरफ़ेस को लागू करने की ज़रूरत नहीं है. हालांकि, अगर वे ऐसा करते हैं, तो Nav3 के rememberNavBackStack फ़ंक्शन का फ़ायदा उठाया जा सकता है. इससे एक परसिस्टेंट बैक स्टैक बनाया जा सकता है.
  3. नेविगेशन की स्थिति को सेव करने और उसमें बदलाव करने के लिए क्लास बनाएं. बैक स्टैक यहीं सेव किए जाते हैं.
  4. NavController को इन क्लास से बदलें.
  5. अपने डेस्टिनेशन को NavHost के NavGraph से entryProvider में ले जाएं.
  6. NavHost को NavDisplay से बदलें.

एआई एजेंट को माइग्रेट करने से जुड़े एक्सपेरिमेंट करना

माइग्रेशन गाइड को पढ़ने और अपने प्रोजेक्ट पर दिए गए चरणों को पूरा करने के लिए, एआई एजेंट का इस्तेमाल किया जा सकता है. Android Studio के एजेंट मोड में Gemini के साथ इसे आज़माने के लिए:

  • गाइड के इस मार्कडाउन वर्शन को अपने प्रोजेक्ट में सेव करें.
  • इस प्रॉम्प्ट को एजेंट में चिपकाएं (लेकिन Enter न दबाएं): "इस प्रोजेक्ट को " का इस्तेमाल करके Navigation 3 पर माइग्रेट करें.
  • @migration-guide.md टाइप करें. इससे एजेंट को गाइड का कॉन्टेक्स्ट मिलेगा. 

हमेशा की तरह, यह पक्का करें कि आपने एआई एजेंट की ओर से किए गए बदलावों की ध्यान से समीक्षा कर ली हो. इससे गलतियां हो सकती हैं! 

हमें बताएं कि आपको या आपके एजेंट को कैसा अनुभव मिला. इसके लिए, कृपया यहां अपने सुझाव/राय दें या शिकायत करें.

सामान्य स्थितियों के लिए नेविगेशन की बेहतरीन रेसिपी

सामान्य लेकिन बारीकी से इस्तेमाल करने के उदाहरणों के लिए, हमारे पास रेसिपी का एक डेटा स्टोर है. इसमें Nav3 API को खास तरीके से इस्तेमाल करने का तरीका बताया गया है. इससे आपको अपनी ज़रूरतों के हिसाब से रेसिपी चुनने या उसमें बदलाव करने में मदद मिलेगी. अगर कोई रेसिपी लोकप्रिय हो जाती है, तो हम उसके सामान्य हिस्सों को Nav3 की मुख्य लाइब्रेरी या ऐड-ऑन लाइब्रेरी में शामिल करने पर विचार करेंगे. 

code-recipes.png

फ़िलहाल, 19 रेसिपी उपलब्ध हैं. इनमें ये शामिल हैं: 

हम फ़िलहाल, डीपलिंक की रेसिपी पर काम कर रहे हैं. इसके अलावा, Koin इंटिग्रेशन पर भी काम किया जा रहा है. साथ ही, हमने कई अन्य रेसिपी बनाने का प्लान भी बनाया है. JetBrains के एक इंजीनियर ने भी रेसिपी का Compose Multiplatform वर्शन पब्लिश किया है.

अगर आपको किसी ऐसे सामान्य इस्तेमाल के उदाहरण के लिए रेसिपी देखनी है जिसके बारे में यहां नहीं बताया गया है, तो कृपया रेसिपी का अनुरोध करें

खास जानकारी

Nav3 का इस्तेमाल शुरू करने के लिए, दस्तावेज़ और रेसिपी देखें. इसके अलावा, पूरे हफ़्ते तकनीकी कॉन्टेंट देखें. इसमें ये शामिल हैं: 

  • मॉड्यूलरिटी, ऐनिमेशन, और अडैप्टिव लेआउट के बारे में ज़्यादा जानकारी देने वाला वीडियो.
  • Nav3 को बनाने वाले इंजीनियरों के साथ, लाइव 'मुझसे सवाल पूछें' (एएमए) सेशन.

Nav3 Spotlight Week 1 दिसंबर, 2025 से शुरू होगा. 


अगर आपको कोई समस्या आती है, तो कृपया यहां शिकायत करें

लेखक:
पढ़ना जारी रखें