जावास्क्रिप्ट उपकरण फ़्लो और टाइपस्क्रिप्ट कई पहलुओं में समान हैं। हालांकि, वे स्थिर चेकर्स के रूप में अपनी कार्यक्षमता और क्षमताओं के संबंध में भिन्न हैं।
पता लगाएँ कि फ़्लो और टाइपस्क्रिप्ट की तुलना कैसे की जाती है और आपके अगले प्रोजेक्ट के लिए सबसे अच्छा स्टैटिक चेकर कौन सा है।
प्रवाह क्या है?
फ्लो जावास्क्रिप्ट के लिए एक स्टैटिक टाइप चेकर टूल है, जिसे फेसबुक ने संकलन और रन-टाइम कोड त्रुटियों की पहले से पहचान करने के लिए बनाया है। यह आपके कोड द्वारा पारित मूल्यों की निगरानी करके और समय के साथ उनके डेटा प्रकार कैसे बदलते हैं, यह करता है। यह स्थिर जाँच प्रणाली विश्वसनीयता और पठनीयता में सुधार करती है। यह आपके जावास्क्रिप्ट कोड में बग की घटना को कम करने में भी मदद करता है।
टाइपस्क्रिप्ट क्या है?
टाइपस्क्रिप्ट केवल फ्लो की तरह एक टाइप चेकर नहीं है, बल्कि एक दृढ़ता से टाइप की गई प्रोग्रामिंग भाषा है। Microsoft ने भाषा बनाई, इसे जावास्क्रिप्ट के शीर्ष पर बनाया।
परिपाटी के अनुसार, आपको .ts फ़ाइल एक्सटेंशन वाली टाइपस्क्रिप्ट फ़ाइलें बनानी चाहिए। आप टाइपस्क्रिप्ट फ़ाइल को जावास्क्रिप्ट कोड में संकलित कर सकते हैं, इसलिए जहाँ भी जावास्क्रिप्ट चलता है, टाइपस्क्रिप्ट भी चल सकता है।
आपके JavaScript अनुप्रयोग के लिए प्रवाह को कॉन्फ़िगर करना
आप फ़्लो को किसी भी जावास्क्रिप्ट फ्रेमवर्क में एकीकृत कर सकते हैं जिसे आप अपने प्रोजेक्ट के लिए उपयोग करने का निर्णय लेते हैं। आपको अपने कोड में सभी प्रवाह प्रकारों को संभालने और इसे वेनिला जावास्क्रिप्ट में संकलित करने के लिए बाबेल जैसे जावास्क्रिप्ट कंपाइलर को कॉन्फ़िगर करने की आवश्यकता होगी।
अपने प्रोजेक्ट में फ़्लो को स्थापित करने के लिए, निम्नलिखित कमांड चलाएँ:
सूत जोड़ें --देव प्रवाह-बिन
अगला, आपको विश्व स्तर पर फ़्लो कमांड लाइन इंटरफ़ेस स्थापित करना चाहिए। यह सीएलआई प्रवाह अनुप्रयोगों के निर्माण के लिए कई आदेश प्रदान करता है।
macOS पर, उपयोग करें होमब्रू फ्लो सीएलआई स्थापित करने के लिए:
शराब बनाना स्थापित करना प्रवाह-क्ली
आपको जानना होगा Windows PowerShell का उपयोग कैसे करें Windows मशीन पर फ़्लो स्थापित करने के लिए।
Windows पर Flow CLI स्थापित करने के लिए, इस स्क्रिप्ट को अपने PowerShell टर्मिनल में चलाएँ:
आईईएक्स "& {$(इर्म '<https://storage.googleapis.com/flow-cli/install.ps1>') }"
प्रवाह परियोजनाओं की आवश्यकता होती है .flowconfig उपकरण के सभी आवश्यक विन्यास के लिए फ़ाइल।
किसी नए या मौजूदा प्रोजेक्ट में फ़्लो कॉन्फ़िगरेशन फ़ाइल बनाने के लिए यह कमांड चलाएँ:
एनपीएम रन फ्लो init
सावधान रहें कि विशिष्ट फ़्रेमवर्क डिफ़ॉल्ट रूप से फ़्लो कॉन्फ़िग फ़ाइल के साथ प्रोजेक्ट शिप कर सकते हैं।
करने के लिए अंतिम कार्य फ़्लो स्क्रिप्ट को अपने में जोड़ना है पैकेज.जेसन फ़ाइल:
"लिपियों": {
"प्रवाह": "प्रवाह"
},
आपने अब अपने जावास्क्रिप्ट एप्लिकेशन में चलने के लिए फ़्लो को सफलतापूर्वक कॉन्फ़िगर कर लिया है।
अपने प्रोजेक्ट में टाइपस्क्रिप्ट सेट करना
अपने प्रोजेक्ट में टाइपस्क्रिप्ट स्थापित करने के लिए निम्न कमांड चलाएँ:
NPM स्थापित करना टाइपप्रति --सेव-देव
टाइपस्क्रिप्ट कोड को वेनिला जावास्क्रिप्ट में संकलित करने के लिए आपको कंपाइलर भी स्थापित करना चाहिए। आपको जरूरत भी पड़ सकती है बेहतर कार्यप्रवाह के लिए टाइपस्क्रिप्ट कॉन्फ़िगरेशन सेट करें अनुभव।
इस आदेश के साथ विश्व स्तर पर टाइपस्क्रिप्ट कंपाइलर स्थापित करें:
NPM स्थापित करना -जी टाइपप्रति
ए को इनिशियलाइज़ करने के लिए tsconfig.json कॉन्फ़िगरेशन फ़ाइल में, अपने टर्मिनल में निम्न आदेश दर्ज करें:
टीएससी --इस में
उपरोक्त निर्देश आपको अपने प्रोजेक्ट में टाइपस्क्रिप्ट का उपयोग करने के लिए प्रेरित करेंगे।
प्रवाह के साथ भवन
जावास्क्रिप्ट फ़ाइल में फ़्लो कोड लिखने के लिए, किसी भी एक्सप्रेशन या स्टेटमेंट से पहले कोड के शीर्ष पर फ़्लो सिंटैक्स घोषित करें:
// @प्रवाह
आप एनोटेशन का उपयोग करके चर और फ़ंक्शन डेटा प्रकार सेट कर सकते हैं। प्रत्याशित प्रकार पूरा नहीं होने पर प्रवाह तब एक त्रुटि उत्पन्न करेगा।
उदाहरण के लिए:
// @प्रवाह
चलो फू: संख्या = "नमस्ते";
प्रवाह यहां एक त्रुटि फेंक देगा क्योंकि अपेक्षित मान प्रकार का फू एक संख्या है, एक स्ट्रिंग नहीं।
दौड़ना एनपीएम रन फ्लो टर्मिनल में त्रुटि आउटपुट देखने के लिए:
पसंद के किसी भी टेक्स्ट एडिटर के अंदर फ्लो एक्सटेंशन को सक्षम करने से आपके कोड के रूप में आपके संपादक में त्रुटियां दिखाई देंगी।
किसी व्यंजक का अपेक्षित मान क्या होना चाहिए, यह निर्धारित करने के लिए प्रवाह प्रकार अनुमान का भी उपयोग करता है।
उदाहरण के लिए:
// @प्रवाह
समारोहकुछ करो(कीमत) {
प्रतिलाभ की मात्रा * "नमस्ते";
};
होने देना परिणाम = कुछ करो (6);
आप संख्या छह और स्ट्रिंग के बीच अंकगणितीय संचालन नहीं कर सकते नमस्ते.
का आउटपुट एनपीएम रन फ्लो त्रुटि होगी:
टाइपस्क्रिप्ट के साथ विकास करना
टाइपस्क्रिप्ट का सिंटैक्स फ्लो के समान है। आप वैरिएबल और फ़ंक्शन प्रकारों को टाइप एनोटेशन के साथ वैसे ही परिभाषित कर सकते हैं जैसे आप फ्लो में करते हैं।
टाइपस्क्रिप्ट फ्लो के समान कई अन्य सुविधाओं के साथ शिप करता है, जैसे टाइप इंट्रेंस।
उदाहरण टाइपस्क्रिप्ट कोड लें:
// टाइपस्क्रिप्ट.टी
प्रकार परिणाम = "उत्तीर्ण" | "असफल"
समारोहसत्यापित करना(परिणाम: परिणाम) {
अगर (परिणाम "उत्तीर्ण") {
कंसोल लॉग ("उत्तीर्ण")
} अन्य {
कंसोल लॉग ("असफल")
}
}
तुम दौड़ सकते हो टीएससी टाइपस्क्रिप्ट.टीएस इस कोड को सादे वेनिला जावास्क्रिप्ट में संकलित करने के लिए।
यह वैनिला जावास्क्रिप्ट में संकलित समान टाइपस्क्रिप्ट कोड होगा:
समारोहसत्यापित करना(परिणाम) {
अगर (परिणाम "उत्तीर्ण") {
कंसोल लॉग ("उत्तीर्ण")
} अन्य {
कंसोल लॉग ("असफल")
}
}
टाइपस्क्रिप्ट और फ्लो के पक्ष और विपक्ष
अब आप जानते हैं कि अपने जावास्क्रिप्ट प्रोजेक्ट में दोनों टूल्स का उपयोग कैसे शुरू करें। आपको प्रत्येक का उपयोग करने के पेशेवरों और विपक्षों को जानना चाहिए।
एकीकरण
टाइपस्क्रिप्ट के विपरीत फ्लो का उपयोग करने की सेटअप प्रक्रिया कुछ अधिक जटिल है। आपको अपने कोड से प्रवाह प्रकारों को निकालने के लिए बाबेल या फ्लो-निकालें-प्रकार जैसे जावास्क्रिप्ट कंपाइलर सेट अप करने की आवश्यकता होगी। टाइपस्क्रिप्ट में टाइपस्क्रिप्ट कोड को जावास्क्रिप्ट में बदलने के लिए एक कंपाइलर शामिल है, जिससे एकीकरण आसान हो जाता है।
टाइपस्क्रिप्ट में बेहतर टूलिंग है और अधिकांश जावास्क्रिप्ट फ्रेमवर्क डिफ़ॉल्ट रूप से इसका समर्थन करते हैं। अधिकांश लोकप्रिय आईडीई टाइपस्क्रिप्ट के लिए प्रथम श्रेणी का समर्थन प्रदान करते हैं। प्रवाह भी समर्थित है लेकिन इसके लिए एक विशेष प्लग-इन की आवश्यकता होती है।
समुदाय
फ्लो के विपरीत, जावास्क्रिप्ट फ्रेमवर्क जैसे रिएक्ट, रिएक्टिव नेटिव, वीयू और एंगुलर सपोर्ट टाइपस्क्रिप्ट बॉक्स से बाहर।
यह व्यापक रूप से अपनाने और बड़े समुदाय के परिणामस्वरूप सीखने के बेहतर संसाधन, अपडेट और टूल सपोर्ट मिलता है।
FLEXIBILITY
प्रवाह एक प्रकार के चेकर के रूप में कार्य करता है जो आपको संभावित खराब कोड के बारे में चेतावनी देने का काम करता है। टाइपस्क्रिप्ट आपको खराब कोड लिखने से रोकता है और इसमें सख्त टाइप सिस्टम है। टाइपस्क्रिप्ट भी समर्थन करता है ऑब्जेक्ट एनकैप्सुलेशन, जो जटिल कोड को प्रबंधनीय रखने में मदद करता है. फ्लो में यह सुविधा नहीं है।
सेवाएं
टाइपस्क्रिप्ट सभी जावास्क्रिप्ट भाषा सेवाएं प्रदान करता है, जैसे कोड रिफैक्टरिंग और स्वत: पूर्णता। प्रवाह एक स्थिर प्रकार का चेकर है जो आपके लिखित कोड की गहरी समझ और विश्लेषण प्रदान करता है।
फ़्लो आपके प्रोजेक्ट के आयातित मॉड्यूल और लाइब्रेरी तक काम कर सकता है और यह समझ सकता है कि वे आपके कोड को कैसे प्रभावित करते हैं। उदाहरण के लिए, जब आपके प्रोजेक्ट में आवश्यक लाइब्रेरी गुम हो जाती है या जब आप किसी ऐसी परिभाषा तक पहुंचने का प्रयास करते हैं जो मौजूद नहीं है, तो यह चेतावनी का पता लगा सकती है और फेंक सकती है।
आपको किस स्टेटिक चेकर का उपयोग करना चाहिए?
प्रत्येक उपकरण का उपयोग करने के लिए कई मान्य तर्क हैं क्योंकि प्रत्येक की अलग-अलग विशेषताएं हैं। कुछ एक डेवलपर के लिए सर्वोच्च प्राथमिकता और दूसरे के लिए कम प्राथमिकता वाले हो सकते हैं। दोनों उपकरण अपने-अपने संदर्भ में अच्छी तरह से काम करते हैं और उनके उपयोग के लिए लाभ प्रदान करते हैं।
आपको अपनी परियोजना की आवश्यकताओं की जांच करनी चाहिए और उनके आधार पर एक शिक्षित निर्णय लेना चाहिए।