ASP.NET MVC 5 बनाम AngularJS / ASP.NET WebAPI [बंद]


86

मैं वर्तमान में अपनी कंपनी में भविष्य के Webapplications बनाने के लिए प्रोग्रामिंग मॉडल का मूल्यांकन कर रहा हूं। इसलिए मैं ASP.NET WebAPI के साथ ASP.NET MVC 5 (रेजर व्यू के साथ) और AngularJS के बीच फैसला करूंगा। इन दो प्रोग्रामिंग मॉडल के फायदे / नुकसान क्या हैं?


4
खैर ... अगर आप ASP.NETJs को ASP.NET एंकर करने जा रहे हैं ... तो आप वास्तव में इसकी तुलना नहीं कर रहे हैं। ऐसा लगता है कि आप जावास्क्रिप्ट को कोणीय से बाहर ले जाना चाह रहे हैं, और यह वैसा नहीं है जैसा कि यह होना चाहिए। कोणीय क्लाइंट के लिए आपकी रूपरेखा है, और जब आप बहुत कम सर्वर साइड टेम्प्लेटिंग का उपयोग करते हैं तो सबसे अच्छा काम करता है: simple-talk.com/blogs/2013/10/16/… । प्रमाणीकरण और इस तरह की चीजों से समझ में आता है, लेकिन रेजर को छोड़ दें, और सीधे सीधे .NET जाएं और इसके साथ Angular के लिए एक API लेयर बनाएं।
ब्रायन वेंडरबसच

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

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

टेम्परिंग इंजनों के बीच भी रेजर एक भयानक चीज है। किसी भी टेम्प्लेटिंग इंजन (जेड, हैंडलबार, रेजर आदि) पर कोणीय का उपयोग करते समय आपको उत्पादकता में भारी वृद्धि होगी। एक बैकेंड का उपयोग करें जो JSONs (वेब-एपि, नोड-एक्सप्रेस या PHP हो सकता है) और एक कोणीय सामने का छोर परोसता है। और बस ध्यान दें, नॉकआउट लगभग कोणीय के रूप में अच्छा नहीं है .... ऑल द बेस्ट ...
गिरिधर कार्णिक

1
@BrianVanderbusch वास्तव में यकीन नहीं है कि आप किस बारे में बात कर रहे हैं। बैकएंड बिल्कुल भी मायने नहीं रखता है। यह कुछ भी हो सकता है। वह कह रहा है कि वह ASP.NET का उपयोग बैकएंड और कोणीय के रूप में क्लाइंट साइड फ्रंट एंड के रूप में करेगा। कोणीय को अभी भी डेटा के लिए सर्वर पर कॉल करने की आवश्यकता है। इसका एंगुलर की तुलना को उचित नहीं देने से कोई लेना-देना नहीं है।
14:44 पर user441521

जवाबों:


103

मेरे 2 सेंट। मैं व्यक्तिगत रूप से शुद्ध HTML विचारों को पसंद करता हूं, एक वेब एपीआई / ईएफ / एसक्यूएल सर्वर बैक एंड के साथ एक पूरी तरह से कोणीय सामने वाला छोर, मूल रूप से कोई रेजर नहीं। रेज़र HTML को रेंडर करने में प्रोग्रामर की मदद करने के लिए एक अमूर्त है, इन दिनों हर किसी का इस निष्कर्ष पर पहुंचना कि इन अमूर्त को हटाना एक बेहतर विचार है, इसलिए ASP.NET का वेब रूपों से लेकर MVC आदि तक विकास करना डेवलपर्स के लिए प्राप्त करना वास्तव में मुश्किल नहीं है। HTML के साथ पकड़ता है और एक कोणीय सामने के छोर का उपयोग करता है, इसके अलावा UI डिज़ाइनर के काम को आसान बनाता है, उनके पास शुद्ध HTML और JSON / Javascript है, उन्हें MVC, रेजर, नियंत्रकों और कार्यों को समझने की आवश्यकता नहीं है। हम एमवीसी पर पूरी तरह से काम करते थे, हमारी नवीनतम परियोजना में हम एक वेब एपीआई बैक एंड और एक कोणीय सामने के छोर पर चले गए, और हमने देखा है कि हमारे यूआई डिजाइनर की उत्पादकता में काफी सुधार हुआ है।


3
और मुझे लगता है कि कोणीय के साथ, आप अपने टेम्पलेट्स को गतिशील रूप से अपडेट करने के लिए जोड़ना चाहते हैं, जो स्पष्ट रूप से, भयानक है
विलेम डी'हैसलेर

4
हाँ, जब विकास की अधिक गतिशील और उत्तरदायी फ्रंट एंड बनाम लागत विकसित करने की बात आती है, तो वास्तव में कोई प्रतिस्पर्धा नहीं है।
मोहम्मद सिपाहीवंद

@ user189756 वेब एपीआई दृष्टिकोण का उपयोग करते समय आप क्लाइंट को HTML पेज कैसे वितरित कर रहे हैं?
योव

@ योव यह एक पुराना उत्तर है, लेकिन उस समय यह सिंगल कंट्रोलर के साथ एमवीसी होस्ट था।
मोहम्मद सिपाहीवंद

1
@ योव पूर्ववत्। लेकिन मैं जोड़ूंगा कि अन्य उत्तर भी उत्कृष्ट है, विशेष रूप से एसईओ जैसी चीजों को ध्यान में रखते हुए।
मोहम्मद सिपाहीवंद

53

मेरा मानना ​​है कि आप तुलना नहीं कर सकते। AngularJS एक सिंगल पेज एप्लिकेशन (एसपीए) फ्रेमवर्क है जबकि ASP.Net MVC मानक मॉडल का उपयोग करता है जहां पृष्ठों के बीच एक नेविगेट होता है। आप एक स्पा का निर्माण करना चाहते हैं, जैसे कारकों से तय होता है

  • क्या आप SEO चाहते है? इनमें से अधिकांश जेएस समृद्ध ढांचे को सीमित समर्थन प्राप्त है।
  • आप अपने ऐप को एसपीए या मल्टीपल एसपीए के रूप में कैसे बना सकते हैं।
  • एक प्रकार की सुरक्षित भाषा C # से जावास्क्रिप्ट प्रोग्रामिंग में आना एक चुनौती है।
  • AngularJS सीखना और इसका प्रभावी ढंग से उपयोग करना।

हम प्रारंभिक AngularJS दृश्यों को सेट करने के लिए मानक MVC 5 रेजर दृश्य का उपयोग करते हैं ताकि आप आवश्यकता पड़ने पर उन्हें एक साथ जोड़ सकें।

यह उत्तर देखें क्या आप Parse.com के साथ AngularJS का उपयोग कर सकते हैं? अधिक संदर्भ प्राप्त करने के लिए।


12
"... जबकि ASP.Net MVC मानक मॉडल का उपयोग करता है जहां एक पृष्ठों के बीच नेविगेट करता है।" यह केवल झूठ है। MVC ऐप्स - रेजर का उपयोग करके - इसे बहुत आसानी से SPA के रूप में डिज़ाइन किया जा सकता है।
सैम

7
AngularJS एसपीए सीमित नहीं है, आप बहुत अच्छी तरह से गहरी जोड़ने के साथ कोणीय के साथ एक बहु पृष्ठ वेबसाइट बना सकते हैं ....
गिरिधर कार्णिक

3
AngularJS एक SPA नहीं है। आप इसे एसपीए की तरह उपयोग कर सकते हैं, लेकिन यह स्वचालित या आवश्यक नहीं है। यहां तक ​​कि रूटिंग करने के लिए रूटिंग निर्भरता एनजी मार्ग में जोड़ना होगा। एंगुलरजेएस अविश्वसनीय है और यह एक बेहतरीन एसपीए हो सकता है, लेकिन एंगुलरजेएस = एसपीए कहने के लिए यह मूर्खतापूर्ण है।
टॉम स्टिकेल

5
टाइपस्क्रिप्ट सुरक्षित जेएस के लिए एक अच्छा विकल्प है।
काइल जेवी

9
AngularJS Google द्वारा बनाया गया था। अगर यह एसईओ में कमी है तो वे कुछ गलत कर रहे हैं।
वर्थि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.