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

Jetpack Navigation 3 स्टेबल है

तीन मिनट में पढ़ें
Don Turner
डेवलपर रिलेशंस इंजीनियर

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

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

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

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

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

nav-display.png

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

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

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

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

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

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

  1. नेविगेशन 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 से शुरू होगा. 


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

इसे लिखा है:

पढ़ना जारी रखें