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 पर माइग्रेट करने के बारे में सोचना चाहिए. इसमें आपकी मदद करने के लिए, डेटा को दूसरी जगह भेजने से जुड़ी गाइड उपलब्ध है. मुख्य चरण ये हैं:
- नेविगेशन 3 की डिपेंडेंसी जोड़ें.
- NavKey को लागू करने के लिए, नेविगेशन के रास्तों को अपडेट करें. Nav3 का इस्तेमाल करने के लिए, आपके रास्तों को इस इंटरफ़ेस को लागू करने की ज़रूरत नहीं है. हालांकि, अगर वे ऐसा करते हैं, तो Nav3 के rememberNavBackStack फ़ंक्शन का फ़ायदा उठाया जा सकता है. इससे एक स्थायी बैक स्टैक बनाया जा सकता है.
- नेविगेशन की स्थिति को सेव करने और उसमें बदलाव करने के लिए क्लास बनाएं. बैक स्टैक यहीं सेव किए जाते हैं.
- NavController को इन क्लास से बदलें.
- अपने डेस्टिनेशन को NavHost के NavGraph से entryProvider में ले जाएं.
- NavHost को NavDisplay से बदलें.
एआई एजेंट को माइग्रेट करने से जुड़े एक्सपेरिमेंट करना
माइग्रेशन गाइड को पढ़ने और अपने प्रोजेक्ट पर दिए गए चरणों को पूरा करने के लिए, एआई एजेंट का इस्तेमाल किया जा सकता है. Android Studio के एजेंट मोड में Gemini के साथ इसे आज़माने के लिए:
- गाइड के इस मार्कडाउन वर्शन को अपने प्रोजेक्ट में सेव करें.
- इस प्रॉम्प्ट को एजेंट में चिपकाएं (लेकिन Enter न दबाएं): "इस प्रोजेक्ट को " का इस्तेमाल करके Navigation 3 पर माइग्रेट करें.
- @migration-guide.md टाइप करें. इससे एजेंट को गाइड का कॉन्टेक्स्ट मिलेगा.
हमेशा की तरह, पक्का करें कि आपने एआई एजेंट के किए गए बदलावों की ध्यान से समीक्षा कर ली हो. इससे गलतियां हो सकती हैं!
हमें बताएं कि आपने या आपके एजेंट ने कैसा परफ़ॉर्म किया. इसके लिए, कृपया यहां अपने सुझाव/राय दें या शिकायत करें.
सामान्य स्थितियों के लिए नेविगेशन की बेहतरीन रेसिपी
सामान्य लेकिन बारीकी से इस्तेमाल करने के उदाहरणों के लिए, हमारे पास रेसिपी रिपॉज़िटरी है. इससे पता चलता है कि Nav3 API को किसी खास तरीके से कैसे जोड़ा जाता है. इससे आपको अपनी ज़रूरतों के हिसाब से रेसिपी चुनने या उसमें बदलाव करने में मदद मिलती है. अगर कोई रेसिपी लोकप्रिय हो जाती है, तो हम उसके सामान्य हिस्सों को Nav3 की मुख्य लाइब्रेरी या ऐड-ऑन लाइब्रेरी में शामिल करने पर विचार करेंगे.
फ़िलहाल, 19 रेसिपी उपलब्ध हैं. इनमें ये शामिल हैं:
- एक से ज़्यादा बैक स्टैक
- मॉड्यूलरिटी और डिपेंडेंसी इंजेक्शन
- ViewModels को नेविगेशन आर्ग्युमेंट पास करना (इसमें Koin का इस्तेमाल करना भी शामिल है)
- इवेंट और शेयर की गई स्थिति के हिसाब से, स्क्रीन से नतीजे दिखाना
हम फ़िलहाल, डीपलिंक की रेसिपी पर काम कर रहे हैं. इसके अलावा, Koin इंटिग्रेशन पर भी काम किया जा रहा है. साथ ही, हमने कई अन्य प्लान बनाए हैं. JetBrains के एक इंजीनियर ने भी रेसिपी का Compose Multiplatform वर्शन पब्लिश किया है.
अगर आपको किसी सामान्य इस्तेमाल के उदाहरण के लिए रेसिपी देखनी है, तो कृपया रेसिपी का अनुरोध करें.
खास जानकारी
Nav3 का इस्तेमाल शुरू करने के लिए, दस्तावेज़ और रेसिपी देखें. इसके अलावा, पूरे हफ़्ते तकनीकी कॉन्टेंट पर नज़र रखें. इसमें ये शामिल हैं:
- मॉड्यूलरिटी, ऐनिमेशन, और अडैप्टिव लेआउट को कवर करने वाले एपीआई के बारे में ज़्यादा जानकारी देने वाला वीडियो.
- Nav3 को बनाने वाले इंजीनियरों के साथ, 'मुझसे कुछ भी पूछें' (एएमए) सेशन.
Nav3 Spotlight Week 1 दिसंबर, 2025 से शुरू होगा.
अगर आपको कोई समस्या मिलती है, तो हमेशा की तरह कृपया उसे यहां फ़ाइल करें.
-
प्रॉडक्ट से जुड़ी खबरेंसाल 2025 में, Android का ईकोसिस्टम फ़ोन के अलावा अन्य डिवाइसों तक भी पहुंच गया है. आज डेवलपर के पास, 50 करोड़ से ज़्यादा ऐक्टिव डिवाइसों तक पहुंचने का मौका है. इनमें फ़ोल्ड किए जा सकने वाले डिवाइस, टैबलेट, XR, Chromebook, और Android Auto के साथ काम करने वाली कारें शामिल हैं.
Fahd Imtiaz • दो मिनट में पढ़ें -
प्रॉडक्ट से जुड़ी खबरेंआज हमें यह बताते हुए खुशी हो रही है कि AndroidX Security State के वर्शन 1.1.0 और Security State Provider के वर्शन 1.0.0 की लाइब्रेरी को स्टेबल वर्शन के तौर पर रिलीज़ कर दिया गया है.
Maunik Shah, Alec Garcia, Joseph Yong • पढ़ने में 4 मिनट लगेंगे -
प्रॉडक्ट से जुड़ी खबरेंआज हम लंबी अवधि के टास्क (एलएचटी) का पहला सेट रिलीज़ कर रहे हैं. ये ऐसे मुश्किल टास्क हैं जिन्हें पूरा करने में इंजीनियर को कई दिन या यहां तक कि एक हफ़्ता भी लग सकता है. हम एजेंटिक इवैल्यूएशन की सुविधा भी लॉन्च कर रहे हैं. इसकी शुरुआत, मॉडल उपलब्ध कराने वाली कंपनियों के एजेंट से की जाएगी.
Matthew McCullough • तीन मिनट में पढ़ा जा सकता है
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.