डेस्कटॉप और वेब के लिए JetBrains Compose अब अल्फ़ा में है

जेटब्रेन ने डेस्कटॉप और वेब के लिए कंपोज़ जारी किया है, जो एंड्रॉइड के लिए Google के जेटपैक कंपोज़ का एक पोर्ट है। यहाँ नया क्या है.

अगर आपने नहीं सुना है जेटपैक कम्पोज़, तुम अब तक कहां थे? Google ने Android में मानक XML लेआउट इंजन को बदलने के लिए यह घोषणात्मक UI फ़्रेमवर्क बनाया है। कंपोज़ डेवलपर्स को कोटलिन में अपने लेआउट और संबंधित तर्क बनाने की सुविधा देता है। कोटलिन के पीछे की कंपनी JetBrains भी कंपोज़ एक्शन में शामिल हो गई है और इसे डेस्कटॉप और वेब दोनों पर पोर्ट करने पर काम कर रही है।

डेस्कटॉप और वेब के लिए JetBrains Compose पिछले कुछ समय से विकास में है। इसमें एक सार्वजनिक प्री-अल्फ़ा "प्रौद्योगिकी पूर्वावलोकन" है जिसका उपयोग डेवलपर्स कंपोज़ में क्रॉस-प्लेटफ़ॉर्म ऐप्स बनाने के लिए कर सकते हैं। मैंने व्यक्तिगत रूप से इसका उपयोग किया है मेरा सैमसंग फ़र्मवेयर डाउनलोडर ऐप, और यह बहुत अच्छे से काम करता है।

आज, JetBrains कंपोज़ के अपने संस्करण को अल्फा में प्रचारित कर रहा है। इसका मतलब है कि कुछ नई सुविधाओं और परिवर्तनों के साथ एक अधिक स्थिर एपीआई।

वेब के लिए लिखें

सबसे पहले, वेब. वेब के लिए लिखें सम है

डेस्कटॉप के लिए कंपोज़ से नया, और इसमें काफी कुछ कमी है। हालाँकि, इसका मतलब यह नहीं है कि यह बेकार है। हालांकि डेवलपर्स को डेस्कटॉप और एंड्रॉइड के लिए उपलब्ध फैंसी कोर यूआई तत्व नहीं मिल सकते हैं, डेवलपर्स को अभी भी घोषणात्मक डिजाइन सिद्धांतों के साथ कोटलिन में लिखने का लाभ मिलता है।

अब जबकि कंपोज़ अल्फ़ा चरण में है, वेब एपीआई अधिक स्थिर होना चाहिए, समय के साथ किए गए परिवर्तनों को कम करते हुए, यदि कोई हो, तो कम होना चाहिए।

विंडो प्रबंधन लिखें

डेस्कटॉप पर वापस, डेवलपर्स अपने ऐप में विंडोज़ के साथ कैसे इंटरैक्ट करते हैं, इसमें कुछ बदलाव हुए हैं।

पहला नया है कंपोजेबल विंडो एपीआई. इससे डेवलपर्स को अपने ऐप में विंडोज़ के साथ घोषणात्मक रूप से इंटरैक्ट करने की सुविधा मिलती है। उदाहरण के लिए, विंडो शीर्षक को अब राज्य के साथ बदला जा सकता है, और राज्यों के आधार पर विंडो को खोला और बंद भी किया जा सकता है।

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

प्लग-इन

संकलन और निष्पादन करने के लिए JetBrains Compose में हमेशा एक ग्रैडल प्लगइन होता है। अल्फ़ा के साथ, इस प्लगइन को कुछ बग फिक्स के साथ एक वर्जन बंप मिल रहा है।

हालाँकि, ग्रैडल प्लगइन के शीर्ष पर है अब एक IDE प्लगइन डेस्कटॉप और वेब के लिए कंपोज़ को बेहतर समर्थन देने के लिए IntelliJ IDEA और Android स्टूडियो के लिए। एंड्रॉइड के लिए कंपोज़ की तरह, यह प्लगइन डेवलपर्स को कंपोज़ेबल फ़ंक्शंस को पूर्वावलोकन के रूप में एनोटेट करने और सीधे आईडीई में लेआउट पूर्वावलोकन देखने की सुविधा देता है।

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

वास्तुकला समर्थन

भले ही JetBrains Compose का लक्ष्य क्रॉस-प्लेटफ़ॉर्म होना है, लेकिन इसमें अभी तक सभी CPU आर्किटेक्चर के लिए पूर्ण समर्थन नहीं है। अल्फ़ा वर्तमान समर्थन को निम्नलिखित तक विस्तारित करता है:

  • मैकओएस: x86-64 (एएमडी64), आर्म64
  • विंडोज़: x86-64 (amd64)
  • लिनक्स: x86-64 (एएमडी64), आर्म64
  • वेब: हाल की कोई भी चीज़

हालांकि इसमें निश्चित रूप से वहां मौजूद सभी चीजें शामिल नहीं हैं, भविष्य में समर्थन केवल बेहतर होने वाला है।

भविष्य के घटनाक्रम

कंपोज़ को अल्फ़ा स्थिति में ले जाने के लिए JetBrains का विकल्प महत्वपूर्ण है। इसका मतलब है कि वे अंतिम बीटा और स्थिर चरणों के साथ, इसके लिए विकास जारी रखने की योजना बना रहे हैं। और, निःसंदेह, अधिक सुविधाएँ।

निष्कर्ष

यह देखना काफी रोमांचक है कि कंपोज़ क्या लेकर आता है। एंड्रॉइड पर, यह एक पुराने (हालांकि पूरी तरह से प्रयोग करने योग्य) लेआउट इंजन को प्रतिस्थापित करता है। डेस्कटॉप और वेब पर, यह दृढ़ता से टाइप की गई भाषा का उपयोग करके घोषणात्मक डिज़ाइन लाता है जो टाइपस्क्रिप्ट-आधारित भाषाओं की तुलना में उपयोग करना आसान है (कम से कम मेरे लिए)। विशेष रूप से डेस्कटॉप पर, कंपोज़ कार्यात्मक लेआउट इंजनों के लिए एक बहुत बड़े अंतर को भरने में मदद करता है।

यदि आप JetBrains Compose को स्वयं आज़माने में रुचि रखते हैं, GitHub रिपॉजिटरी की जाँच करें आरंभ करने के तरीके के बारे में अधिक जानकारी के लिए।