जबकि सवाल यह था कि "क्या भाषाओं का उद्देश्य समान है?", वास्तविक प्रश्न यह है: "हम जहां हैं, वहां से वेब प्रोग्रामिंग को बेहतर कैसे बना सकते हैं?" ।
दोनों परियोजनाएं इस पर विचार करने का प्रयास करती हैं
प्रोग्रामिंग भाषा (टाइपस्क्रिप्ट एक छोटा लेकिन बहुत साफ कदम बनाता है, डार्ट अधिक क्रांतिकारी कदम बनाता है जो अभी भी आगे बढ़ रहा है)
मौजूदा js कोड के साथ इंटरऑपरेबिलिटी (टाइपस्क्रिप्ट्स में 0 संक्रमण जो js के लिए संकलित है, डार्ट में जटिल है, क्योंकि 2 VMs एक दूसरे से बात करते हैं)
सॉफ्टवेयर इंजीनियरिंग प्रथाओं (केवल डार्ट, वेब घटकों और छाया डोम)
पिछले 3 दिनों में मैंने डार्ट में और फिर टाइपस्क्रिप्ट में गहरा गोता लगाया। मेरा CoffeeScript कोडबेस 2000s लाइनों की कोड में चला गया, बहुत सुंदर लेकिन बहुत शराबी कॉफीस्क्रिप्ट के साथ संभाला जाना चाहिए। मुझे जिन समस्याओं का सामना करना पड़ा, उनमें कॉफ़ीस्क्रिप्ट में उन विशेषताओं का अभाव है जो मध्यम से बड़े पैमाने पर प्रोग्रामिंग के लिए डिज़ाइन की गई भाषाओं में हैं: इंटरफेस, मॉड्यूल, टाइप सुरक्षा। लेकिन वहाँ एक भी था बहुत अधिक गंभीर कॉफी और जे एस के साथ इस मुद्दे: js "इस सूचक" weirdness मेरे विवेक को प्रभावित किया और CoffeeScript यहाँ कुछ भी मदद नहीं करता है।
तो यहाँ मेरे परिणाम के 3 दिनों के बाद eval और उपयोग:
तीव्र गति
ट्यूटोरियल के माध्यम से अच्छी तरह से चला गया, 1 पुस्तक पढ़ना, दूसरी पुस्तक को स्किम करना और डेमो की कोशिश की। मैंने सोचा, डार्ट कि भविष्य है । फिर मैंने अपने ऐप को डार्ट में माइग्रेट करने की कोशिश की । यही कारण है कि मेरा उत्साह 100 से 10 तक नीचे चला गया था यही कारण है:
डार्ट संपादक एक ही रास्ता कार्यक्रम डार्ट है। जबकि सब्लिम टेक्स्ट के लिए प्लगइन्स मौजूद हैं, वे इंटेलीजेंस, कोड पूरा होने (अगर मैं गलत हूं तो मुझे सही करें) जैसी सुविधाएं प्रदान नहीं करते हैं। डार्ट संपादक हालांकि पूर्व अल्फा गुणवत्ता में है। जब यह वेब पेज को अपडेट करने जैसी सुपरकॉल मैजिक चीजों का समर्थन करता है, जब आप CSS फ़ाइल (वास्तव में शांत) को संपादित करते हैं तो यह एक मिनट में कई बार लटका या क्रैश हो जाता है। इसलिए आप 5 अक्षर टाइप करें और 2 बार टाइपिंग के बीच में आपको 2 सेकंड या 15 सेकंड इंतजार करना होगा। और मेरे पास कोड की कुछ पंक्तियों के साथ एक परियोजना थी, इसलिए प्रतीक्षा नहीं करना चाहता था कि जब अतिरिक्त लाइनें होती हैं तो क्या होता है। फ़ाइल को डार्ट संपादक के अंदर एक फ़ोल्डर से दूसरे में स्थानांतरित किया, दुर्घटना। डिबगिंगडार्ट एडिटर पहली नज़र में सभी js डिबगिंग टूल्स से बेहतर है, जो मुझे पता है (क्रोम मेरी पसंद है), लेकिन अभी भी बहुत सारी चीज़ें गायब हैं: कोई तत्काल विंडो नहीं (यह इस समय js डीबगिंग को बेहतर बनाता है), कोई घड़ियाँ नहीं।
राजनीति और पलायन की संभावनाएँ : कुछ लोग कहते हैं कि Apple, MS और फ़ायरफ़ॉक्स कभी डार्ट VMs प्रदान नहीं करेंगे। ठीक है, मैं इतना निश्चित नहीं हूं, लेकिन कम से कम एप्पल के लिए यह बहुत निश्चित समय पर दिखाई देता है। दूसरों के लिए इसके विपरीत से अधिक होने की संभावना है। तो कोई बात नहीं, हम डार्ट को जावास्क्रिप्ट में बदल सकते हैं। जिस तरह से यह एकीकरण काम करता है वह वास्तव में बहुत अच्छा है, डार्ट एक js स्टब रखता है जो js कोड को डार्ट एडिटर से जुड़ा रखता है, इसलिए डार्ट एडिटर में एक print()
स्टेटमेंट अभी भी शांत दिखाई देता है। लेकिन यहाँ आता है लेकिन: ऐसे रूपांतरित कोड के पदचिह्न अधिक हैं। 150kB या तो (minification से पहले)। मैंने सही आकार में बहुत ज्यादा खुदाई नहीं की, इसलिए मुझे इस पर नखरे न करने दें।
भाषा परिपक्वता । जिस तरह से डार्ट एडिटर के साथ मेरे चेहरे पर 3 बार एक मिनट में पॉपिंग के साथ बहुत गंभीर मुद्दों के अलावा मैंने यह भी अस्वीकार्य पाया कि डार्ट कोड के बारे में हर स्रोत आपको एक अलग डार्ट का उपयोग करता है। हर दिन भाषा बदलती है। आप 5 सप्ताह पहले की पोस्ट पाते हैं? यह पुराना है। आप Google ट्यूटोरियल से नमूने आज़माएँ? चूंकि एपीआई बदल गया है, इसलिए कम से कम 1 नमूना संकलित नहीं करता है। यहां तक कि सांसारिक चीजें, जैसे कि किसी ईवेंट को डोम तत्व से जोड़ना अच्छी चाल में हैं ।
मौजूदा js पुस्तकालयों के साथ एकीकरण थोड़ा सा शामिल है। 2 वीएम को यहां संवाद करने की आवश्यकता है, इसकी मुश्किल।
निष्कर्ष के रूप में, आप आज के रूप में डार्ट का गंभीरता से उपयोग नहीं कर सकते हैं, और इसमें गोताखोरी 1 और 3 के कारण बहुत मजेदार नहीं है। दोनों बिंदु समय के साथ गायब हो जाएंगे। 2 बिंदु के बारे में, Google ने कुछ दिन पहले यह प्रदर्शित किया कि उनके संकलित js हस्तलिखित js से बेहतर हैं। मेरी तारीफ, बहुत अच्छा काम। कहा गया है कि पदचिह्न मुद्दे के कारण लोडिंग समय अभी भी पीछे रह सकता है। हालाँकि, यदि फ़ुटप्रिंट कोड का उपयोग कई साइटों द्वारा किया जाता है, तो यह कैश्ड और वॉइला उपलब्ध हो सकता है, साथ ही गायब हो जाता है।
इसलिए: मैं डार्ट को एक महान परियोजना मानता हूं, फिलहाल इसका उपयोग करने से अप्रत्याशित जोखिम का एक अच्छा हिस्सा वहन किया जाता है और इसे अच्छे स्थिर स्तर पर लाने में इस साल का समय लगेगा।
टाइपप्रति
टाइपस्क्रिप्ट का मूल्यांकन करना बहुत आसान है, 1 या 2 घंटे लगते हैं और आप सब कुछ जानते हैं। पढ़ना भाषा कल्पना दस्तावेज़ और एक छोटी पुस्तक (टाइपप्रति पता चला) से पता चला है, मैं सब कुछ जानता था और प्रोग्रामिंग शुरू कर दिया। तब मुझे यह जानकर आश्चर्य हुआ कि टाइपस्क्रिप्ट के जावास्क्रिप्ट में जोड़ सिर्फ मेरी ग्राहक प्रोग्रामिंग को बढ़ाने के लिए मुझे हर गंभीर आवश्यकता को पूरा करना है । यहाँ पर प्रकाश डाला गया है:
इंटरफेस । एनकैप्सुलेशन और इंटरफेस मुझे अपने कोड को आसानी से संरचना करने की अनुमति देते हैं। उत्तम!
क्लास स्टेट। । टाइपस्क्रिप्ट राज्य को व्यक्त करने की अनुमति देता है कि एक वर्ग के उदाहरण स्पष्ट रूप से ले जाते हैं, या बेहतर यह लागू करता है। यह js या कॉफ़ी की तुलना में एक बड़ा कदम है।
this
पागलपन को बुलाओ । एरो फ़ंक्शन के अंदर, टाइपस्क्रिप्ट this
किसी भी सामान्य व्यवहार वाले नागरिक की तरह सूचक बनाता है ।
संपादक, इन्टेलिसेंस । टाइपस्क्रिप्ट 100% टॉप परफेक्ट इन्टेलिसेन्स के साथ आता है जो कि # # प्रोग्रामिंग करते समय विजुअल स्टूडियो से उपयोग की जाने वाली माइक्रो या मिलीसेकंड रेंज में प्रतिक्रिया करता है। सभी महत्वपूर्ण js पुस्तकालयों के लिए टाइपस्क्रिप्ट हेडर भी मौजूद हैं । महान महान महान।
अनुभव और जोखिम । टाइपस्क्रिप्ट का उपयोग करने से शून्य जोखिम होता है, भाषा स्पष्ट रूप से परिभाषित होती है, पूरी तरह से स्थिर होती है, यह सिर्फ चीनी के साथ 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, जावास्क्रिप्ट के पीछे के मानक को मोड़ने के लिए भी काम करेंगे। "
अमेरिकन प्लान प्रवाह पर जानकारी लेख