केस स्टडी

TikTok ने Jetpack Compose का इस्तेमाल करके, कोड के साइज़ को 58% तक कम किया है. साथ ही, नई सुविधाओं के लिए ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया है

दो मिनट में पढ़ें
Ben Trengrove & Ajesh Pai

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

टीम को प्रॉडक्ट की ज़रूरी शर्तों को तेज़ी से और बेहतर तरीके से लागू करना था. Compose का इस्तेमाल करके, टीम ने कम कोड लिखकर और कॉग्निटिव लोड को कम करके, इंजीनियरिंग की क्षमता को बेहतर बनाने की कोशिश की. साथ ही, बेहतर परफ़ॉर्मेंस और स्थिरता हासिल की. 

डेवलपर की प्रॉडक्टिविटी बढ़ाने के लिए, जटिल यूज़र इंटरफ़ेस (यूआई) को आसान बनाना

TikTok के पेज अक्सर दिखने में जितने आसान लगते हैं उतने होते नहीं हैं. इनमें कई तरह की शर्तें होती हैं. इस वजह से, व्यू के क्रम को बनाए रखना मुश्किल हो जाता था. साथ ही, व्यू के क्रम को सही तरीके से स्ट्रक्चर नहीं किया जा पाता था और व्यू नेस्टिंग बहुत ज़्यादा हो जाती थी. इससे मेज़र पास की संख्या बढ़ जाती थी और परफ़ॉर्मेंस खराब हो जाती थी.

Compose ने इस स्ट्रक्चरल समस्या का सीधा समाधान दिया. 

इसके अलावा, Compose की मेज़रमेंट की रणनीति से दोहरे टैक्स को कम करने में मदद मिलती है. इससे परफ़ॉर्मेंस को मेज़र करना और उसे ऑप्टिमाइज़ करना आसान हो जाता है. 

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

junShenTikTok.png

रणनीतिक माइग्रेशन की मदद से आगे बढ़ने का रास्ता तैयार करना

Jetpack Compose को रणनीतिक तरीके से अपनाने की वजह से, TikTok तकनीकी समस्याओं को हल करने में सबसे आगे रहा. साथ ही, वह अपने उपयोगकर्ताओं को बेहतर अनुभव देने पर भी फ़ोकस कर सका. Compose में, शर्तों के हिसाब से लॉजिक को आसानी से मैनेज करने और कंपोज़िशन को बेहतर बनाने की सुविधा है. इससे टीम को नए या पूरी तरह से फिर से लिखे गए पेजों को लोड होने में लगने वाले समय को 78% तक कम करने में मदद मिली. छोटे मामलों में, यह सुधार 20 से 30% था. वहीं, पूरी तरह से फिर से लिखने और नई सुविधाओं के लिए, यह सुधार 70 से 80% था. साथ ही, Views में बनाई गई इसी सुविधा की तुलना में, वे अपने कोड के साइज़ को 58%तक कम कर पाए.  टीम ने कुछ और सुझाव भी दिए हैं:  

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

टीम ने कुछ और जानकारी शेयर की है:  

माइग्रेशन के दौरान परफ़ॉर्मेंस की जांच करते समय, TikTok की टीम को पता चला कि एक ViewHolder में मौजूद एलिमेंट को बदलने के लिए, कई छोटे ComposeViews का इस्तेमाल करने से कंपोज़िशन ओवरहेड बढ़ जाता है. उन्होंने पूरे ViewHolder के लिए एक ही ComposeView का इस्तेमाल करके, माइग्रेशन को बढ़ाकर बेहतर नतीजे हासिल किए.

जब ViewPager में मौजूद किसी फ़्रैगमेंट को माइग्रेट किया गया, तो परफ़ॉर्मेंस पर कोई असर नहीं पड़ा. इस फ़्रैगमेंट में, कस्टम ऊंचाई का लॉजिक और एक्सपेरिमेंट के आधार पर यूज़र इंटरफ़ेस (यूआई) को छिपाने और दिखाने का लॉजिक मौजूद था. इस मामले में, ViewPager को कंपोज़ेबल में माइग्रेट करने से, फ़्रैगमेंट को माइग्रेट करने की तुलना में बेहतर नतीजे मिले. 

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

Jetpack Compose का इस्तेमाल शुरू करना

इस बारे में ज़्यादा जानें कि Jetpack Compose आपकी टीम की कैसे मदद कर सकता है. 

इसे लिखा है:

पढ़ना जारी रखें