इवेंट और प्रोग्राम

Android डेवलपर समिट में Jetpack Compose के बारे में मिले नए अपडेट की मदद से, हर स्क्रीन के लिए ऐप्लिकेशन बनाएं

पढ़ने में लगने वाला समय: 3 मिनट
रेबेका गटरिज की प्रोफ़ाइल देखें
Rebecca Gutteridge डेवलपर रिलेशंस मैनेजर

Android ईकोसिस्टम, मल्टी-डिवाइस के लिए उपलब्ध है. इनमें फ़ोन, फ़ोल्ड किए जा सकने वाले डिवाइस, टैबलेट, पहने जाने वाले डिवाइस, कार में मौजूद डिसप्ले, एक्सआर, और Googlebook शामिल हैं. इस माहौल में, अडैप्टिव डेवलपमेंट की मदद से, उपयोगकर्ताओं तक पहुंचा जा सकता है. भले ही, वे किसी भी डिवाइस का इस्तेमाल कर रहे हों.

Jetpack Compose, Android पर सभी यूज़र इंटरफ़ेस बनाने के लिए स्टैंडर्ड टूलकिट है. लेगसी व्यू सिस्टम से आगे बढ़ने पर, आपको एक ही डेवलपमेंट टारगेट मिलता है. इससे अलग-अलग फ़ॉर्म फ़ैक्टर में, अलग-अलग कोड बेस को मैनेज करने की ज़रूरत नहीं पड़ती. हालांकि, अडैप्टिव लेआउट बनाना सिर्फ़ आधा काम है. जब स्क्रीन फ़ोल्ड होती हैं, विंडो का साइज़ बदलता है या ऐप्लिकेशन अलग-अलग डिवाइसों पर ट्रांज़िशन करते हैं, तो लेआउट से जुड़ी पारंपरिक मान्यताएं टूट सकती हैं. साथ ही, ऐप्लिकेशन की स्थिति खो सकती है या वे अलग-अलग लग सकते हैं. 

Android Developer Summit में, हमने बताया कि हम यूज़र इंटरफ़ेस (यूआई) और आर्किटेक्चर, दोनों में ऐप्लिकेशन के बुनियादी फ़ंक्शन को कैसे बेहतर बना रहे हैं. इसके लिए, हम Jetpack AppState की मदद से, Compose को आपकी डेटा लेयर में गहराई से शामिल कर रहे हैं. साथ ही, हम आपको FlexBox और Grid जैसे अडैप्टिव बिल्डिंग ब्लॉक और एजेंट के लिए तैयार टूल उपलब्ध करा रहे हैं, ताकि आप हर स्क्रीन पर ऐप्लिकेशन को बेहतर तरीके से इस्तेमाल कर सकें.

हाल ही में किए गए हमारे कुछ खास एलान यहां देखें. इसके अलावा, हमारी Android Developer साइट पर जाकर, मांग पर उपलब्ध 50 से ज़्यादा सेशन देखें. इनमें ऐप्लिकेशन के बुनियादी सिद्धांतों के लिए सबसे सही तरीके भी शामिल हैं. 

मुख्य फ़ाउंडेशन को बेहतर बनाना और Compose को यूज़र इंटरफ़ेस (यूआई) से आगे ले जाना

Compose 1.13 के आने वाले स्टेबल वर्शन में, टूलकिट को बेहतर बनाया जा रहा है. इसमें ग्रिड और फ़्लेक्सबॉक्स के ज़रिए, अडैप्टिव लेआउट के लिए पहले से मौजूद सहायता शामिल है. साथ ही, प्रोग्रेसिव ब्लर और फ़ॉर्मैट किए गए टेक्स्ट जैसी नई सुविधाएं भी शामिल हैं. बैटरी लाइफ़ या फ़्रेम रेट पर असर डाले बिना, मेश ग्रेडिएंट और प्रोग्रेसिव ब्लर जैसे ग्राफ़िक की नई सुविधाएं देखने के लिए, Jetpack Compose और Android में ग्राफ़िक की नई सुविधाओं की मदद से, अपने ऐप्लिकेशन को बेहतर बनाएं  देखें.

विज़ुअल रेंडरिंग के साथ-साथ, Compose में टेक्स्ट में बदलाव करने की सुविधा में अब पूरी तरह से फिर से लिखा गया BasicTextField शामिल है. इसमें बफ़र-ड्रिवन आर्किटेक्चर और TextFieldState शामिल है. इससे आईएमई रेस कंडिशन खत्म हो जाती हैं और रिच टेक्स्ट फ़ॉर्मैट में बदलाव करने की सुविधा काम करती है. इस बदलाव के बारे में ज़्यादा जानने के लिए, Compose में टेक्स्ट में बदलाव करने की भरोसेमंद सुविधाएं बनाना देखें. 

इन बेहतरीन विज़ुअल और इंटरैक्टिव अनुभवों को पेश करते समय, फ़्रेम रेट को बेहतर बनाए रखना और स्टार्टअप लेटेंसी को कम रखना ज़रूरी है. Outperform yourself in Compose देखें. इसमें Perfetto और रीकंपोज़िशन ट्रेसिंग की मदद से प्रोफ़ाइल बनाने, ज़्यादा रिसॉर्स खर्च करने वाले एंटी-पैटर्न की पहचान करने, और यूज़र इंटरफ़ेस (यूआई) को बेहतर तरीके से चलाने का तरीका बताया गया है.

Compose, आर्किटेक्चर लेयर में भी अपनी पहुंच बढ़ा रहा है. इसके लिए, Jetpack AppState का इस्तेमाल किया जा रहा है. फ़िलहाल, यह ऐल्फ़ा वर्शन में उपलब्ध है. AppState, Compose के स्नैपशॉट सिस्टम को आपके ऐप्लिकेशन के आर्किटेक्चर में शामिल करता है: Transform की मदद से, स्टेट और फ़्लो इनपुट से रिएक्टिव स्टेट को हासिल किया जा सकता है. इसके लिए, अपने-आप रीड ट्रैकिंग और Kotlin के कंट्रोल फ़्लो का इस्तेमाल किया जाता है. वहीं, StateStore आपको एक कीड कंटेनर देता है, ताकि आप गतिविधियों, बैकग्राउंड में चलने वाली सेवाओं, विजेट, और ऐप्लिकेशन फ़ंक्शन के बीच ऑब्ज़र्वेबल स्टेट को शेयर कर सकें. इसमें DataStore परसिस्टेंस का विकल्प भी होता है. Jetpack AppState की मदद से, Compose स्टेट को यूज़र इंटरफ़ेस (यूआई) से आगे ले जाना देखें. इससे आपको पता चलेगा कि Compose स्टेट को स्टैक में ऊपर ले जाने से, कॉम्प्लेक्स स्टेट पाइपलाइन को कैसे आसान बनाया जा सकता है. साथ ही, आपके ऐप्लिकेशन के हर प्लैटफ़ॉर्म को सिंक में कैसे रखा जा सकता है.

अलग-अलग साइज़, डाइमेंशन या कॉन्फ़िगरेशन वाले डिवाइसों के लिए, बेहतर नेविगेशन और इनपुट सिस्टम डिज़ाइन करना

ऐप्लिकेशन के ज़्यादा मॉड्यूलर होने के साथ-साथ, हर एंट्री पॉइंट और स्क्रीन साइज़ पर नेविगेशन और उपयोगकर्ता के इनपुट का अनुमान लगाया जा सकता है. वर्शन 1.2 के साथ, Jetpack Navigation 3 में डेवलपर के मालिकाना हक वाले बैक स्टैक में, पहले से मौजूद और टाइप-सेफ़ डीप लिंकिंग की सुविधा मिलती है. Kotlin Serialization का इस्तेमाल करके, आने वाले यूआरआई और इंटेंट को सीधे तौर पर स्ट्रॉन्गली टाइप्ड नेविगेशन बटन पर मैप किया जा सकता है. साथ ही, जटिल आर्ग्युमेंट को पार्स करने के तरीके को पसंद के मुताबिक बनाया जा सकता है. इसके अलावा, सिंथेटिक पिछली गतिविधियों को लेज़ी तरीके से बनाया जा सकता है, ताकि पीछे जाने की प्रोसेस हमेशा नैचुरल लगे. इन एपीआई को काम करते हुए देखने के लिए, Jetpack Navigation 3 की मदद से टाइप-सेफ़ डीप लिंक बनाना लेख पढ़ें.

इनपुट हैंडल करने की सुविधा को भी बेहतर बनाया गया है, ताकि अलग-अलग डिवाइसों पर मल्टी-मोडल इंटरैक्शन की सुविधा मिल सके. Compose का लेयर्ड इनपुट सिस्टम, टच के अलावा ट्रैकपैड, माउस, और फ़िज़िकल कंट्रोल के साथ भी आसानी से काम करता है. अलग-अलग नाप या आकार वाले डिवाइसों पर पॉइंटर लाइफ़साइकल, कर्सर घुमाने की स्थितियों, और हार्डवेयर इवेंट को मैनेज करने का तरीका जानने के लिए, Jetpack Compose की मदद से, टचस्क्रीन के अलावा अन्य इनपुट इंटरैक्शन को बढ़ाना वीडियो देखें.

बड़ी स्क्रीन, डेस्कटॉप वगैरह पर इंटरफ़ेस को स्केल करना

फ़ोल्ड किए जा सकने वाले डिवाइसों, टैबलेट, और लैपटॉप पर इस्तेमाल किए जाने पर, इंटरफ़ेस को नैचुरल तरीके से अडजस्ट होना चाहिए. ऐसा नहीं होना चाहिए कि बड़ी स्क्रीन पर फ़िट होने के लिए, कॉन्टेंट को स्ट्रेच करना पड़े. Compose डेवलपमेंट की मदद से अडैप्टिव ऐप्लिकेशन बनाने के लिए, Navigation 3, WindowManager, और एजेंटिक वर्कफ़्लो को जोड़ा जाता है. इससे आपको मोबाइल लेआउट को रिस्पॉन्सिव मल्टी-पैन अनुभवों में बदलने में मदद मिलती है. इसके लिए, आपको मैन्युअल तरीके से बहुत कम काम करना पड़ता है. अगर डेवलपर अपने मौजूदा लेआउट को बेहतर बनाना चाहते हैं, तो Compose की मदद से, अपने ऐप्लिकेशन को हर स्क्रीन के हिसाब से अडजस्ट करें लेख पढ़ें. इसमें मल्टी-पैन आर्किटेक्चर पैटर्न के बारे में बताया गया है. साथ ही, यह भी बताया गया है कि विंडो के साइज़ बदलने पर, नेविगेशन फ़्लो को कैसे ऑप्टिमाइज़ किया जाए.

मोबाइल के अलावा अन्य डिवाइसों के लिए ऐप्लिकेशन उपलब्ध कराने से, नए अवसर भी मिलते हैं. जैसे, Googlebook के लिए ऐप्लिकेशन उपलब्ध कराना. डेस्कटॉप-क्लास अनुभव देने के लिए, फ़िज़िकल पेरिफ़ेरल डिवाइसों के साथ काम करने की सुविधा, विंडोइंग एनवायरमेंट वगैरह की ज़रूरत होती है. Inside the first wave on Googlebook with Notability and Logitech में, शुरुआती पार्टनर ने पॉइंटर इंटरैक्शन, बाहरी हार्डवेयर, और डेस्कटॉप-ग्रेड वर्कफ़्लो के लिए ऑप्टिमाइज़ करने की व्यावहारिक इंजीनियरिंग रणनीतियां शेयर की हैं.

Android की सुविधाओं का इस्तेमाल शुरू करना 

इन पैटर्न को और भी तेज़ी से लागू करने के लिए, Android स्किल का इस्तेमाल किया जा सकता है. इससे आपके कोडिंग एजेंट को मदद मिलेगी. चाहे आप Android Studio में Gemini का इस्तेमाल करें या अन्य एजेंट के साथ Android CLI चलाएं, ये स्किल आपके लिए मुश्किल काम करती हैं. साथ ही, ये अडैप्टिव क्वालिटी के दिशा-निर्देशों का पालन करती हैं. Compose के लिए, फ़िलहाल हमारे पास ये सुविधाएं हैं:

  • अपडेट की गई अडैप्टिव स्किल की मदद से, एजेंट छोटी स्क्रीन को रिस्पॉन्सिव मल्टी-पेन लेआउट में बदल सकते हैं. साथ ही, स्टेटस और कॉन्फ़िगरेशन में होने वाले बदलावों को मैनेज कर सकते हैं. अब इसमें फ़ोल्ड किए जा सकने वाले डिवाइसों और डेस्कटॉप के लिए सहायता जोड़ी गई है. इससे विंडोइंग, कीबोर्ड शॉर्टकट, टूलटिप, और ट्रैकपैड पर कर्सर घुमाने की स्थितियों को अपने-आप मैनेज किया जा सकता है.
  • Compose की परफ़ॉर्मेंस से जुड़ी नई स्किल, जिससे आपको अपने कोडबेस को ऑप्टिमाइज़ करने में मदद मिलेगी
  • एक्सएमएल से Compose पर माइग्रेट करने की स्किल
  • Ink की नई स्किल 

कोर आर्किटेक्चर और अडैप्टिव लेआउट के अलावा, आपको तकनीकी जानकारी भी मिलेगी. इसमें Media3 प्लेबैक, CameraX पाइपलाइन, कार में मिलने वाले अनुभव, बेहतर ग्राफ़िक्स, और Google Play को Compose पर माइग्रेट करने से जुड़े सबक शामिल हैं. आर्किटेक्चर, कोड वॉकथ्रू, और व्यावहारिक दिशा-निर्देशों के बारे में जानने के लिए, Android Developer Summit के ऐप्लिकेशन फ़ाउंडेशन सेशन की प्लेलिस्ट में तकनीकी वॉकथ्रू का पूरा कलेक्शन देखें. 

लेखक:
पढ़ना जारी रखें