2014-10-29 7 views
13

बोवर, ग्रंट और येओमन जैसे उपकरण हाल ही में लोकप्रियता में बढ़ गए हैं।बोवर, ग्रंट और येओमन एक विजुअल स्टूडियो .NET वर्कफ़्लो में कैसे फ़िट होते हैं?

जब भी मैंने उनके बारे में पढ़ा है या किसी लेख में उनके पास आ गया है, तो मैंने उन्हें मैक-आधारित फ्रंट-एंड देव या पीसी-आधारित के लिए उपयोग किए जाने वाले टूल के रूप में खारिज कर दिया है, लेकिन माइक्रोसॉफ्ट स्टैक - सब्लिमे टेक्स्ट इत्यादि पर नहीं।

विजुअल स्टूडियो में NuGet, प्रोजेक्ट टेम्पलेट्स, एमएसबिल्ड, एमएसडीपॉल्ड, टीमसिटी/टीएफएस एज़ूर इत्यादि हैं और मैं आम तौर पर मानता हूं कि वीएस बहुत ही स्वचालित स्वचालित पारिस्थितिकी तंत्र है (कुछ कहते हैं कि यह हमें समझने की लागत पर उत्पादक बनाता है)।

कैसे इन उपकरणों वी.एस. पर ASP.NET devs के द्वारा प्रयोग किया जा रहा है?

नोट: यह नहीं एक राय-आधारित प्रश्न, मैं कैसे इन उपकरणों का इस्तेमाल किया जा रहा की वास्तविक दुनिया उदाहरण के लिए देख रहा हूँ है।

उत्तर

8

जो घुरघुराना/घूंट कार्यों

enter image description here

इस भयानक लेख लिखा पढ़ें शुरू करने के लिए बोवर और NPM पैकेज समर्थन जोड़ता है

enter image description here

Grunt/Gulp launcher विस्तार दृश्य स्टूडियो के लिए एक Package Intellisense एक्सटेंशन नहीं है अधिक जानकारी के लिए स्कॉट हंसेलमैन द्वारा:

http://www.hanselman.com/blog/IntroducingGulpGruntBowerAndNpmSupportForVisualStudio.aspx

अद्यतन: http://www.asp.net/vnext/overview/aspnet-vnext/grunt-and-bower-in-visual-studio-2015

जॉन पिताजी से महान युक्तियाँ:

इन सुविधाओं अब पूरी तरह से दृश्य स्टूडियो 2015 में एकीकृत कर http://www.johnpapa.net/get-up-and-running-with-node-and-visual-studio/

+1

अरे, आपका जवाब और लिंक के लिए धन्यवाद। मैं इसे उत्तर के रूप में चिह्नित करूंगा और "लिंक रोट" के हित में स्कॉट के लाभों के सारांश के साथ अपना स्वयं का उत्तर जोड़ूंगा। –

3

स्कॉट Hanselman के अनुसार ब्लॉग पोस्टिंग, वह इस कारण के बारे में कहता है कि एक वीएस देव क्यों चाह सकता है इन उपकरणों के लिए समर्थन:

आप में से कुछ पूछ सकते हैं, क्यों जावास्क्रिप्ट के लिए NuGet का उपयोग नहीं करते? सीएसएस/जेएस के निर्माण के लिए एमएसबिल्ड का विस्तार क्यों नहीं करें? सरल। क्योंकि इस तरह की चीज़ के लिए पहले से ही समृद्ध पारिस्थितिक तंत्र है। NuGet सर्वर पक्ष पुस्तकालयों (और कुछ क्लाइंट-साइड) के लिए बहुत अच्छा है लेकिन एनपीएम और बॉवर पर बहुत सी सीएसएस और जेएस libs हैं। एमएसबिल्ड सर्वर-साइड बिल्ड के लिए बहुत अच्छा है लेकिन क्लाइंट-साइड ऐप बनाते समय अधिक हो सकता है।

तो, दोनों का उपयोग करें। ये आपके टूलकिट में टूल्स हैं। ASP.NET कर सामने के अंत devs के लिए एक अधिक परिचित वातावरण का अर्थ है और यह ASP.NET devs लाने के लिए दरवाजे खोलता है (भविष्य अगर जरूरत में और अन्य सामग्री,) Gulp, ग्रंट, बोवर, NPM के लिए समर्थन जोड़ा जा रहा है जेएस और सीएसएस पुस्तकालय समुदायों में हर दिन उपयोग करते हैं।

हालांकि मैं अभी भी अन्य लोगों के विचार में दिलचस्पी लेता हूं कि ये उपकरण वीएस डेवलपर के 'वर्कफ़्लो' में कैसे फिट होते हैं। उदाहरण के लिए, "मैंने गंट स्थापित करने से पहले, मैं आसानी से सक्षम नहीं था ... blah।"

अद्यतन

मैं के रूप में मैं चीजें सीखने यहाँ में कुछ अपडेट रह सकते हैं

  • तो, नए शिक्षण नंबर 1:। Yeoman scaffolds सामने के अंत, क्लाइंट-साइड कोड जबकि वीएस मचान सर्वर-साइड स्टफ और प्रोजेक्ट टेम्पलेट्स (जो महीनों/वर्षों के लिए नहीं बदलते हैं), यमन तेजी से बदलते जेएस एमवी * फ्रेमवर्क के लिए बॉयलरप्लेट के साथ मदद कर सकते हैं, उदाहरण के लिए

  • नई शिक्षा संख्या 2 टूलिंग प्राइम-टाइम एंटरप्राइज़ dev के लिए तैयार नहीं है।

पहली समस्या यह है कि NPM डाउनलोड नेस्ट सबफ़ोल्डर और recurses में निर्भर संकुल इस मॉडल विस्तृत रूप से है, तो आप फोल्डर पथ कि लंबे समय से पात्रों के 100s के साथ खत्म। विंडोज़ और कुछ टूलींग पागल हो जाती है। कामकाज हैं लेकिन यह एक गंभीर दोष है।

नवीनतम नोड और कुछ अतिरिक्त कमांड लाइन विकल्प अब यह बेहतर व्यवहार करते हैं।

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

कुछ एनपीएम पैकेज एसएसएच का उपयोग करके गिट रेपो क्लोन करना चाहते हैं! पोर्ट 22 खुला नहीं है; क्योंकि समुदाय इतना लिनक्स/मैक गैर-उद्यम उन्मुख है, ऐसे मुद्दे सामने आते हैं क्योंकि वे इतनी रचनात्मक-एजेंसी देवताओं के लिए कोई समस्या नहीं हैं और फिर महीनों तक घूम सकते हैं।

  • न्यू सीखने no.3: कैसे गतिशील रूप से डाउनलोड किया जे एस फ़ाइलें परियोजना फ़ाइल में सामग्री के रूप में अंत और इस तरह एक एमएस तैनात पैकेज को जोड़ा गया अभी भी एक अज्ञात है।

सीखने पर अपडेट 3, हमने एक बिल्ड बनाया है जो सिर्फ कॉन्फ़िगरेशन फ़ाइलों को बदल देता है, फिर हमने गंतव्य सर्वर पर व्यक्तिगत रूप से फ़ाइलों की प्रतिलिपि बनाने के लिए MSDeploy कमांड लाइन का उपयोग किया। अगर मैं अकेले काम कर रहा था तो ऐसा कुछ नहीं होगा, यह सब कुछ स्वचालित करने के लिए सप्ताहों को बंद और बंद कर दिया।

+1

यमन के पास एएसपी.नेट 5 सर्वर साइड टेम्पलेट्स के लिए मचान भी है https://github.com/OmniSharp/generator-aspnet – kenwarner

0

बोवर अपडेट तेज होने के साथ। प्रत्येक बार जब कोई नया संस्करण या अपडेट जारी होता है तो हम इसे आसानी से बोवर में ढूंढ सकते हैं। आपको अब इंतजार करना पड़ेगा क्योंकि हमें NuGet के साथ जाना था।

तो हम कह सकते हैं कि NuGet सर्वर के पक्ष में राजा बना हुआ है, लेकिन बोवर क्लाइंट-भूमि का नया राजा है।

अधिक जानकारी के लिए इस पोस्ट में एक नज़र डालें और एक सरल उदाहरण देखें: http://nearsoft.com/blog/bower-and-asp-net-5-a-tutorial/

0

दोनों उद्यम और आकस्मिक विकास से एक दृष्टिकोण के साथ मूल प्रश्न का उत्तर देने ...

इतिहास

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

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

उन उपकरणों और तकनीकों में से कई Microsoft /web पर पाए जा सकते हैं।

विचलन

एक ही समय में, वहाँ एक तेजी से बढ़ते मुक्त स्रोत समुदाय है कि पुस्तकालयों और चौखटे कि लोकप्रियता में आधुनिक वेब साइटों और वेब अनुप्रयोग बनाने के बढ़ी है के कई विकसित किया गया अस्तित्व में है।

प्रौद्योगिकियों के "माइक्रोसॉफ्ट स्टैक" के साथ काम कर रहे डेवलपर्स के लिए, अंतराल को विजुअल स्टूडियो में NuGet को एकीकृत करके मूल रूप से ब्रिज किया गया था। कई, लेकिन सभी नहीं, पुस्तकालयों और ढांचे NuGet संकुल के रूप में उपलब्ध थे; और इन तकनीकों के साथ काम करने के लिए माइक्रोसॉफ्ट से बहुत सारे समर्थन थे। माइक्रोसॉफ्ट ने परियोजनाओं के विकास और साझाकरण का समर्थन करने के लिए CodePlex नामक अपना ओपन सोर्स मिनी-पारिस्थितिक तंत्र भी बनाया था, आमतौर पर किसी भी तरह से अपनी तकनीक पर केंद्रित था।

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

इस तरह के कार्य प्रवाह में शामिल हैं: ट्विटर से Bower के माध्यम से

  • क्लाइंट साइड पैकेज प्रबंधन (Bootstrap, आदि) के माध्यम से YeomanNPM
  • क्लाइंट साइड आवेदन मचान के माध्यम से
  • नोड आधारित पैकेज प्रबंधन (उदाहरण के लिए जनरेटर ASP.NET और knockout)
  • Gulp के माध्यम से स्वचालित कार्य चल रहा है और Grunt
    • पूर्व संकलन या तो एस.ए.एस.एस. या इस तरह के ES6 के रूप में कम
    • transpiling भाषाओं या TypeScript
  • परीक्षण (Jasmine, Karma, आदि)
  • बंडलिंग और तैनाती (Webpack से सीएसएस, इत्यादि)

दुर्भाग्यवश, इनमें से अधिकतर एक मैनुअल समर्थक है सेस, जैसे नौकरी के लिए सही पैकेज की पहचान करना या विभिन्न कार्यों को लिखना जो अंततः स्वचालित रूप से चलाए जा सकते हैं। प्रत्येक वास्तव में और अपने आप में एक विषय है! अंत में कुछ ऐसा करने के लिए पैकेज या कमांड को देखने के लिए असामान्य नहीं है - और विजुअल स्टूडियो डेवलपर्स होना चाहिए - स्वचालित हो।

कन्वर्जेंस

माइक्रोसॉफ्ट धीरे-धीरे ही खुला स्रोत विकास का समर्थन नहीं है, लेकिन यह गले लगाने से आगे बढ़ रहा है। यह के रूप में यह खुद .NET Foundation आंदोलन है GitHub के माध्यम से अपने मूल खुले स्रोत समुदाय के लिए उपलब्ध प्रौद्योगिकी के कई बना दिया है, साथ ही।

माइक्रोसॉफ्ट द्वारा अभिसरण करने का एक बड़ा प्रयास कई प्लेटफार्मों के लिए Visual Studio Code पेश करना था - एक सरल विकास अनुभव प्रदान करता है जो ओपन सोर्स समुदाय के साथ लोकप्रिय हो गया वर्कफ़्लो प्रदान करता है।

फिर भी, दृश्य स्टूडियो कोड एक बड़ा कदम शक्ति और सादगी कार्यों और परियोजना टेम्पलेट्स के अपने स्वचालन के माध्यम से दृश्य स्टूडियो के माध्यम से की पेशकश की ज्यादा करने के लिए इस्तेमाल डेवलपर्स के लिए वापस के रूप में देखा जा सकता है। माइक्रोसॉफ्ट ने 2010 और 2013 संस्करणों को बनाए रखने के लिए वेब अनिवार्यताएं पेश कीं; लेकिन जैसा कि कई ने देखा है, डेवलपर वर्कफ़्लो में पूर्ण एकीकरण के बजाय समर्थन दिखाने के लिए यह केवल एक प्रयास था।

पर्दे के पीछे माइक्रोसॉफ्ट ने इसे अन्य प्लेटफार्मों और स्थापित नेट कोर पर .नेट फ्रेमवर्क है डाल करने के लिए देख रहा था। विजुअल स्टूडियो 2015 के रूप में - विशेष रूप से अद्यतन 3 और Node Tools - NPM और बोवर के एकीकरण, साथ ही काम चल रहा है के साथ खुला स्रोत विकास कार्यप्रवाह के लिए बहुत गहरे समर्थन नहीं है। इन्हें अभी भी मैन्युअल हस्तक्षेप की आवश्यकता है लेकिन यह विजुअल स्टूडियो के बाहर वर्कफ़्लो के बराबर है। यह अभी भी विदेशी लगता है, लेकिन यह वहां जा रहा है।

भविष्य

सभी कि माइक्रोसॉफ्ट का निवेश किया है के साथ

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

इस बीच में, मुझे लगता है कि यह दृश्य स्टूडियो डेवलपर्स के लिए एक महान समय है, तो सिर्फ सराहना करने के लिए कैसे "अन्य लोगों को" यह कर दिया गया है, वर्तमान कार्यप्रवाह का एहसास दिलाने के लिए है। इससे पहले कि यह अधिकतर एक क्लिक दूर नहीं होगा।

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