टाइपस्क्रिप्ट और डार्ट के बीच अंतर [बंद]


85

Microsoft ने हाल ही में जावास्क्रिप्ट का अनावरण किया, एक नई जावास्क्रिप्ट जैसी प्रोग्रामिंग भाषा। कुछ समय पहले, मैंने Dart के बारे में सुना, एक नई प्रोग्रामिंग लैंग्वेज जिसे Google ने जावास्क्रिप्ट से संबंधित समस्याओं जैसे प्रदर्शन, स्केलिंग आदि को हल करने के लिए बनाया था।

दोनों नई भाषाओं का उद्देश्य मुझे समान लगता है .. आपको क्या लगता है?

क्या भाषाओं के उद्देश्य समान हैं?

उनके बारे में वास्तविक अंतर क्या हैं?


यहाँ एक चर्चा देखें: प्रोग्रामर.स्टैकएक्सचेंज
com

जवाबों:


60

कोटिंग बॉब निस्त्रोम :

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

डार्ट एक जोखिम भरा दांव ले रहा है। यह जेएस से बहुत दूर है, जो मुझे लगता है कि ज्यादातर दिन के डार्ट प्रोग्रामर के रूप में अच्छा है, लेकिन यह प्रवेश के अवरोध को अधिक बनाता है। लेकिन प्रवेश के उस उच्च अवरोध के बदले में आपको मिलता है:

  • पेड़ का हिलना
  • गेटर्स और सेटर्स (हालांकि मुझे लगता है कि टाइपस्क्रिप्ट अंततः प्राप्त करेंगे)
  • ऑपरेटर ओवरलोडिंग
  • रियल ब्लॉक गुंजाइश, कोई उत्थापन, कोई Iife रों
  • एक देशी वी.एम.
  • साने समता शब्दार्थ
  • कोई अजीब अंतर्निहित रूपांतरण पागलपन
  • thisहर जगह लेसिक बाउंड
  • mixins
  • एनोटेशन
  • एक आयात प्रणाली
  • उपयोगकर्ता-परिभाषित सबस्क्रिप्ट ऑपरेटर
  • जनरेशन, रिवीजन के साथ
  • दर्पण
  • बेहतर संग्रह कक्षाएं
  • एक क्लीनर DOM API

इसके अलावा, वह http://www.reddit.com/r/programming/comments/10rkd9/welcome_to_typescript/c6g37xd में लिखते हैं :

मैं Google की डार्ट टीम पर हूं, इसलिए मैं स्वाभाविक रूप से इसे उस कोण / पूर्वाग्रह से देख रहा हूं। यहाँ कुछ यादृच्छिक सामान है जो मेरी आँख को पकड़ा है, ज्यादातर इसकी तुलना डार्ट से की है। मैंने केवल कुछ ही मिनटों को स्किमिंग में बिताया है, इसलिए इसमें से किसी को भी गंभीरता से न लें ...

कोई जेनरिक नहीं

मुझे लगता है कि कुछ प्रकार किसी भी प्रकार से बेहतर नहीं हैं, लेकिन उन लोगों को खोना वास्तव में कठिन है। टाइपस्क्रिप्ट में अंतर्निहित सरणी प्रकार होते हैं और ऑब्जेक्ट प्रकार "मैप" प्रकार के कुछ मामलों को कवर करते हैं। लेकिन अपने स्वयं के सामान्य प्रकारों को परिभाषित करने में सक्षम नहीं होना एक खींचें है। डॉक्स कहते हैं कि जब जोड़ा जाता है, तो जेनेरिक टाइप इरेज़र का उपयोग करके काम करेंगे, जो कि मुझे उम्मीद है कि यह "हल्का जेएस" स्टाइल के लिए संकलन है, लेकिन यह एक दर्द भी हो सकता है। कभी-कभी रनटाइम में अपने प्रकार के तर्कों के साथ सामान करने में सक्षम होना अच्छा है।

सभी प्रकार अशक्त हैं

डार्ट उसी तरह है। मुझे दोनों मामलों में दुखी करता है।

प्रकार एनोटेशन सिंटैक्स अच्छा है

वैकल्पिक प्रकार के एनोटेशन (एमएल, स्काला, एफ #, कोटलिन, आदि) के साथ लगभग हर भाषा एक के बाद "पोस्ट: ए के साथ जाती है। डार्ट सी-स्टाइल प्रकार एनोटेशन का उपयोग करने की कोशिश करता है जो कुछ बुरा कोने के मामलों का कारण बनता है। मुझे पसंद है कि टाइप टाइपस्क्रिप्ट यहां है। विशेष रूप से फ़ंक्शन प्रकारों के लिए सिंटैक्स:

function takeCallback(callback : (n : number) => number)
{ ... }

इंटरफेस संरचनात्मक रूप से टाइप किए जाते हैं, कक्षाएं मुख्य रूप से टाइप की जाती हैं

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

बेस्ट कॉमन टाइप फेल हो सकता है

इसका मतलब है कि यह एक प्रकार की त्रुटि है:

[1, true]

आप पैरामीटर हस्ताक्षर द्वारा इंटरफेस में ओवरलोड कर सकते हैं

यह वास्तव में अच्छा है क्योंकि यह आपको एक फ़ंक्शन कॉल के माध्यम से एक अधिक सटीक प्रकार का प्रवाह प्रवाह देता है जो कुछ गतिशील प्रकार स्विचिंग करता है। उदाहरण के लिए:

interface Doubler {
  double(s : string) : string;
  double(n : number) : number;
}

इसके साथ, जब कंपाइलर कॉल को दोगुना करने के लिए देखता है, तो यह सही ढंग से आपको अनुमान तर्क प्रकार के आधार पर एक सटीक रिटर्न प्रकार दे सकता है। मुझे यकीन नहीं है कि वास्तव में उस वर्ग को कैसे लागू किया जाए जो उस इंटरफ़ेस को लागू करता है और टाइप चेकर को खुश करता है। आप वास्तव में ठोस तरीकों को अधिभार नहीं दे सकते हैं, और गतिशील प्रकार की जाँच से इसे खुश करने के लिए मेरे पांच मिनट के प्रयास ने काम नहीं किया।

सरणी प्रकारों के लिए एक समर्पित वाक्यविन्यास है

समझ में आता है क्योंकि कोई जेनरिक नहीं है। यह भी अच्छा है और अच्छा है, जो अच्छा है, लेकिन मैं व्यक्तिगत रूप से एक-के-विशेष केस कलेक्शन पर सामान्य-उद्देश्य वाले जेनरिक को पसंद करता हूं।

वहाँ कोई अंतर्निहित डाउनकास्टिंग है

डार्ट की एक और असामान्य प्रकार की प्रणाली की विशेषता यह है कि असाइनमेंट संगतता द्विदिश है: आप चेतावनी के बिना डाउनकास्ट कर सकते हैं। किसी भी / से (अन्य भाषाओं में गतिशील) असाइन करने के विशिष्ट विशेष मामले के अलावा, टाइपस्क्रिप्ट इसकी अनुमति नहीं देता है। आपको मुखर लिखना है। व्यक्तिगत रूप से, मुझे यहां टाइपस्क्रिप्ट का दृष्टिकोण पसंद है।

एरो फ़ंक्शंस और लेक्सिकल इस

यह सिर्फ मातृत्व और सेब पाई है। मुझें यह पसंद है। (डार्ट में यह भी है, और यह हमेशा शाब्दिक रूप से बाध्य है।)

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

यदि आप ऐसा कुछ चाहते हैं जो JS के सिंटैक्स और शब्दार्थों से अधिक आक्रामक कदम है, तो ऐसा लगता है कि TypeScript ऐसा नहीं है।


17
पेड़ क्या हिल रहा है?
सिटीकीड

4
पेड़ झटकों के बारे में अधिक जानकारी के लिए: blog.sethladd.com/2013/01/…
सेठ लड्ड

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

3
पूर्वावलोकन स्थिति में रहते हुए, टाइपस्क्रिप्ट को कल आने वाले पेशेवर परियोजनाओं में उपयोग के लिए सही आकार में है। भाषा और उपकरण किसी भी गंभीर मुद्दे के बिना काम करते हैं, या शायद ही किसी भी मुद्दे पर।
शहरकीड

4
जैसा कि @JustAnotherUserYouMayKnowOrNot ने उल्लेख किया है, टाइपस्क्रिप्ट ने ब्लॉग में 0.9 ब्लॉग्स
जॉन

60

जबकि सवाल यह था कि "क्या भाषाओं का उद्देश्य समान है?", वास्तविक प्रश्न यह है: "हम जहां हैं, वहां से वेब प्रोग्रामिंग को बेहतर कैसे बना सकते हैं?"

दोनों परियोजनाएं इस पर विचार करने का प्रयास करती हैं

  • प्रोग्रामिंग भाषा (टाइपस्क्रिप्ट एक छोटा लेकिन बहुत साफ कदम बनाता है, डार्ट अधिक क्रांतिकारी कदम बनाता है जो अभी भी आगे बढ़ रहा है)

  • मौजूदा js कोड के साथ इंटरऑपरेबिलिटी (टाइपस्क्रिप्ट्स में 0 संक्रमण जो js के लिए संकलित है, डार्ट में जटिल है, क्योंकि 2 VMs एक दूसरे से बात करते हैं)

  • सॉफ्टवेयर इंजीनियरिंग प्रथाओं (केवल डार्ट, वेब घटकों और छाया डोम)

पिछले 3 दिनों में मैंने डार्ट में और फिर टाइपस्क्रिप्ट में गहरा गोता लगाया। मेरा CoffeeScript कोडबेस 2000s लाइनों की कोड में चला गया, बहुत सुंदर लेकिन बहुत शराबी कॉफीस्क्रिप्ट के साथ संभाला जाना चाहिए। मुझे जिन समस्याओं का सामना करना पड़ा, उनमें कॉफ़ीस्क्रिप्ट में उन विशेषताओं का अभाव है जो मध्यम से बड़े पैमाने पर प्रोग्रामिंग के लिए डिज़ाइन की गई भाषाओं में हैं: इंटरफेस, मॉड्यूल, टाइप सुरक्षा। लेकिन वहाँ एक भी था बहुत अधिक गंभीर कॉफी और जे एस के साथ इस मुद्दे: js "इस सूचक" weirdness मेरे विवेक को प्रभावित किया और CoffeeScript यहाँ कुछ भी मदद नहीं करता है।

तो यहाँ मेरे परिणाम के 3 दिनों के बाद eval और उपयोग:

तीव्र गति

ट्यूटोरियल के माध्यम से अच्छी तरह से चला गया, 1 पुस्तक पढ़ना, दूसरी पुस्तक को स्किम करना और डेमो की कोशिश की। मैंने सोचा, डार्ट कि भविष्य हैफिर मैंने अपने ऐप को डार्ट में माइग्रेट करने की कोशिश की । यही कारण है कि मेरा उत्साह 100 से 10 तक नीचे चला गया था यही कारण है:

  1. डार्ट संपादक एक ही रास्ता कार्यक्रम डार्ट है। जबकि सब्लिम टेक्स्ट के लिए प्लगइन्स मौजूद हैं, वे इंटेलीजेंस, कोड पूरा होने (अगर मैं गलत हूं तो मुझे सही करें) जैसी सुविधाएं प्रदान नहीं करते हैं। डार्ट संपादक हालांकि पूर्व अल्फा गुणवत्ता में है। जब यह वेब पेज को अपडेट करने जैसी सुपरकॉल मैजिक चीजों का समर्थन करता है, जब आप CSS फ़ाइल (वास्तव में शांत) को संपादित करते हैं तो यह एक मिनट में कई बार लटका या क्रैश हो जाता है। इसलिए आप 5 अक्षर टाइप करें और 2 बार टाइपिंग के बीच में आपको 2 सेकंड या 15 सेकंड इंतजार करना होगा। और मेरे पास कोड की कुछ पंक्तियों के साथ एक परियोजना थी, इसलिए प्रतीक्षा नहीं करना चाहता था कि जब अतिरिक्त लाइनें होती हैं तो क्या होता है। फ़ाइल को डार्ट संपादक के अंदर एक फ़ोल्डर से दूसरे में स्थानांतरित किया, दुर्घटना। डिबगिंगडार्ट एडिटर पहली नज़र में सभी js डिबगिंग टूल्स से बेहतर है, जो मुझे पता है (क्रोम मेरी पसंद है), लेकिन अभी भी बहुत सारी चीज़ें गायब हैं: कोई तत्काल विंडो नहीं (यह इस समय js डीबगिंग को बेहतर बनाता है), कोई घड़ियाँ नहीं।

  2. राजनीति और पलायन की संभावनाएँ : कुछ लोग कहते हैं कि Apple, MS और फ़ायरफ़ॉक्स कभी डार्ट VMs प्रदान नहीं करेंगे। ठीक है, मैं इतना निश्चित नहीं हूं, लेकिन कम से कम एप्पल के लिए यह बहुत निश्चित समय पर दिखाई देता है। दूसरों के लिए इसके विपरीत से अधिक होने की संभावना है। तो कोई बात नहीं, हम डार्ट को जावास्क्रिप्ट में बदल सकते हैं। जिस तरह से यह एकीकरण काम करता है वह वास्तव में बहुत अच्छा है, डार्ट एक js स्टब रखता है जो js कोड को डार्ट एडिटर से जुड़ा रखता है, इसलिए डार्ट एडिटर में एक print()स्टेटमेंट अभी भी शांत दिखाई देता है। लेकिन यहाँ आता है लेकिन: ऐसे रूपांतरित कोड के पदचिह्न अधिक हैं। 150kB या तो (minification से पहले)। मैंने सही आकार में बहुत ज्यादा खुदाई नहीं की, इसलिए मुझे इस पर नखरे न करने दें।

  3. भाषा परिपक्वता । जिस तरह से डार्ट एडिटर के साथ मेरे चेहरे पर 3 बार एक मिनट में पॉपिंग के साथ बहुत गंभीर मुद्दों के अलावा मैंने यह भी अस्वीकार्य पाया कि डार्ट कोड के बारे में हर स्रोत आपको एक अलग डार्ट का उपयोग करता है। हर दिन भाषा बदलती है। आप 5 सप्ताह पहले की पोस्ट पाते हैं? यह पुराना है। आप Google ट्यूटोरियल से नमूने आज़माएँ? चूंकि एपीआई बदल गया है, इसलिए कम से कम 1 नमूना संकलित नहीं करता है। यहां तक ​​कि सांसारिक चीजें, जैसे कि किसी ईवेंट को डोम तत्व से जोड़ना अच्छी चाल में हैं

  4. मौजूदा js पुस्तकालयों के साथ एकीकरण थोड़ा सा शामिल है। 2 वीएम को यहां संवाद करने की आवश्यकता है, इसकी मुश्किल।

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

इसलिए: मैं डार्ट को एक महान परियोजना मानता हूं, फिलहाल इसका उपयोग करने से अप्रत्याशित जोखिम का एक अच्छा हिस्सा वहन किया जाता है और इसे अच्छे स्थिर स्तर पर लाने में इस साल का समय लगेगा।

टाइपप्रति

टाइपस्क्रिप्ट का मूल्यांकन करना बहुत आसान है, 1 या 2 घंटे लगते हैं और आप सब कुछ जानते हैं। पढ़ना भाषा कल्पना दस्तावेज़ और एक छोटी पुस्तक (टाइपप्रति पता चला) से पता चला है, मैं सब कुछ जानता था और प्रोग्रामिंग शुरू कर दिया। तब मुझे यह जानकर आश्चर्य हुआ कि टाइपस्क्रिप्ट के जावास्क्रिप्ट में जोड़ सिर्फ मेरी ग्राहक प्रोग्रामिंग को बढ़ाने के लिए मुझे हर गंभीर आवश्यकता को पूरा करना है । यहाँ पर प्रकाश डाला गया है:

  1. इंटरफेस । एनकैप्सुलेशन और इंटरफेस मुझे अपने कोड को आसानी से संरचना करने की अनुमति देते हैं। उत्तम!

  2. क्लास स्टेट। । टाइपस्क्रिप्ट राज्य को व्यक्त करने की अनुमति देता है कि एक वर्ग के उदाहरण स्पष्ट रूप से ले जाते हैं, या बेहतर यह लागू करता है। यह js या कॉफ़ी की तुलना में एक बड़ा कदम है।

  3. thisपागलपन को बुलाओ । एरो फ़ंक्शन के अंदर, टाइपस्क्रिप्ट thisकिसी भी सामान्य व्यवहार वाले नागरिक की तरह सूचक बनाता है ।

  4. संपादक, इन्टेलिसेंस । टाइपस्क्रिप्ट 100% टॉप परफेक्ट इन्टेलिसेन्स के साथ आता है जो कि # # प्रोग्रामिंग करते समय विजुअल स्टूडियो से उपयोग की जाने वाली माइक्रो या मिलीसेकंड रेंज में प्रतिक्रिया करता है। सभी महत्वपूर्ण js पुस्तकालयों के लिए टाइपस्क्रिप्ट हेडर भी मौजूद हैं । महान महान महान।

  5. अनुभव और जोखिम । टाइपस्क्रिप्ट का उपयोग करने से शून्य जोखिम होता है, भाषा स्पष्ट रूप से परिभाषित होती है, पूरी तरह से स्थिर होती है, यह सिर्फ चीनी के साथ js होती है, कुछ भी अप्रत्याशित नहीं है।

वास्तव में, ये संवर्द्धन मुझे वह सब कुछ देते हैं जिसकी मुझे आवश्यकता थी। केवल एक चीज जिसे मैं भविष्य में देखना चाहूंगा वह सामान्य संग्रह हैं। लेकिन वह मूंगफली है।

तो प्रदर्शन के बारे में क्या? जबकि मैं खुद को एक प्रदर्शन फ्रीक मानता हूं, मुझे विश्वास नहीं है कि कोई भी परियोजना है जो प्रदर्शन के आधार पर यहां प्रौद्योगिकी पसंद करेगी। दोनों ही js liga में हैं।

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

किसी भी स्थिति में 3 खाली दिन ज्यादातर मज़ेदार थे और मैंने बहुत कुछ सीखा, अगर आपको समय मिलता है, तो डार्ट के लिए 1 दिन और टाइपस्क्रिप्ट के लिए 2 घंटे लगते हैं। कोशिश करो।

अद्यतन अक्टूबर 2014

यह एक समय हो गया है और पूर्व पोस्ट यह धारणा प्रकट होती है कि टाइपस्क्रिप्ट जाने के लिए सुरक्षित स्थिर मार्ग है काफी सही था। मुझे टाइपस्क्रिप्ट, डार्ट और क्लोजर के बारे में एक (बहुत) प्रमुख कथन मिला:

मुझे काफी समय से वेब प्रोग्रामिंग की चुनौती में दिलचस्पी है। मेरा मानना ​​है कि वर्तमान में Google क्लोजर अभी भी बड़े पैमाने पर जावास्क्रिप्ट / वेब विकास के लिए सबसे अच्छा विकल्प है, लेकिन यह अंततः उस चीज़ से बदल दिया जाएगा जो कम क्रिया है। यद्यपि डार्ट काफी वादे दिखाता है, फिर भी मैं जावास्क्रिप्ट के आकार से निराश हूं कि यह उत्पन्न करता है। तुलना करके, यदि टाइपस्क्रिप्ट को सीधे जावास्क्रिप्ट में अनुवादित किया जा सकता है जिसे क्लोजर कंपाइलर के उन्नत मोड का उपयोग करके संकलित किया जा सकता है, तो हम वर्बोसिटी के बिना क्लोजर से अनुकूलित जावास्क्रिप्ट के सभी लाभ हो सकते हैं। क्या अधिक है, क्योंकि टाइपस्क्रिप्ट जावास्क्रिप्ट का एक सुपरसेट है, मेरा मानना ​​है कि इसके सिंटैक्स एक्सटेंशन के पास कुछ बिंदु पर ECMAScript मानक में इसे बनाने का मौका है,

http://blog.bolinfest.com/2013/01/generating-google-closure-javascript.html

माइकल बोलिन एक लंबा समय (पूर्व) Google (पूर्व) fb फ्रंट एंड हीरो है, जो Google बंद होने में भी शामिल है (क्लोजर के बारे में अपनी पुस्तक प्राप्त करें)।

Google Traceur

ECMA लिपि 6 के लिए Google का एप्राच आज का ट्रेसुर प्रोजेक्ट है: https://github.com/google/traceur-yliler

टाइपस्क्रिप्ट की तुलना में टूलिंग सपोर्ट आज की तुलना में काफी पीछे है। हालाँकि, यह पुनरावृत्तियों या समझ जैसे अत्यधिक शांत भविष्य js भाषा ehancements को अपनाने में बहुत तेज़ है।

फेसबुक फ्लो, गूगल एटस्क्रिप्ट

टाइपस्क्रिप्ट के समान सुविधाएँ प्रदान करें।

Microsoft के जोनाथन टर्नर के अनुसार, इन विभिन्न जावास्क्रिप्ट प्रकारों की जाँच के साथ और इसके बारे में क्या करना है, इसके बारे में कोई भी आश्चर्यचकित हो सकता है। एक अच्छी खबर यह है कि Microsoft, Facebook और Google इन पर सहयोग कर रहे हैं:

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

अमेरिकन प्लान प्रवाह पर जानकारी लेख


मैं तब तक इंतजार करूंगा जब तक कि Google डार्ट का उपयोग खुद की परियोजनाओं के बहुमत के लिए शुरू नहीं करता (जहां लागू हो) - दूसरे शब्दों में इसे कुत्ते का भोजन करना शुरू कर देता है। इसके अलावा डार्ट सिल्वरलाइट की तरह लगता है, केवल एक्सएएमएल भाग के बिना, केवल एक भाषा, लेकिन जेएस / एचटीएमएल के साथ बेहतर एकीकृत।
डेन

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

7
यह बहुत ही व्यावहारिक जवाब था। यह लिखने के लिए आपको धन्यवाद।
दर्शन सावार्दकर

2
पता नहीं कैसे टाइपस्क्रिप्ट " thisसंदर्भ " को ठीक करता है, जैसा कि आपको अभी भी thisक्लास विशेषताओं तक पहुंचने के लिए विधि के संदर्भ के साथ तरीकों के अंदर घोषित कॉलबैक फ़ंक्शन को बांधना होगा । वह "फिक्सिंग" कुछ भी कैसे है?
नुरेटिन

1
वैध बिंदु। जबकि बाइंड को अभी भी कभी-कभी आवश्यक होता है, यह एरो फ़ंक्शंस के अंदर अलियास किया जाता है , इसलिए समस्या कम से कम कम हो जाती है।
शहरकी

17

स्कॉट हंसेलमैन का उद्धरण:

लोगों ने टाइपस्क्रिप्ट की तुलना डार्ट से की है। यह सेब की तुलना कार्बोरेटर से कर रहा है। टाइपस्क्रिप्ट जावास्क्रिप्ट पर बनाता है ताकि कोई जेएस इंटरॉप समस्या न हो। डार्ट खरोंच से लिखी गई एक देशी आभासी मशीन है। डार्ट जावास्क्रिप्ट के साथ इंटरॉप्स करता है ... लेकिन यह जेएस नहीं है। यह उदाहरण के लिए जावास्क्रिप्ट संख्या प्रकार का भी उपयोग नहीं करता है।

से क्यों टाइपप्रति कुछ भी करने के लिए जवाब है?


8
मैं ईमानदारी से थोड़ा भ्रमित हूं। टाइपस्क्रिप्ट वास्तव में जेएस नहीं है, है ना? var x = {}; x.foo = 5; //Doesn't work in typescriptऔर var e = window.event ? window.event : e; //Doesn't work in typescriptऊपर का उदाहरण टाइपस्क्रिप्ट कंपाइलर को विफल कर देगा। क्या मैं कुछ भूल रहा हूँ? मैं अपने जावास्क्रिप्ट में केवल "ड्रॉप" नहीं कर सकता और जब मुझे लगता है कि प्रकार का उपयोग करता है। मुझे कुछ नया सिंटैक्स सीखना होगा और सभी प्रकार के साथ संरचना करनी होगी।
अनिकेरू

@aikeru हम्म, आप सही हैं। यह जेएस की महानता को खत्म करने के लिए प्रकट होता है। मैं इस नए टूल का उपयोग करने जा रहा था, लेकिन अब मैं दूसरा विचार रख रहा हूं।
Chev

3
सहमत नहीं हैं। यह सेब को नाशपाती या कार्बोरेटर से ईंधन इंजेक्शन की तुलना करने जैसा है। इन दोनों के बारे में बहुत सी बातें हैं जो स्वाभाविक रूप से बहुत से लोगों को एक ही समय में उनके बारे में सोचने के लिए प्रेरित करती हैं।
हिप्पिट्रैएल

रिकॉर्ड के लिए, यह काम करता है var x = {}; x['foo'] = 5;और यह भी करता है var y:any = {}; y.foo = 5;, लेकिन मैं एक छोटे से आप इस बारे में सही हो आश्चर्य हुआ - के कथित प्रकार {}है {}बजाय any। एक प्रकार का अनुमान मुद्दा हो सकता है। मैंने इस मुद्दे को यहां पोस्ट किया - हम देखेंगे कि वे कैसे प्रतिक्रिया देते हैं।
mindplay.dk

3

हाल ही में अपनी खोज के साथ इस चर्चा में झूमना पड़ा।

पहला: टाइपस्क्रिप्ट

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

दूसरा: डार्ट

डार्ट Google के लिए एक विडंबनापूर्ण कदम है। हो सकता है कि उन्हें एक्टिवएक्स और सभी बुरे सपने याद न हों, जो किसी भी चीज़ में काम करने की कोशिश कर रहे हों, लेकिन दिन के खूंखार IE 5 या IE 6 से। उन दिनों से उबरने में एमएस को कई साल लग गए।

एक भाषा के रूप में डार्ट "वैचारिक" कुछ अच्छा OOP सुविधाओं को संयोजित करने की कोशिश करता है। जावास्क्रिप्ट आदि के लिए एनोटेशन आदि एक अच्छा विचार है।

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

डार्ट को किसी भी चीज़ में उपयोग करने की कोशिश की अवधारणा लेकिन इस समय एक तुच्छ ऐप डरावना है।

इस सब के शीर्ष पर ES6 दूर नहीं है। ईएस 6 कई विशेषताएं लाता है जो डार्ट ईएस 5 में मौजूद हैं। एक बार ES6 सड़कों पर हिट होने पर मूल्य प्रस्ताव क्या होगा? कम से कम इस समय केवल एक ही बदलाव आपको टाइपस्क्रिप्ट में करना है एक बार ES6 सामने आता है, शायद लक्ष्य के लिए एक अलग संकलन चुनना है।

बस किसी भी स्पष्ट करने के लिए कि मैं एक समर्थक एमएस व्यक्ति हूं। एमएस कुछ सभ्य उत्पाद बनाता है और ओएसएस समुदाय के साथ अतीत की गलतियों को ठीक करने के लिए काफी प्रगति की है। मैं अभी भी शायद ही कभी एमएस से टाइपस्क्रिप्ट के अलावा किसी अन्य चीज का उपयोग करता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.