केस स्टडी

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

पढ़ने में 2 मिनट लगेंगे
बेन ट्रेंग्रोव की प्रोफ़ाइल देखें अजेश पाई की प्रोफ़ाइल देखें
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 की टीम की रणनीति यह थी कि उपयोगकर्ता के कुछ खास चरणों को धीरे-धीरे माइग्रेट किया जाए. इससे उन्हें माइग्रेट करने का मौका मिला. साथ ही, मेज़र किए जा सकने वाले फ़ायदों की पुष्टि करने और फिर ज़्यादा स्क्रीन पर स्केल करने का मौका मिला. उन्होंने क्यूआर कोड की सुविधा में, कंपोज़ का इस्तेमाल करके पूरे स्ट्रक्चर को आसान बनाया. इससे उन्हें बेहतर नतीजे मिले. बाद में, टीम ने लॉगिन और साइन-अप करने के अनुभव को भी माइग्रेट किया. 

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

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

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

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

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

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

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