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

Jetpack Navigation 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 के एपीआई को किसी खास तरीके से कैसे जोड़ा जाता है. इससे आपको अपनी ज़रूरतों के हिसाब से रेसिपी चुनने या उसमें बदलाव करने की सुविधा मिलती है. अगर कोई रेसिपी लोकप्रिय होती है, तो हम उसके सामान्य हिस्सों को Nav3 की मुख्य लाइब्रेरी या ऐड-ऑन लाइब्रेरी में शामिल करने पर विचार करेंगे. 

code-recipes.png

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

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

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

खास जानकारी

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

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

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


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

लेखक:

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