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

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 स्पॉटलाइट हफ़्ता, 1 दिसंबर, 2025 से शुरू होगा. 


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

लेखक:

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