2016-05-25 13 views
15

के बीच मुख्य अंतर क्या हैं मुझे पता है कि टाइपस्क्रिप्ट का उपयोग एंगुलर 2 लिखने के लिए किया गया था, जो शायद इसे किसी ऐसे व्यक्ति के लिए बेहतर विकल्प बनाता है जो Angular2 में जाना चाहता है, लेकिन जब मैं बेबेल को देखता हूं तो यह टाइपस्क्रिप्ट की तरह दिखता है ।बेबेल और टाइपस्क्रिप्ट

मैंने देखा कि कई प्रसिद्ध कंपनियां बेबेल से चिपक जाती हैं।

कुछ सवाल:

  1. क्या फायदे वे एक दूसरे के ऊपर है?
  2. जो उन्हें परियोजना/डेवलपर के लिए बेहतर या खराब विकल्प बनाता है?
  3. उनके बीच प्रमुख अंतर क्या हैं और उन्हें अद्वितीय क्या बनाते हैं?
+3

यहां तक ​​कि एक नज़र में यह स्पष्ट है कि वे पूरी तरह से अलग-अलग टूल हैं। आप इस प्रश्न का उत्तर प्रत्येक के लिए परिचय में 15 मिनट निवेश करके कर सकते हैं। – Marty

+1

टाइपस्क्रिप्ट एक भाषा है, बेबेल एक उपकरण है (ES6, एक भाषा, ईएस 5 को पारदर्शी करने के लिए)। – deceze

+3

@Marty दो कंपाइलर्स प्रतिस्पर्धा कर रहे हैं, यह सवाल वैध है। – Paleo

उत्तर

29

TypeScript जावास्क्रिप्ट का एक सुपरसेट है जो सादा जावास्क्रिप्ट (ES3 +) में संकलित होता है। टाइपस्क्रिप्ट का मुख्य लक्ष्य डेवलपर्स को उत्कृष्ट स्थिर टाइपिंग क्षमताओं का लाभ उठाने में सक्षम बनाना है । यह बड़े अनुप्रयोगों कि जैसी सुविधाओं से लाभ होगा के लिए उपयुक्त है:।

  • प्रकार एनोटेशन & प्रकार निष्कर्ष
  • जेनेरिक्स
  • इंटरफेस, enums, नामस्थान, मॉड्यूल और वर्गों (उत्तरार्द्ध दो ES6 में उपलब्ध है।)
  • सुरक्षित रिफैक्टरिंग।

जहां तक ​​मेरा जानकारी है, Babel बस "transpiles" नए ECMAScript नीचे है कि पुराने ECMAScript वातावरण द्वारा समर्थित है एक प्रारूप में पेश करता है। यह उन डेवलपर्स के लिए उपयुक्त है जो नई भाषा सुविधाओं का उपयोग करके सादे जावास्क्रिप्ट लिखना चाहते हैं।

+0

इसका मतलब है कि टाइपस्क्रिप्ट ईएस 3 + ईएस 3 + ट्रांस्सेलर और जावास्क्रिप्ट का एक सुपरसेट है जो जावास्क्रिप्ट में कुछ हद तक क्षमताओं को जोड़ता है, जबकि बेबल केवल ईएस 5 को ईएस 5 में ट्रांसफर करता है? – Teebo

+0

@ टीबो हाँ, यह सही है। –

+1

और अब टाइपस्क्रिप्ट सादे पुराने जावास्क्रिप्ट का समर्थन करता है, इसलिए वास्तव में बेबेल का उपयोग करने के लिए कोई कारण नहीं है। – JoyalToTheWorld

13

विक्टर साविकिन कोणीय 2 डेवलपर्स में से एक वार्ता करता है कि उन्होंने अन्य तकनीकों पर टाइपस्क्रिप्ट क्यों चुना।

http://victorsavkin.com/post/123555572351/writing-angular-2-in-typescript

अंतिम अनुभाग क्यों टाइपप्रति?

"आज devs दृश्यपटल उपलब्ध विकल्पों में से एक बहुत कुछ कर रहे हैं: ES5, ES6 (कोलाहल), टाइपप्रति, डार्ट, PureScript, एल्म, आदि .. तो क्यों टाइपप्रति

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

ES6 को एक ट्रांसलेटर की आवश्यकता है, इसलिए bu हल्का सेटअप टाइपस्क्रिप्ट से बहुत अलग नहीं होगा। लेकिन यह एक मानक है, जिसका अर्थ है कि प्रत्येक संपादक और निर्माण उपकरण या तो ईएस 6 का समर्थन करता है या इसका समर्थन करेगा।

एल्म और शुद्धस्क्रिप्ट शक्तिशाली प्रकार प्रणालियों के साथ सुरुचिपूर्ण भाषाएं हैं जो टाइपस्क्रिप्ट कर सकते हैं आपके प्रोग्राम के बारे में बहुत कुछ साबित कर सकते हैं। एल्म और शुद्धस्क्रिप्ट में लिखे गए कोड ES5 में लिखे गए समान कोड की तुलना में बहुत अधिक हो सकते हैं।

इनमें से प्रत्येक विकल्प में पेशेवर और विपक्ष हैं, लेकिन मुझे लगता है कि टाइपस्क्रिप्ट एक मीठे स्थान पर है जो इसे अधिकांश परियोजनाओं के लिए एक अच्छा विकल्प बनाता है। टाइपस्क्रिप्ट एक अच्छी स्थैतिक-टाइप की गई भाषा की उपयोगिता का 95% लेता है और इसे जावास्क्रिप्ट पारिस्थितिक तंत्र में लाता है। आप अभी भी महसूस करते हैं कि आप ES6 लिखते हैं: आप एक ही मानक लाइब्रेरी, समान तृतीय-पक्ष पुस्तकालयों, समान मुहावरे, और कई टूल (उदा।, क्रोम देव टूल्स) का उपयोग करते रहते हैं। यह आपको जावास्क्रिप्ट पारिस्थितिकी तंत्र से बाहर किए बिना आपको बहुत कुछ देता है। "

संबंधित मुद्दे