केस स्टडी
TikTok ने Jetpack Compose का इस्तेमाल करके, कोड के साइज़ को 58% तक कम किया है. साथ ही, नई सुविधाओं के लिए ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया है
दो मिनट में पढ़ें
TikTok, दुनिया भर में शॉर्ट वीडियो के लिए मशहूर प्लैटफ़ॉर्म है. यह अपने बड़े उपयोगकर्ता आधार और नई सुविधाओं के लिए जाना जाता है. टीम, उपयोगकर्ताओं के लिए लगातार अपडेट, एक्सपेरिमेंट, और नई सुविधाएं रिलीज़ करती रहती है. तकनीकी कर्ज़ को मैनेज करते समय, डेवलपमेंट की गति को बनाए रखने की चुनौती का सामना करने के लिए, TikTok की Android टीम ने Jetpack Compose का इस्तेमाल किया.
टीम को प्रॉडक्ट की ज़रूरी शर्तों को तेज़ी से और बेहतर तरीके से लागू करना था. Compose का इस्तेमाल करके, टीम ने कम कोड लिखकर और कॉग्निटिव लोड को कम करके, इंजीनियरिंग की क्षमता को बेहतर बनाने की कोशिश की. साथ ही, बेहतर परफ़ॉर्मेंस और स्थिरता हासिल की.
डेवलपर की प्रॉडक्टिविटी बढ़ाने के लिए, जटिल यूज़र इंटरफ़ेस (यूआई) को आसान बनाना
TikTok के पेज अक्सर दिखने में जितने आसान लगते हैं उतने होते नहीं हैं. इनमें कई तरह की शर्तें होती हैं. इस वजह से, व्यू हैरारकी को मैनेज करना मुश्किल हो जाता था. साथ ही, व्यू हैरारकी का स्ट्रक्चर भी सही नहीं होता था. इसके अलावा, व्यू नेस्टिंग भी ज़्यादा होती थी. इससे परफ़ॉर्मेंस खराब हो जाती थी, क्योंकि मेज़र पास की संख्या बढ़ जाती थी.
Compose ने इस स्ट्रक्चरल समस्या का सीधा समाधान दिया.
इसके अलावा, Compose की मेज़रमेंट की रणनीति से दोहरे टैक्स को कम करने में मदद मिलती है. इससे परफ़ॉर्मेंस को मेज़र करना और उसे ऑप्टिमाइज़ करना आसान हो जाता है.
डेवलपर की प्रॉडक्टिविटी को बेहतर बनाने के लिए, TikTok की सेंट्रल डिज़ाइन सिस्टम टीम, ऐप्लिकेशन की अलग-अलग सुविधाओं पर काम करने वाली टीमों को कॉम्पोनेंट लाइब्रेरी उपलब्ध कराती है. टीम ने पाया कि Compose में डेवलपमेंट करना आसान है. छोटे कंपोज़ेबल का इस्तेमाल करना बहुत असरदार होता है. वहीं, शर्त के हिसाब से लॉजिक वाले बड़े यूज़र इंटरफ़ेस (यूआई) ब्लॉक को शामिल करना आसान होता है और इसमें कम ओवरहेड होता है.
रणनीतिक माइग्रेशन की मदद से आगे बढ़ने का तरीका
Jetpack Compose को रणनीतिक तरीके से अपनाने की वजह से, TikTok को तकनीकी समस्याओं को कम करने में मदद मिली. साथ ही, वह अपने उपयोगकर्ताओं को बेहतर अनुभव देने पर फ़ोकस कर सका. Compose में, शर्तों के हिसाब से लॉजिक को आसानी से मैनेज करने और कंपोज़िशन को बेहतर बनाने की सुविधा है. इससे टीम को नए या पूरी तरह से फिर से लिखे गए पेजों को लोड होने में लगने वाले समय को 78% तक कम करने में मदद मिली. छोटे मामलों में, यह सुधार 20 से 30% था. वहीं, पूरी तरह से फिर से लिखने और नई सुविधाओं के लिए, यह सुधार 70 से 80% था. साथ ही, Views में बनाई गई इसी सुविधा की तुलना में, वे अपने कोड के साइज़ को 58%तक कम कर पाए. टीम ने कुछ और सुझाव भी दिए हैं:
TikTok की टीम की रणनीति यह थी कि उपयोगकर्ता के अनुभव को बेहतर बनाने के लिए, धीरे-धीरे कुछ खास बदलाव किए जाएं. इससे उन्हें माइग्रेट करने का मौका मिला. साथ ही, मेज़र किए जा सकने वाले फ़ायदों की पुष्टि करने और फिर ज़्यादा स्क्रीन पर स्केल करने का मौका मिला. उन्होंने क्यूआर कोड की सुविधा में, Compose का इस्तेमाल करके पूरे स्ट्रक्चर को आसान बनाया. इससे उन्हें बेहतर नतीजे मिले. बाद में, टीम ने लॉगिन और साइन-अप करने के अनुभव को भी माइग्रेट किया.
टीम ने कुछ और जानकारी शेयर की है:
माइग्रेशन के दौरान परफ़ॉर्मेंस की जांच करते समय, TikTok की टीम को पता चला कि एक ViewHolder में मौजूद एलिमेंट को बदलने के लिए, कई छोटे ComposeView का इस्तेमाल करने से कंपोज़िशन ओवरहेड बढ़ जाता है. उन्होंने पूरे ViewHolder के लिए एक ही ComposeView का इस्तेमाल करके, माइग्रेशन को बढ़ाकर बेहतर नतीजे हासिल किए.
जब ViewPager में मौजूद किसी फ़्रैगमेंट को माइग्रेट किया गया, तो परफ़ॉर्मेंस पर कोई असर नहीं पड़ा. इस फ़्रैगमेंट में, कस्टम ऊंचाई का लॉजिक और एक्सपेरिमेंट के आधार पर यूज़र इंटरफ़ेस (यूआई) को छिपाने और दिखाने का लॉजिक मौजूद था. इस मामले में, ViewPager को कंपोज़ेबल में माइग्रेट करने से, फ़्रैगमेंट को माइग्रेट करने की तुलना में बेहतर नतीजे मिले.
जून शेन को यह बात बहुत पसंद आई कि Compose "सुविधा को डेवलप करने के लिए ज़रूरी कोड की मात्रा को कम करता है, टेस्ट करने की क्षमता को बेहतर बनाता है, और डिलीवरी को तेज़ करता है". टीम का प्लान, Compose को धीरे-धीरे ज़्यादा से ज़्यादा इस्तेमाल करने का है, ताकि लंबे समय तक इसे अपने पसंदीदा फ़्रेमवर्क के तौर पर इस्तेमाल किया जा सके. Jetpack Compose, डेवलपर के अनुभव और प्रोडक्शन मेट्रिक को बड़े पैमाने पर बेहतर बनाने के लिए एक असरदार समाधान साबित हुआ.
Jetpack Compose का इस्तेमाल शुरू करना
इस बारे में ज़्यादा जानें कि Jetpack Compose आपकी टीम की कैसे मदद कर सकता है.
पढ़ना जारी रखें
-
केस स्टडी
Monzo, यूनाइटेड किंगडम का एक डिजिटल बैंक है. इसके 1.5 करोड़ ग्राहक हैं और इनकी संख्या लगातार बढ़ रही है. ऐप्लिकेशन के बढ़ने के साथ-साथ, इंजीनियरिंग टीम ने ऐप्लिकेशन के शुरू होने में लगने वाले समय को सुधार के लिए एक अहम क्षेत्र के तौर पर पहचाना. हालांकि, टीम को चिंता थी कि इसके लिए, उन्हें अपने कोडबेस में काफ़ी बदलाव करने होंगे.
Ben Weiss • दो मिनट में पढ़ें
-
केस स्टडी
सोशल मीडिया की इस डाइनैमिक दुनिया में, उपयोगकर्ता का ध्यान तुरंत खींचा जा सकता है या वह तुरंत हट भी सकता है. Meta के ऐप्लिकेशन (Facebook और Instagram), दुनिया के सबसे बड़े सोशल प्लैटफ़ॉर्म में से एक हैं. ये दुनिया भर के अरबों लोगों को सेवाएं देते हैं.
Mayuri Khinvasara Khabya • 4 मिनट में पढ़ें
-
केस स्टडी
वियरेबल डिवाइस के लिए Android ऐप्लिकेशन बनाने का मतलब है कि स्क्रीन बंद होने पर असली काम शुरू होता है.
Breana Tate • 4 मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.