Jetpack Navigation 3 का वर्शन 1.0 स्टेबल है 🎉. इसे आज ही अपने प्रोडक्शन ऐप्लिकेशन में इस्तेमाल करें. JetBrains इसका इस्तेमाल पहले से ही अपने KotlinConf ऐप्लिकेशन में कर रहा है.
Navigation 3, नेविगेशन की एक नई लाइब्रेरी है. इसे Jetpack Compose state को ध्यान में रखकर बनाया गया है. इससे आपको अपने बैक स्टैक पर पूरा कंट्रोल मिलता है. साथ ही, नेविगेशन की स्थिति को बनाए रखने में मदद मिलती है. इसके अलावा, इससे अडैप्टिव लेआउट (जैसे कि सूची-जानकारी) आसानी से बनाए जा सकते हैं. JetBrains का क्रॉस-प्लैटफ़ॉर्म वर्शन भी उपलब्ध है.
नई लाइब्रेरी क्यों?
Jetpack Navigation लाइब्रेरी (अब Nav2) को सात साल पहले डिज़ाइन किया गया था. यह अपने मूल लक्ष्यों को अच्छी तरह से पूरा करती है और इसमें समय-समय पर सुधार भी किया गया है. हालांकि, अब ऐप्लिकेशन बनाने का तरीका पूरी तरह से बदल गया है.
डिक्लेरेटिव यूज़र इंटरफ़ेस (यूआई) के साथ रिएक्टिव प्रोग्रामिंग अब एक सामान्य बात है. Nav3 इस तरीके का इस्तेमाल करता है. उदाहरण के लिए, NavDisplay (Nav3 का यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट, जो आपकी स्क्रीन दिखाता है) सिर्फ़ Compose की स्थिति के साथ काम करने वाली कुंजियों की सूची को देखता है. जब यह सूची बदलती है, तब यह अपने यूज़र इंटरफ़ेस (यूआई) को अपडेट करता है.
Nav2 में नेविगेशन की स्थिति के लिए, सिंगल सोर्स ऑफ़ ट्रुथ का इस्तेमाल करना मुश्किल हो सकता है. ऐसा इसलिए, क्योंकि इसमें अपनी इंटरनल स्थिति होती है. Nav3 में, आपको अपनी स्थिति की जानकारी देनी होती है. इससे आपको पूरा कंट्रोल मिलता है.
आखिर में, आपने ज़्यादा सुविधाओं और ज़रूरत के मुताबिक बदलाव करने की सुविधा के बारे में पूछा था. Nav3 में एक ही एपीआई के बजाय, छोटे और अलग-अलग एपीआई (या "बिल्डिंग ब्लॉक") उपलब्ध कराए जाते हैं. इन्हें मिलाकर, जटिल फ़ंक्शन बनाए जा सकते हैं. Nav3 खुद इन मुख्य कॉम्पोनेंट का इस्तेमाल करता है, ताकि नेविगेशन के अच्छी तरह से तय किए गए इस्तेमाल के मामलों के लिए, समझदारी भरे डिफ़ॉल्ट उपलब्ध कराए जा सकें.
इस तरीके से, ये काम किए जा सकते हैं:
- स्क्रीन ऐनिमेशन को पसंद के मुताबिक बनाएं. इसके लिए, ग्लोबल और व्यक्तिगत, दोनों लेवल पर सेटिंग की जा सकती है
- एक ही समय में कई पैन दिखाना और Scenes API का इस्तेमाल करके, ज़रूरत के हिसाब से लेआउट बनाना
- अगर आपको पसंद के मुताबिक व्यवहार चाहिए, तो Nav3 कॉम्पोनेंट को आसानी से अपने खुद के लागू किए गए कॉम्पोनेंट से बदलें
इसके डिज़ाइन और सुविधाओं के बारे में ज़्यादा जानने के लिए, लॉन्च ब्लॉग पढ़ें.
Navigation 2 से माइग्रेट करना
अगर पहले से ही Nav2, खास तौर पर Navigation Compose का इस्तेमाल किया जा रहा है, तो आपको Nav3 पर माइग्रेट करने के बारे में सोचना चाहिए. इसमें आपकी मदद करने के लिए, डेटा को दूसरी जगह भेजने से जुड़ी गाइड उपलब्ध है. इसके लिए, ये मुख्य चरण पूरे करें:
- नेविगेशन 3 डिपेंडेंसी जोड़ें.
- NavKey को लागू करने के लिए, नेविगेशन के रूट अपडेट करें. Nav3 का इस्तेमाल करने के लिए, आपके रास्तों को इस इंटरफ़ेस को लागू करने की ज़रूरत नहीं है. हालांकि, ऐसा करने पर, Nav3 के rememberNavBackStack फ़ंक्शन का इस्तेमाल करके, एक परसिस्टेंट बैक स्टैक बनाया जा सकता है.
- नेविगेशन की स्थिति को सेव करने और उसमें बदलाव करने के लिए क्लास बनाएं. यहीं पर आपके बैक स्टैक सेव किए जाते हैं.
- NavController को इन क्लास से बदलें.
- अपने डेस्टिनेशन को NavHost के NavGraph से entryProvider में ले जाएं.
- NavHost को NavDisplay से बदलें.
एआई एजेंट को माइग्रेट करने की सुविधा को एक्सपेरिमेंट के तौर पर उपलब्ध कराया जा रहा है
माइग्रेशन गाइड को पढ़ने और अपने प्रोजेक्ट पर दिए गए चरणों को पूरा करने के लिए, एआई एजेंट का इस्तेमाल किया जा सकता है. Android Studio के एजेंट मोड में Gemini का इस्तेमाल करके, इसे आज़माने के लिए:
- गाइड के इस मार्कडाउन वर्शन को अपने प्रोजेक्ट में सेव करें.
- इस प्रॉम्प्ट को एजेंट में चिपकाएं (लेकिन Enter न दबाएं): "इस प्रोजेक्ट को " का इस्तेमाल करके Navigation 3 पर माइग्रेट करें.
- @migration-guide.md टाइप करें. इससे एजेंट को गाइड के बारे में जानकारी मिलेगी.
हमेशा की तरह, यह पक्का करें कि आपने एआई एजेंट की ओर से किए गए बदलावों की ध्यान से समीक्षा कर ली हो. इससे गलतियां हो सकती हैं!
हमें बताएं कि आपको या आपके एजेंट को कैसा अनुभव मिला. इसके लिए, कृपया यहां अपने सुझाव/राय दें या शिकायत करें.
सामान्य स्थितियों के लिए नेविगेशन की बेहतरीन रेसिपी
इस्तेमाल के सामान्य लेकिन बारीकी से समझे जाने वाले उदाहरणों के लिए, हमारे पास रेसिपी रिपॉज़िटरी है. इससे पता चलता है कि Nav3 API को किसी खास तरीके से कैसे जोड़ा जाता है. इससे आपको अपनी ज़रूरतों के हिसाब से रेसिपी चुनने या उसमें बदलाव करने में मदद मिलती है. अगर कोई रेसिपी लोकप्रिय हो जाती है, तो हम उसके सामान्य हिस्सों को Nav3 की मुख्य लाइब्रेरी या ऐड-ऑन लाइब्रेरी में शामिल कर देंगे.
फ़िलहाल, 19 रेसिपी उपलब्ध हैं. इनमें ये शामिल हैं:
- एक से ज़्यादा बैक स्टैक
- मॉड्यूलरिटी और डिपेंडेंसी इंजेक्शन
- ViewModel में नेविगेशन आर्ग्युमेंट पास करना (इसमें Koin का इस्तेमाल करना भी शामिल है)
- इवेंट और शेयर की गई स्थिति के हिसाब से, स्क्रीन से नतीजे दिखाना
हम फ़िलहाल, डीपलिंक की रेसिपी पर काम कर रहे हैं. इसके अलावा, Koin इंटिग्रेशन पर भी काम किया जा रहा है. साथ ही, हमने कई अन्य प्लान भी बनाए हैं. JetBrains के एक इंजीनियर ने भी रेसिपी का Compose Multiplatform वर्शन पब्लिश किया है.
अगर आपको किसी सामान्य इस्तेमाल के उदाहरण के लिए रेसिपी देखनी है, तो कृपया रेसिपी का अनुरोध सबमिट करें.
खास जानकारी
Nav3 का इस्तेमाल शुरू करने के लिए, दस्तावेज़ और रेसिपी देखें. इसके अलावा, पूरे हफ़्ते तकनीकी कॉन्टेंट देखें. जैसे:
- मॉड्यूलरिटी, ऐनिमेशन, और अडैप्टिव लेआउट के बारे में ज़्यादा जानकारी देने वाला वीडियो.
- Nav3 को बनाने वाले इंजीनियरों के साथ, 'मुझसे कुछ भी पूछें' (एएमए) वाला लाइव सेशन.
Nav3 Spotlight Week 1 दिसंबर, 2025 से शुरू होगा.
अगर आपको कोई समस्या आती है, तो कृपया यहां शिकायत करें.
पढ़ना जारी रखें
-
प्रॉडक्ट से जुड़ी खबरें
साल 2025 में, Android का ईकोसिस्टम फ़ोन से आगे बढ़ चुका है. आज डेवलपर के पास, 50 करोड़ से ज़्यादा ऐक्टिव डिवाइसों तक पहुंचने का मौका है. इनमें फ़ोल्ड किए जा सकने वाले डिवाइस, टैबलेट, एक्सआर, Chromebook, और Android Auto के साथ काम करने वाली कारें शामिल हैं.
Fahd Imtiaz • दो मिनट में पढ़ें
-
प्रॉडक्ट से जुड़ी खबरें
हर डेवलपर का एआई वर्कफ़्लो और ज़रूरतें अलग-अलग होती हैं. इसलिए, यह तय करना ज़रूरी है कि एआई आपके डेवलपमेंट में किस तरह मदद करे. जनवरी में, हमने Android Studio में एआई की सुविधाओं को बेहतर बनाने के लिए, किसी भी लोकल या रिमोट एआई मॉडल को चुनने की सुविधा लॉन्च की थी
Matthew Warner • दो मिनट में पढ़ें
-
प्रॉडक्ट से जुड़ी खबरें
Android Studio Panda 3 अब स्टेबल हो गया है और प्रोडक्शन में इस्तेमाल के लिए तैयार है. इस रिलीज़ से, आपको एआई की मदद से काम करने वाले वर्कफ़्लो को ज़्यादा कंट्रोल करने और उन्हें पसंद के मुताबिक बनाने की सुविधा मिलती है. इससे, अच्छी क्वालिटी वाले Android ऐप्लिकेशन बनाना पहले से ज़्यादा आसान हो जाता है.
Matt Dyor • तीन मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.