प्रॉडक्ट से जुड़ी खबरें

Jetpack Compose के पांच साल पूरे होने का जश्न

पढ़ने में 5 मिनट लगेंगे
3 लेखक
Rebecca Franks, Nick Butcher, Loryn Hairston

आज हम Jetpack Compose 1.0 की रिलीज़ के पांच साल पूरे होने का जश्न मना रहे हैं. हमने 28 जुलाई, 2021 को एलान किए गए वर्शन 1.0 से लेकर, 1.11 तक के सबसे नए वर्शन में, एपीआई में कई बदलाव देखे हैं. हम इस मौके पर जश्न मना रहे हैं.

जब हमने आधिकारिक तौर पर 1.0 वर्शन लॉन्च किया था, तब हमने Android पर नेटिव इंटरफ़ेस बनाने का एक आसान, तेज़, और ज़्यादा सहज तरीका उपलब्ध कराने का वादा किया था. पिछले कुछ सालों में, Compose ने न सिर्फ़ अपने वादे को पूरा किया है, बल्कि Android के नेटवर्क को पूरी तरह से बदल दिया है. आज, टॉप 1,000 ऐप्लिकेशन में से 68% से ज़्यादा ऐप्लिकेशन, प्रोडक्शन में इसका इस्तेमाल कर रहे हैं. 

इतिहास

पिछले पांच सालों में, Compose का इस्तेमाल लगातार बढ़ा है. शुरुआती दिनों में,  हमने आपको Box, Row, और Column का इस्तेमाल करके लेआउट बनाने का तरीका बताया था. आज हमने Compose को सिर्फ़ मोबाइल डिवाइसों पर ही नहीं, बल्कि अन्य डिवाइसों पर भी काम करने के लिए उपलब्ध कराया है. जैसे, Compose for TVWearOSGlance for Widgets, और यहां तक कि Jetpack Compose Glimmer की सुविधा वाले डिसप्ले ग्लास पर भी. 

jetpack_compose_everywhere.png

हमने Android Developers Backstage का एक एपिसोड रिकॉर्ड किया है. इसमें Jetpack की इंजीनियरिंग लीड क्लारा बयारी, टीम के दो पूर्व लीड रोमेन गाय और चेट हासे, और सीनियर इंजीनियरिंग डायरेक्टर टोर नॉरबाय शामिल हैं. इस एपिसोड में, उन्होंने Compose के इतिहास और डेवलपमेंट के शुरुआती दिनों के बारे में बताया है.

timeline.png
पिछले कुछ सालों में, से जुड़ी हाइलाइट जनरेट करो

यादें ताज़ा करें

Compose की शुरुआत, आज के Compose से बहुत अलग थी. Android टीम में दो प्रोजेक्ट एक साथ चल रहे थे. 

उस समय, Views टूलकिट टीम, यूज़र इंटरफ़ेस (यूआई) टूलकिट को एक लाइब्रेरी में अलग करने के बारे में सोच रही थी. इससे डेवलपमेंट की प्रोसेस को तेज़ करने में मदद मिलती. साथ ही, डेवलपर के लिए अपडेट को अपनाना और कंट्रोल करना आसान हो जाता. इस बीच, एक टीम Kotlin में एक्सएमएल को एम्बेड करके, डिक्लेरेटिव लेआउट बनाने के एक नए आइडिया पर काम कर रही थी. यह कुछ इस तरह दिखता था:

jetpack_compose_early_code.png

इन दोनों कोशिशों को मिलाकर, आज का Compose बनाया गया है. यह पूरी तरह से डिक्लेरेटिव यूज़र इंटरफ़ेस (यूआई) टूलकिट है. यह कंपाइलर प्लगिन, रनटाइम, और Kotlin की सुविधाओं का इस्तेमाल करता है:

@Composable
fun Newsfeed(stories: List<Story>) {
    LazyColumn {
        items(stories) { story ->
            Card {
                val author = story.author
                Image(painterResource(author.profilePhoto),
                    contentDescription = author.name)
                Text(author.name)
                Text(story.content)
                if (story.hasCommentsEnabled()) {
                    for(comment in story.comments) {
                        Text(comment.mainContent)
                    }
                }
            }
        }
    }
}

साथ ही, कम्यूनिटी ने भी हमारी शुरुआत में ही हमारी मदद की! साल 2021 से पहले, Compose का प्री-अल्फ़ा फ़ेज़ था. इससे यह पक्का करने में मदद मिली कि Compose, हमारे डेवलपर की समस्याओं को हल करने के लिए सही है.

Android Dev Challenge, हमारी सबसे यादगार घटनाओं में से एक है. हमने कम्यूनिटी को Compose की मदद से चार अलग-अलग टास्क बनाने के लिए कहा था. इससे हमारे फ़ीड में पपी ऐप्लिकेशन, घड़ियां, और मौसम की जानकारी देने वाले ऐप्लिकेशन भर गए. साथ ही, हमें सीधे तौर पर काफ़ी सुझाव/राय मिलीं या शिकायतें मिलीं. इससे हमें 1.0 वर्शन को बेहतर बनाने में मदद मिली.

Compose लगातार बेहतर होता जा रहा है. इसे Material 2 कॉम्पोनेंट के सेट के साथ लॉन्च किया गया था. अब यह Material 3 Expressive के साथ काम करता है.

material2.png
Compose में Material 2

आगे की योजनाएं

आज की तारीख में, Compose 1.11 सबसे नया वर्शन है. Compose 1.12 जल्द ही उपलब्ध होगा. यह पांच साल पहले उपलब्ध Compose 1.0 से बहुत बेहतर है. इस साल, हमने ज़्यादा अडैप्टिव एपीआई लॉन्च किए हैं. जैसे, FlexBoxGridMediaQuery, और Styles. इन एपीआई की मदद से, Compose के साथ प्रीमियम और अडैप्टिव यूज़र इंटरफ़ेस (यूआई) को बेहतर तरीके से डेवलप किया जा सकता है. 

हमने Google I/O 2026 में यह एलान किया था कि अब हम Compose-first हैं. इसका मतलब है कि आने वाले समय में, यूज़र इंटरफ़ेस (यूआई) से जुड़े सभी डेवलपमेंट सिर्फ़ Compose में होंगे. वहीं, Views टूलकिट मेंटेनेंस मोड में चला जाएगा. Material Design, अब पूरी तरह से Compose पर फ़ोकस कर रहा है. इससे यह पता चलता है कि findViewById era अब बंद हो जाएगा. 

Compose में कम्यूनिटी को प्राथमिकता दी जाती है 

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

हमें JetpackCompose.app’s DispatchAndroidWeekly, और jetc जैसे हमारे पसंदीदा न्यूज़लेटर पढ़कर बहुत अच्छा लगा. इनसे Android डेवलपर को Compose और Android की दुनिया में हो रहे नए बदलावों के बारे में अप-टू-डेट रहने में मदद मिलती है. 

योगदान देने वाले एक और अहम व्यक्ति का नाम sinasamaki है. उन्होंने कंपोज़ का इस्तेमाल करके, कई शानदार अनुभव बनाए हैं. जैसे, यह मज़ेदार रिबन मॉडिफ़ायर और गड़बड़ी वाला इफ़ेक्ट:

ribbon_modifier_sinasamaki.gif

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

paparazzi.gif(end = 3_000) {
  DebitCard(
    Modifier.testTag("card")
  )

  val touchRobot = rememberTouchRobot()
  LaunchedEffect(Unit) {
    touchRobot.onNode(hasTestTag("card")).performGesture {
      draw(
        path = createAndroidHeadPath(),
        duration = 3.seconds,
      )
    }
  }
}

/** A path drawing the Android head. */
fun createAndroidHeadPath(bounds: Rect): Path = TODO()
saket_touch_robot.gif

Jake Wharton, जिन्होंने Compose का इस्तेमाल नए-नए तरीकों से किया है. जैसे, molecule और mosaic की मदद से टर्मिनल के लिए Compose का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाना. क्रिस बेन्स ने पिछले कुछ सालों में कई Compose लाइब्रेरी बनाई हैं. इनमें से हमारी सबसे पसंदीदा लाइब्रेरी, बैकग्राउंड को धुंधला करने के लिए Haze है. साथ ही, Android Google Developer Experts में से कई लोगों ने Compose को सफल बनाने में योगदान दिया है. जैसे, अक्षय चोर्डिया, ह्यून ट्यू डाओ, और केटी बार्नेट. हालांकि, यह किसी व्यक्ति को चुनने के बारे में नहीं है. Compose के कोड बेस में कई लोगों ने योगदान दिया है. साथ ही, आप में से कई लोग अपने मज़ेदार उदाहरणों, लाइब्रेरी, और गहराई से की गई बातचीत से हमें प्रेरित करते रहते हैं.  कम्यूनिटी के बिना, Jetpack Compose आज इस मुकाम पर नहीं पहुंच पाता. 

अगले पांच सालों और उससे आगे के लिए बधाई! 

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

इस हफ़्ते, हम दुनिया भर में कुछ जगहों पर व्यक्तिगत तौर पर जन्मदिन की पार्टियां आयोजित करेंगे. साथ ही, 30 जुलाई को 13:00 यूटीसी पर, Android Developers YouTube चैनल पर “जन्मदिन की पार्टी” लाइव स्ट्रीम करेंगे.  इस दौरान, हम साथ मिलकर Compose के बारे में चर्चा करेंगे और आपके सवालों के जवाब देंगे!

अगले पांच सालों के लिए बधाई! अब आप आसानी से संगीत बना सकते हैं!

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