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

Jetpack Compose के पांच साल पूरे होने की खुशी में

पढ़ने में 5 मिनट लगेंगे
तीन लेखक
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 का इस्तेमाल करके बनाए जा रहे हैं.

इतिहास

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

jetpack_compose_everywhere.png

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

timeline.png
पिछले कुछ सालों में Compose की अहम उपलब्धियां

पीछे मुड़कर देखना

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 से कहीं ज़्यादा सुविधाएं उपलब्ध कराता है. इस साल, हमने ज़्यादा अडैप्टिव एपीआई लॉन्च किए हैं. जैसे, FlexBoxGridMediaQuery, और 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 DispatchAndroidWeekly, से लेकर jetc तक के हमारे सबसे पसंदीदा न्यूज़लेटर पढ़कर बहुत अच्छा लगा. इनसे Android डेवलपर को Compose और Android की दुनिया में होने वाले नए बदलावों के बारे में अप-टू-डेट रहने में मदद मिलती है.

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

ribbon_modifier_sinasamaki.gif

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

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 से यूज़र इंटरफ़ेस (यूआई) बनाना. Chris Banes ने पिछले कुछ सालों में, Compose की कई लाइब्रेरी बनाई हैं. इनमें से हमारी सबसे नई और पसंदीदा लाइब्रेरी, Haze है. इसका इस्तेमाल, बैकग्राउंड को धुंधला करने के लिए किया जाता है. इसके अलावा, Android Google Developer Experts में से कई लोगों ने Compose को सफल बनाने में योगदान दिया है. जैसे, Akshay Chordiya, Huyen Tue Dao, और Katie Barnett. हालांकि, यह सिर्फ़ कुछ लोगों के बारे में नहीं है. Compose के कोडबेस में कई लोगों ने अहम योगदान दिया है. साथ ही, आप में से कई लोग, अपने मज़ेदार उदाहरणों, लाइब्रेरी, और इन-डेप्थ बातचीत से हमें लगातार प्रेरित करते हैं. कम्यूनिटी के बिना, Jetpack Compose आज इतना सफल नहीं हो पाता. 

अगले पांच सालों और उससे ज़्यादा के लिए बधाई!

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

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

अगले पांच सालों के लिए बधाई. साथ ही, Compose का इस्तेमाल करके शानदार ऐप्लिकेशन बनाते रहें!

इसे लिखा है:
आगे पढ़ें