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 के साथ इसे आज़माने के लिए:
- गाइड के इस मार्कडाउन वर्शन को अपने प्रोजेक्ट में सेव करें.
- इस प्रॉम्प्ट को एजेंट में चिपकाएं (लेकिन 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 Quail 2 अब स्टेबल हो गया है और प्रोडक्शन में इस्तेमाल करने के लिए तैयार है. इससे आपके IDE में बदलाव होगा. इसमें एक साथ कई एजेंटिक वर्कफ़्लो, नेटिव तौर पर इंटिग्रेट की गई मेमोरी लीक प्रोफ़ाइलिंग, और कॉन्टेक्स्ट के हिसाब से क्रैश ठीक करने की सुविधा मिलेगी.
Amman Asfaw • तीन मिनट में पढ़ा जा सकता है -
प्रॉडक्ट से जुड़ी खबरेंहमने मार्च में, Android Bench लॉन्च किया था. यह असल दुनिया के Android डेवलपमेंट टास्क के लिए, हमारा एलएलएम लीडरबोर्ड है. इसके बाद से, हमने आपके सुझाव, शिकायत या राय के आधार पर बेंचमार्क को बेहतर बनाया है. इसमें ओपन-वेट मॉडल का आकलन करना और लीडरबोर्ड में लागत और परफ़ॉर्मेंस के डाइमेंशन जोड़ना शामिल है.
Zoe Lopez-Latorre • तीन मिनट में पढ़ा जा सकता है
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.