मिनी ऐप्लिकेशन के लिए क्या कारगर रहा
इस चैप्टर में, मैं वेब डेवलपर के नज़रिए से, मिनी ऐप्लिकेशन के बारे में रिसर्च करने से मिले सबक के बारे में बताना चाहता हूं. इसके अलावा, इस सवाल का जवाब भी देना चाहता हूं कि मिनी ऐप्लिकेशन को डेवलप करने का क्या मतलब है.
घटक
डेवलपर को टैब, ऐकॉर्डियन, कैरसेल वगैरह जैसे सामान्य यूज़र इंटरफ़ेस (यूआई) पैराडाइम को फिर से बनाने और लागू करने के बजाय, हमने मिनी ऐप्लिकेशन में कॉम्पोनेंट के डिफ़ॉल्ट विकल्प उपलब्ध कराए हैं. अगर आपको ज़्यादा कॉम्पोनेंट की ज़रूरत है, तो उन्हें जोड़ा जा सकता है. वेब पर भी कई विकल्प हैं. मैंने इनमें से कुछ विकल्पों को मिनी ऐप्लिकेशन के कॉम्पोनेंट के बारे में बताने वाले चैप्टर में शामिल किया है. अगर सब कुछ सही होता, तो वेब पर कॉम्पोनेंट लाइब्रेरी इस तरह बनाई जातीं कि उन्हें आसानी से एक-दूसरे के साथ इस्तेमाल किया जा सके. आम तौर पर, किसी कॉम्पोनेंट का इस्तेमाल करने के लिए, आपको डिज़ाइन सिस्टम को खरीदना पड़ता है. इसके अलावा, कॉम्पोनेंट लाइब्रेरी को इस तरह से डिस्ट्रिब्यूट किया जाता है कि उसे पूरा खरीदना पड़ता है या कुछ भी नहीं. हालांकि, किसी प्रोजेक्ट में अलग-अलग कॉम्पोनेंट को आसानी से नहीं जोड़ा जा सकता. हालांकि, ऐसे एटमिक कॉम्पोनेंट भी हैं जिनका इस्तेमाल अलग से किया जा सकता है. इसके अलावा, generic-components जैसी लाइब्रेरी भी हैं, जिन्हें खास मकसद से स्टाइल नहीं किया गया है. ऐसे आइटम ढूंढना और उनका इस्तेमाल करना एक अच्छा आइडिया है.
Model-view-viewmodel
मॉडल–व्यू–व्यूमॉडल (MVVM) आर्किटेक्चर पैटर्न, मार्कअप भाषा की मदद से ग्राफ़िकल यूज़र इंटरफ़ेस (व्यू) के डेवलपमेंट को बैक-एंड लॉजिक (मॉडल) के डेवलपमेंट से अलग करने में मदद करता है. इसका मतलब है कि व्यू किसी खास मॉडल प्लैटफ़ॉर्म पर निर्भर नहीं है. इस पैटर्न के कुछ नुकसान हैं, लेकिन आम तौर पर यह मिनी ऐप्लिकेशन जैसे जटिल ऐप्लिकेशन के लिए बहुत अच्छा काम करता है. यह खास तौर पर, बेहतर टेंप्लेट लाइब्रेरी के साथ बेहतरीन तरीके से काम कर सकती है. इसके बारे में जानने के लिए, अगला चैप्टर देखें.
पेज के हिसाब से सोचना
मिनी ऐप्लिकेशन को डीबग करने से पता चलता है कि ये असल में मल्टी-पेज ऐप्लिकेशन (एमपीए) हैं. इससे कई फ़ायदे मिलते हैं. उदाहरण के लिए, इससे आसानी से रूटिंग की जा सकती है और हर पेज के लिए स्टाइल को बिना किसी रुकावट के लागू किया जा सकता है. लोगों ने प्रोग्रेसिव वेब ऐप्लिकेशन में एमपीए आर्किटेक्चर को लागू कर लिया है. पेजों के हिसाब से सोचने से, हर पेज की सीएसएस और JavaScript फ़ाइलों जैसे रिसॉर्स और इमेज और वीडियो जैसी अन्य ऐसेट को मैनेज करने में भी मदद मिलती है. सबसे अहम बात यह है कि इस तरह से बनाने का मतलब है कि अगर आपने कुछ और लोड नहीं किया है, तो आपको बिना किसी शुल्क के, रास्ते के हिसाब से कोड का बंटवारा करने की सुविधा मिलती है. ऐसे में, हर पेज सिर्फ़ वही लोड करता है जो उसे काम करने के लिए ज़रूरी होता है.
बिल्ड प्रोसेस
मिनी ऐप्लिकेशन में, बिल्ड करने की प्रोसेस नहीं दिखती. वेब पर, Snowpack जैसे आधुनिक बिल्ड टूल, JavaScript के पहले से मौजूद मॉड्यूल सिस्टम (इसे ईएसएम भी कहा जाता है) का फ़ायदा लेते हैं. इससे, वे ग़ैर-ज़रूरी काम से बचते हैं और प्रोजेक्ट कितना भी बड़ा क्यों न हो, तेज़ी से काम करते हैं. वेब बंडल जैसी टेक्नोलॉजी अभी शुरुआती दौर में हैं. हालांकि, इन्हें बिल्ड प्रोसेस में आसानी से जोड़ा जा सकता है.
बेहतरीन सुविधाएं
वेब प्लैटफ़ॉर्म में हाल ही में कई नई सुविधाएं जोड़ी गई हैं. अब ब्लूटूथ, यूएसबी, HID, सीरियल, और NFC के ज़रिए डिवाइसों को ऐक्सेस किया जा सकता है. वेब पर, वे सभी बेहतर सुविधाएं सीधे तौर पर उपलब्ध होती हैं जो वेबव्यू में चलने वाले और JavaScript ब्रिज पर निर्भर रहने वाले मिनी ऐप्लिकेशन के लिए उपलब्ध होती हैं. इसलिए, आपको JavaScript ब्रिज से मिलने वाले एपीआई के लिए प्रोग्राम नहीं करना पड़ता, बल्कि किसी इंटरमीडियरी ऐक्टर के बिना ब्राउज़र एपीआई के लिए प्रोग्राम करना पड़ता है.
आभार
इस लेख की समीक्षा, जो मेडली, किस बेस्केस, मिलिका मिहाइलिया, ऐलन केंट, और कीथ गु ने की है.