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

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

4 मिनट में पढ़ें
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 TV, WearOS, Glance 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 सबसे नया वर्शन है. 1.12 वर्शन जल्द ही उपलब्ध होगा. यह पांच साल पहले उपलब्ध 1.0 वर्शन से काफ़ी बेहतर है. इस साल, हमने ज़्यादा अडैप्टिव एपीआई लॉन्च किए हैं. जैसे, FlexBox, Grid, MediaQuery, और Styles. इन एपीआई की मदद से, Compose के साथ प्रीमियम और अडैप्टिव यूज़र इंटरफ़ेस (यूआई) डेवलपमेंट के अगले लेवल पर पहुंचा जा सकता है. 

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

Compose में कम्यूनिटी को ध्यान में रखा जाता है 

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

हमें JetpackCompose.app’s Dispatch और AndroidWeekly जैसे हमारे पसंदीदा न्यूज़लेटर पढ़ने में बहुत मज़ा आया. साथ ही, 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

जेक व्हार्टन ने 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 के बारे में बातचीत करेंगे और आपके सवालों के जवाब देंगे!

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

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