मिनी ऐप्लिकेशन के हिसाब से प्रोग्रामिंग करना

इस चैप्टर में, मुझे वे लेसन देखने हैं जो मैंने एक वेब डेवलपर के हिसाब से मिनी ऐप्लिकेशन के बारे में रिसर्च करने से सीखे हैं. इसके अलावा, मुझे इस सवाल का भी जवाब देना है कि मिनी ऐप्लिकेशन बनाने का क्या मतलब है.

घटक

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

मॉडल-व्यू-व्यूमॉडल

model–view–viewmodel (MVVM) आर्किटेक्चर पैटर्न—जो बैक-एंड लॉजिक (मॉडल) के डेवलपमेंट से मार्कअप लैंग्वेज के ज़रिए ग्राफ़िकल यूज़र इंटरफ़ेस (व्यू) के डेवलपमेंट को अलग करने की सुविधा देता है—इसका मतलब है कि व्यू किसी खास मॉडल प्लैटफ़ॉर्म पर निर्भर नहीं है. हालांकि, पैटर्न के कुछ नुकसान हैं, जिन्हें दस्तावेज़ के तौर पर दर्ज किया गया है. हालांकि, आम तौर पर यह मिनी ऐप्लिकेशन जटिल होने पर, बहुत अच्छी तरह से काम करता है. खास तौर पर, समृद्ध टेंप्लेट बनाने वाली लाइब्रेरी में इसकी झलक दिख सकती है (अगला चैप्टर देखें).

पेज के मुताबिक सोच-विचार

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

बिल्ड प्रोसेस

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

बेहतरीन सुविधाएं

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

स्वीकार हैं

इस लेख की समीक्षा जो मेडली, कायस बास्क्स, मिलिका मिहाजलिया, ऐलन केंट, और कीथ गू ने की है.