TikTok ने Jetpack Compose की मदद से, कोड के साइज़ को 58% तक कम किया और नई सुविधाओं के लिए ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया
पढ़ने में 2 मिनट लगेंगे
TikTok, कम अवधि के वीडियो के लिए एक ग्लोबल प्लैटफ़ॉर्म है. यह अपने बड़े उपयोगकर्ता आधार और नई सुविधाओं के लिए जाना जाता है. टीम, उपयोगकर्ताओं के लिए लगातार अपडेट, एक्सपेरिमेंट, और नई सुविधाएं रिलीज़ कर रही है. तकनीकी कर्ज़ को मैनेज करते समय, डेवलपमेंट की गति को बनाए रखने की चुनौती का सामना करने के लिए, TikTok की Android टीम ने Jetpack Compose का इस्तेमाल किया.
टीम को प्रॉडक्ट की ज़रूरी शर्तों को तेज़ी से और बेहतर तरीके से पूरा करना था. Compose का इस्तेमाल करके, टीम ने कम कोड लिखकर और कॉग्निटिव लोड को कम करके, इंजीनियरिंग की क्षमता को बेहतर बनाने की कोशिश की. साथ ही, बेहतर परफ़ॉर्मेंस और स्थिरता हासिल की.
डेवलपर की प्रॉडक्टिविटी बढ़ाने के लिए, मुश्किल यूज़र इंटरफ़ेस (यूआई) को आसान बनाना
TikTok पेजों की नीतियां अक्सर काफ़ी जटिल होती हैं. इनमें कई तरह की शर्तें शामिल होती हैं. इस वजह से, व्यू हाइरार्की को मैनेज करना मुश्किल हो जाता था. साथ ही, व्यू हाइरार्की का स्ट्रक्चर भी सही नहीं होता था और व्यू नेस्टिंग भी ज़्यादा होती थी. इससे मेज़र पास की संख्या बढ़ जाती थी और परफ़ॉर्मेंस खराब हो जाती थी.
Compose ने इस स्ट्रक्चरल समस्या का सीधा समाधान दिया.
इसके अलावा, Compose की मेज़रमेंट की रणनीति से दोहरे टैक्स को कम करने में मदद मिलती है. इससे परफ़ॉर्मेंस को मेज़र करना और उसे ऑप्टिमाइज़ करना आसान हो जाता है.
डेवलपर की प्रॉडक्टिविटी को बेहतर बनाने के लिए, TikTok की सेंट्रल डिज़ाइन सिस्टम टीम, ऐप्लिकेशन की अलग-अलग सुविधाओं पर काम करने वाली टीमों को कॉम्पोनेंट लाइब्रेरी उपलब्ध कराती है. टीम ने पाया कि Compose में डेवलपमेंट करना आसान है. छोटे कंपोज़ेबल का इस्तेमाल करना बहुत असरदार होता है. वहीं, शर्त के हिसाब से लॉजिक वाले बड़े यूज़र इंटरफ़ेस (यूआई) ब्लॉक को शामिल करना आसान होता है और इसमें कम समय लगता है.
रणनीतिक माइग्रेशन की मदद से आगे बढ़ने का रास्ता तैयार करना
Jetpack Compose को रणनीतिक तरीके से अपनाने की वजह से, TikTok को तकनीकी समस्याओं को कम करने में मदद मिली. साथ ही, वह अपने उपयोगकर्ताओं को बेहतर अनुभव देने पर फ़ोकस कर पाया. Compose में, शर्तों के हिसाब से लॉजिक को आसानी से मैनेज करने और कंपोज़िशन को बेहतर बनाने की सुविधा है. इससे टीम को नए या पूरी तरह से फिर से लिखे गए पेजों को लोड होने में लगने वाले समय को 78% तक कम करने में मदद मिली. छोटे मामलों में, यह सुधार 20 से 30% था. वहीं, पूरी तरह से फिर से लिखने और नई सुविधाओं के लिए, यह सुधार 70 से 80% था. साथ ही, Views में बनाई गई इसी सुविधा की तुलना में, वे अपने कोड के साइज़ को 58%तक कम कर पाए. टीम ने कुछ और सुझाव भी दिए हैं:
TikTok की टीम की रणनीति यह थी कि उपयोगकर्ता के कुछ खास चरणों को धीरे-धीरे माइग्रेट किया जाए. इससे उन्हें माइग्रेट करने का मौका मिला. साथ ही, मेज़र किए जा सकने वाले फ़ायदों की पुष्टि करने और फिर ज़्यादा स्क्रीन पर स्केल करने का मौका मिला. उन्होंने क्यूआर कोड की सुविधा में, कंपोज़ का इस्तेमाल करके पूरे स्ट्रक्चर को आसान बनाया. इससे उन्हें बेहतर नतीजे मिले. बाद में, टीम ने लॉगिन और साइन-अप करने के अनुभव को भी माइग्रेट किया.
टीम ने कुछ और जानकारी शेयर की है:
माइग्रेशन के दौरान परफ़ॉर्मेंस की जांच करते समय, TikTok की टीम को पता चला कि एक ViewHolder में मौजूद एलिमेंट को बदलने के लिए, कई छोटे ComposeViews का इस्तेमाल करने से कंपोज़िशन ओवरहेड बढ़ जाता है. उन्होंने पूरे ViewHolder के लिए एक ही ComposeView का इस्तेमाल करके, माइग्रेशन को बेहतर बनाया. इससे उन्हें बेहतर नतीजे मिले.
जब ViewPager के अंदर किसी फ़्रैगमेंट को माइग्रेट किया गया, तो परफ़ॉर्मेंस पर कोई असर नहीं पड़ा. इस फ़्रैगमेंट में, कस्टम हाइट लॉजिक और एक्सपेरिमेंट के आधार पर यूज़र इंटरफ़ेस (यूआई) को छिपाने और दिखाने के लिए शर्त वाला लॉजिक मौजूद है. इस मामले में, ViewPager को कंपोज़ेबल में माइग्रेट करने से, फ़्रैगमेंट को माइग्रेट करने की तुलना में बेहतर नतीजे मिले.
जून शेन को Compose की ये बातें बहुत पसंद हैं: "इससे सुविधा को डेवलप करने के लिए ज़रूरी कोड की मात्रा कम हो जाती है, टेस्ट करने की क्षमता बेहतर हो जाती है, और डिलीवरी में तेज़ी आती है". टीम का प्लान, Compose को धीरे-धीरे ज़्यादा से ज़्यादा लोगों के लिए उपलब्ध कराना है, ताकि यह लंबे समय तक उनका पसंदीदा फ़्रेमवर्क बना रहे. Jetpack Compose, डेवलपर के अनुभव और प्रोडक्शन मेट्रिक को बड़े पैमाने पर बेहतर बनाने के लिए एक असरदार समाधान साबित हुआ.
Jetpack Compose का इस्तेमाल शुरू करना
इस बारे में ज़्यादा जानें कि Jetpack Compose आपकी टीम की कैसे मदद कर सकता है.
-
केस स्टडीTinder का मिशन, लोगों को आपस में जुड़ने के लिए प्रेरित करना है. इसके लिए, यह सिंगल लोगों की हर नई पीढ़ी के लिए, मिलना-जुलना आसान और मज़ेदार बनाता है.
Ajesh Pai, Ulises Uriel Verduzco Díaz , Tracy Agyemang • 4 मिनट में पढ़ें -
केस स्टडीटीम ने एआई-नेटिव यूज़र इंटरफ़ेस (यूआई) कोडबेस बनाया है. यह ओरिजनल कोडबेस से 50% छोटा है. साथ ही, इससे एआई एजेंट को टास्क पूरा करने में लगने वाला समय 35% कम हो गया है. इसके अलावा, इंजीनियर और एजेंट के बीच होने वाले इंटरैक्शन में 32% की कमी आई है और टोकन की लागत में 33% की कमी आई है.
Pavlo Stavytskyi, Rebecca Franks • पढ़ने में 11 मिनट लगेंगे -
केस स्टडीWhatsApp, दुनिया का सबसे बड़ा मैसेजिंग प्लैटफ़ॉर्म है. यह दुनिया भर में अरबों लोगों को अपनी सेवाएं देता है. यह अलग-अलग देशों/इलाकों के लोगों के लिए, बातचीत करने का डिफ़ॉल्ट टूल है. यह उपयोगकर्ताओं को निजी, भरोसेमंद, और सुरक्षित मैसेजिंग की सुविधा देता है.
Niharika Arora, Tracy Agyemang, Mayank Jain • 8 मिनट में पढ़ें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.