Jetpack Navigation 3 का वर्शन 1.0 अब स्थिर है 🎉. इसलिए, आज ही से इसका इस्तेमाल अपने प्रोडक्शन ऐप्लिकेशन में करें. 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 पर माइग्रेट करना चाहिए. इसमें आपकी मदद करने के लिए, एक माइग्रेशन गाइड उपलब्ध है. इसके लिए, ये मुख्य चरण पूरे करने होंगे:
- Navigation 3 की डिपेंडेंसी जोड़ना.
- NavKey को लागू करने के लिए, नेविगेशन के रूट अपडेट करना. Nav3 का इस्तेमाल करने के लिए, आपके रूट को इस इंटरफ़ेस को लागू करने की ज़रूरत नहीं है. हालांकि, अगर वे ऐसा करते हैं, तो Nav3 के rememberNavBackStack फ़ंक्शन का फ़ायदा उठाया जा सकता है. इससे, परसिस्टेंट पिछली गतिविधियां बनाई जा सकती हैं.
- नेविगेशन की स्थिति को सेव करने और उसमें बदलाव करने के लिए क्लास बनाना. यहीं पर आपके बैक स्टैक सेव किए जाते हैं.
- NavController को इन क्लास से बदलना.
- अपने डेस्टिनेशन को NavHost के NavGraph से हटाकर, entryProvider में ले जाना.
- NavHost को NavDisplay से बदलना.
एआई एजेंट के माइग्रेशन के साथ एक्सपेरिमेंट करना
आपके पास एआई एजेंट का इस्तेमाल करके, माइग्रेशन गाइड को पढ़ने और अपने प्रोजेक्ट पर चरण पूरे करने का विकल्प होता है. Android Studio के एजेंट मोड में Gemini के साथ यह आज़माने के लिए:
- गाइड के इस मार्कडाउन वर्शन को अपने प्रोजेक्ट में सेव करें.
- एजेंट को यह प्रॉम्प्ट चिपकाएं, लेकिन एंटर न दबाएं: "इस प्रोजेक्ट को " का इस्तेमाल करके, Navigation 3 पर माइग्रेट करें.
- @migration-guide.md टाइप करें. इससे एजेंट को गाइड, कॉन्टेक्स्ट के तौर पर मिलेगी.
हमेशा की तरह, पक्का करें कि आपने एआई एजेंट की ओर से किए गए बदलावों की सावधानी से समीक्षा की हो. इससे गलतियां हो सकती हैं!
हमें यह जानकर खुशी होगी कि आपने या आपके एजेंट ने कैसा काम किया. कृपया यहां अपनी राय या सुझाव भेजें.
आम स्थितियों के लिए, नेविगेशन की बेहतरीन रेसिपी
आम तौर पर इस्तेमाल होने वाले, लेकिन अलग-अलग तरह के इस्तेमाल के उदाहरणों के लिए, हमारे पास रेसिपी का कलेक्शन है. इससे पता चलता है कि Nav3 के एपीआई को किसी खास तरीके से कैसे जोड़ा जाता है. इससे आपको अपनी ज़रूरतों के हिसाब से रेसिपी चुनने या उसमें बदलाव करने की सुविधा मिलती है. अगर कोई रेसिपी लोकप्रिय होती है, तो हम उसके सामान्य हिस्सों को Nav3 की मुख्य लाइब्रेरी या ऐड-ऑन लाइब्रेरी में शामिल करने पर विचार करेंगे.
फ़िलहाल, 19 रेसिपी उपलब्ध हैं. इनमें ये शामिल हैं:
- एक से ज़्यादा बैक स्टैक
- मॉड्यूलर बनाना और डिपेंडेंसी इंजेक्शन
- ViewModels को नेविगेशन के आर्ग्युमेंट पास करना. इसमें Koin का इस्तेमाल करना भी शामिल है
- इवेंट और शेयर की गई स्थिति के हिसाब से, स्क्रीन से नतीजे वापस पाना
फ़िलहाल, हम डीपलिंक की रेसिपी और Koin इंटिग्रेशन पर काम कर रहे हैं. इसके अलावा, हमारे पास कई अन्य रेसिपी की योजनाएं हैं. JetBrains के एक इंजीनियर ने रेसिपी का Compose Multiplatform वर्शन भी पब्लिश किया है.
अगर आपके पास इस्तेमाल का कोई ऐसा उदाहरण है जिसके लिए आपको रेसिपी चाहिए, तो कृपया रेसिपी का अनुरोध सबमिट करें.
खास जानकारी
Nav3 का इस्तेमाल शुरू करने के लिए, दस्तावेज़ और रेसिपी देखें. इसके अलावा, तकनीकी कॉन्टेंट के पूरे हफ़्ते पर नज़र रखें. इसमें ये शामिल हैं:
- एपीआई पर एक डीप डाइव वीडियो. इसमें मॉड्यूलर बनाने, ऐनिमेशन, और अडैप्टिव लेआउट के बारे में बताया गया है.
- Nav3 को बनाने वाले इंजीनियरों के साथ, 'मुझसे कुछ भी पूछें' (एएमए) का लाइव सेशन.
Nav3 Spotlight Week, 1 दिसंबर, 2025 से शुरू होगा.
हमेशा की तरह, अगर आपको कोई समस्या आती है, तो कृपया उन्हें यहां दर्ज करें.
-
प्रॉडक्ट से जुड़ी खबरें2025 में, Android इकोसिस्टम, फ़ोन के अलावा अन्य डिवाइसों पर भी उपलब्ध है. आज, डेवलपर के पास 50 करोड़ से ज़्यादा ऐक्टिव डिवाइसों तक पहुंचने का मौका है. इनमें फ़ोल्ड किए जा सकने वाले डिवाइस, टैबलेट, एक्सआर, Chromebook डिवाइस, और काम करने वाली कारें शामिल हैं.
Fahd Imtiaz • पढ़ने में दो मिनट लगेंगे -
प्रॉडक्ट से जुड़ी खबरेंआज हम आधिकारिक तौर पर, Jetpack Compose 1.0 के रिलीज़ होने के पांच साल पूरे होने का जश्न मना रहे हैं. 28 जुलाई, 2021 को रिलीज़ हुए वर्शन 1.0 से लेकर, हमारे सबसे नए वर्शन 1.11 तक, हमने एपीआई में समय-समय पर काफ़ी बदलाव किए हैं. इसलिए, हम इस मौके का जश्न मना रहे हैं.
Rebecca Franks, Nick Butcher, Loryn Hairston • पढ़ने में पांच मिनट लगेंगे -
प्रॉडक्ट से जुड़ी खबरेंAndroid Studio Quail 2 अब स्थिर है और प्रोडक्शन में इसका इस्तेमाल किया जा सकता है. इससे आपके इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) में बदलाव होगा. इसमें, एजेंटिक वर्कफ़्लो, मेमोरी लीक की नेटिव तरीके से इंटिग्रेट की गई प्रोफ़ाइलिंग, और कॉन्टेक्स्ट के हिसाब से क्रैश ठीक करने की सुविधा मिलेगी.
Amman Asfaw • पढ़ने में तीन मिनट लगेंगे
Android डेवलपमेंट से जुड़ी नई जानकारी हर हफ़्ते अपने इनबॉक्स में पाएं.