PHP या ASP.NET का उपयोग कब करें? [बन्द है]


46

मैंने PHP और ASP.NET का उपयोग करके वेब एप्लिकेशन विकसित करने में बड़े पैमाने पर काम किया है, लेकिन एक सवाल जो मुझे लगातार ग्राहकों से पूछा जाता है वह यह है कि क्या php वेबसाइट या asp.net वेबसाइट के साथ आगे बढ़ना है।

तो स्वाभाविक रूप से पहली बात जो मन में आती है, वह इस तरह से सवाल का जवाब देती है:

PHP ओपन-सोर्स है और ASP.NET Microsoft से है।

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

मैं दोनों के साथ काम करने से जानता हूं कि विकासशील वेबसाइटों के लिए प्रत्येक के अपने मतभेद हैं।

मेरा सवाल यह है कि ASP.NET और PHP में क्या अंतर हैं

  1. विशेषताएं
  2. सुरक्षा
  3. extendability
  4. फ़्रेमवर्क
  5. औसत विकास का समय

मैं ग्राहकों के साथ तुलना करने में सक्षम होने के लिए तथ्यों की एक सूची संकलित करने की कोशिश कर रहा हूं ताकि उचित विकास मंच पर एक सूचित विकल्प बनाया जा सके।


7
मैंने दोनों का उपयोग किया है, मुझे लगता है कि Visual Studio और ASP.NET बहुत अधिक मजबूत हैं। अकेले IDE मुझे जीतता है।
मफिन मैन

7
PHP हमेशा मेरे लिए एक नरम स्थान होगा क्योंकि यह मेरी पहली वेब प्रोग्रामिंग लैंगेज थी ... लेकिन ASP.NET C # के 2 साल बाद कोई रास्ता नहीं है जिससे मैं वापस जा सकूं .... विजुअल स्टूडियो आईडीई अद्भुत है!
दाल

हां, मैं चाहता हूं कि php में किसी प्रकार का मुख्य IDE हो, लेकिन मुझे लगता है कि यह PHP के बहुत ही खुले स्रोत को मार देगा। निश्चित रूप से विचार करने के लिए एक कारक।
एडवर्ड

2
6. परियोजना के जीवनकाल की लागत?
पुण्योसोमीडिया

@VirtuosiMedia एक और महत्वपूर्ण कारक जिसका मैंने उल्लेख नहीं किया।
एडवर्ड

जवाबों:


39

सुविधाएँ , सुरक्षा और एक्स्टेंडेबिलिटी कमोबेश यही रहने वाली हैं। PHP के साथ क्या किया जा सकता है ASP.NET के साथ किया जा सकता है।

फ्रेमवर्क - फिर, जब फ्रेमवर्क की विशेषताओं की बात आती है, तो यह कमोबेश एक जैसी होगी। हालाँकि, भाषा से अधिक विशिष्ट होने के नाते , आप इस पर विचार करना चाहेंगे:

  • आपके डेवलपर्स किस चीज़ के साथ सबसे अधिक आरामदायक हैं। ज्ञान = दक्षता
  • प्रोजेक्ट-दर-प्रोजेक्ट के आधार पर, एक भाषा में एक फ्रेमवर्क दूसरे में एक फ्रेमवर्क की तुलना में बेहतर प्राकृतिक फिट हो सकता है। भाषा की तुलना में अधिक विशिष्ट होने का अर्थ है कि एक रूपरेखा मदद नहीं कर सकती है लेकिन कुछ कार्यों के लिए अच्छी तरह से अनुकूल है और दूसरों के लिए कम-अच्छी तरह से अनुकूल है।

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


मुख्य विचार जो आपको करना चाहिए वह यह है कि आपके ग्राहक को कौन सी तकनीक ढेर करना चाहती है जो आगे बढ़ने के लिए बंधी हो। न तो दूसरे के साथ अच्छी तरह (आसानी से) मिश्रण करता है। उनके पास ऐसे डेवलपर हो सकते हैं जो एक या दूसरे से परिचित हों।

  • यदि आपका क्लाइंट Microsoft से जुड़े होने के विचार को पसंद करता है, तो ASP.NET के साथ जाएं कुछ ग्राहकों को एमएस के साथ भविष्य के समर्थन, उन्नयन आदि के बारे में अधिक आराम होगा।

  • यदि वे खुले स्रोत और लिनक्स सर्वर के विचार को पसंद करते हैं, तो PHP के साथ जाएं । यह वेब होस्ट, मुफ्त सॉफ्टवेयर, आदि की हस्तांतरणीयता के कारण कुछ ग्राहकों को रुचि दे सकता है।

और अंत में, अगर वे परवाह नहीं करते हैं, तो उस चीज़ के साथ जाएं जो आप सबसे अधिक आरामदायक हैं । इससे आगे इसके लिए बहुत कुछ नहीं है।


8
+1 के लिए "आपको जो मुख्य विचार बनाना चाहिए वह यह है कि आपके ग्राहक को कौन सी तकनीक आगे बढ़ाना चाहती है।"
सिस्टम डाउन

सुरक्षा की शाखा बंद करने का कोई संसाधन नहीं है कि प्रत्येक मंच ने कैसा प्रदर्शन किया है?
एडवर्ड

3
@loyalpenguin - यह अपने आप में एक सवाल है। मुझे यकीन नहीं है कि आप "प्रत्येक मंच ने कैसा प्रदर्शन किया है" से मतलब है, लेकिन अगर आप मंच सुरक्षा छेद (जो लगभग हमेशा जल्दी पैच होते हैं) के बारे में बात कर रहे हैं, जो आपकी चिंताओं का कम से कम है। अधिकांश भाग के लिए, प्रत्येक भाषा डेवलपर के रूप में "सुरक्षित" है जो कोड लिख रहा है।
निकोल

अच्छा बिंदु। बस एक आखिरी सवाल कि मैं उस प्रश्न से कैसे बाहर निकलूंगा जो अधिक सुरक्षित है?
एडवर्ड

@loyalpenguin जब मैं कहता हूं कि यह एक अलग सवाल है, तो मेरा मतलब यह है कि सवाल यह है कि "क्या प्लेटफ़ॉर्म सिक्योरिटी इश्यू वेब ऐप में चिंता का बड़ा कारण है? यदि हां, तो मैं कैसे विश्लेषण करूं जिसका विभिन्न प्लेटफार्मों के बीच बेहतर इतिहास है, जैसे कि? PHP, ASP.NET, Java, रूबी ऑन रेल्स इत्यादि? " मेरे लिए, मुझे यकीन नहीं है कि यह वास्तव में चिंता का एक बड़ा कारण है।
निकोल

29

बस मैं अपने जवाबों के आधार पर एक पृष्ठभूमि देने के लिए, मैंने PHP विकास को पेशेवर रूप से 6+ वर्षों के लिए किया है, मैं पिछले 3-4 महीनों से ASP.NET MVC के साथ खेल रहा हूं, और मैं C # कर रहा हूं PHP प्रोग्रामिंग के रूप में लंबे समय के लिए प्रोग्रामिंग।

मेरे लिए यह एक PHP बनाम ASP # एक PHP बनाम ASP.NET एक से अधिक है।

फ़ीचर / एक्सटेंडेबिलिटी
मुझे लगता है कि ASP.NET यहाँ जीतता है और यह C # जैसी भाषा का उपयोग करने की क्षमता के कारण अधिक है। C #, PHP की तुलना में कहीं अधिक बेहतर भाषा है, जिसमें OO सपोर्ट है। मैं एक ऐसा व्यक्ति भी हूं जो एक सांख्यिकीय रूप से टाइप की गई भाषा को पसंद करता है (यहां तक ​​कि C # 4.0 के साथ सोचा गया था, मेरा मानना ​​है कि आप गतिशील रूप से टाइप किए गए चर कर सकते हैं)। केवल एक चीज जो PHP में C # के ऊपर थी, जहां तक ​​कि एक भाषा सुविधा वैकल्पिक पैरामीटर थी, लेकिन यह एक और चीज है जिसे C # 4.0 में जोड़ा गया है (यह सुनिश्चित नहीं है कि यह कितनी अच्छी तरह काम करता है क्योंकि मैंने अभी तक इसकी कोशिश नहीं की है)।

सुरक्षा
मैं शायद यह कहूंगा कि यह दोनों के बीच की धोबी है। मुझे लगता है कि सुरक्षा के साथ मदद करने के लिए दोनों में कार्यक्षमता है लेकिन अंततः यह सुनिश्चित करना प्रोग्रामर का काम है कि उनका आवेदन सुरक्षित है।

फ्रेमवर्क
वेल PHP में बहुत अधिक मुख्यधारा के ढांचे (CakePHP, Codeigniter, Symfony, Zend फ्रेमवर्क) और ASP.NET की तुलना में कई अन्य छोटे फ्रेमवर्क हैं। ASP.NET में Microsoft से 2 मुख्य फ्रेमवर्क हैं, WebForms (बकवास का एक पूरा टुकड़ा) और ASP.NET MVC (इसका कारण मैंने ASP.NET विकास में प्राप्त करना शुरू किया)। जबकि PHP में अधिक चौखटे हैं, मुझे पता है कि ASP.NET MVC 3 फ्रेमवर्क किसी भी तरह के PHP फ्रेमवर्क से बेहतर है।

औसत विकास समय
मुझे लगता है कि छोटी परियोजनाओं के लिए PHP में विकास का समय बहुत बेहतर होता है, क्योंकि आपकी परियोजना आकार में बढ़ती है, इस संबंध में सी # स्केल बेहतर होता है।

लागत
कुछ है कि लाया जाना चाहिए लागत है। PHP के हाथ इस मोर्चे पर जीतते हैं। जब आप लिनक्स में मोनो पर ASP.NET चला सकते हैं, तो यह अपनी समस्याओं के साथ आता है।

यदि आप एक छोटे से मध्यम आकार की परियोजना कर रहे हैं और / या लागत एक कारक है, तो PHP जीतता है। यदि आप बड़े पैमाने पर प्रोजेक्ट कर रहे हैं, तो मैं ASP.NET w / C # & ASP.NET MVC को पसंद करूंगा।


3
वेब फॉर्म के हालांकि लाभ हैं। उदाहरण के लिए, हजारों तेजी से वेब एप्लिकेशन बनाने के लिए नियंत्रण का उपयोग करने के लिए तैयार एक वेबसाइट पर मेरे ग्राहक को बेचने के लिए एक प्लस रहा है।
एडवर्ड

1
मैं @ryanzec से सहमत हूँ WebForms बकवास नहीं है और ASP.NET MVC से अलग नजरिए से उतना ही अच्छा है। मैंने व्यावसायिक वातावरण में पहले संस्करण के पूर्वावलोकन 2 के बाद से ASP.NET MVC फ्रेमवर्क का उपयोग किया है। इसके अलावा मैंने पिछले 7+ वर्षों से WebForms का उपयोग किया है। इसके अलावा आप ASP.NET के लिए लागत का तर्क नहीं दे सकते हैं, Microsoft मुफ़्त टूल की आपूर्ति करता है, अब यह PHP की पेशकश की तुलना में बेहतर है। इसके अलावा Microsoft SQL कॉम्पैक्ट और SQL सर्वर के एक मुक्त संस्करण की आपूर्ति कर रहा है। .NET के लिए थर्ड पार्टी होस्टिंग इन दिनों लिनक्स की तुलना में है।
निकज़

जबकि मैं सहमत हूँ कि ASP.NET की मेजबानी की लागत बेहतर हो गई है, मैं अभी भी सस्ता VPS LAMP होस्टिंग की तुलना में V4 विंडोज होस्टिंग की तुलना में बहुत आसान हो सकता है।
ryanzec

इसके अलावा WebForm के बारे में कहना, यह बकवास है कठोर हो सकता है, यह सिर्फ मेरी चाय का कप नहीं है। यह सच है कि आप चीजों को तेजी से प्राप्त कर सकते हैं, हालांकि एक बार जब आप बाहर से कुछ करने की कोशिश करते हैं जो आपको घटकों से प्रदान की जाती है या एक बार जब आप किसी मौजूदा घटक को भारी रूप से संशोधित करते हैं, तो यह तेजी से कठिन होता है। इसके अलावा पूरे तरीके से सिस्टम पोस्टबैक और सामान के साथ काम करता है, बस मुझे वेब विकास के लिए भी बहुत बुरा लगता है। मैं ASP.NET MVC को पसंद करता हूं क्योंकि यह मुझे बनाया गया 100% नियंत्रक देता है और मेरी राय में वेब विकास के लिए बहुत बेहतर है।
ryanzec

8

PHP बनाम ASP.NET सेब और संतरे की तुलना करने जैसा है, विभिन्न समाधानों के लिए लक्षित है।

PHP छोटे पैमाने, स्टार्ट-अप समाधानों के लिए एक बेहतर अनुकूल ढांचा है। PHP बहुत अधिक आवश्यकताओं के बिना विंडोज़ या लिनक्स चलाएगा। Microsoft ASP.NET एक औद्योगिक शक्ति ढांचा है, जिसमें वह सब कुछ है जिसकी आप कभी कल्पना कर सकते हैं। ASP.NET बहुत सुविधा संपन्न पर्यावरण आउट-ऑफ-द-बॉक्स है। कई तर्क देंगे कि ASP.NET महंगा है, जो कुछ साल पहले ऐसा था लेकिन अब नहीं है। पहले उपकरण निशुल्क (एक्सप्रेस संस्करण) हैं, डेटाबेस विकल्प मुफ्त हैं (एसक्यूएल कॉम्पैक्ट या एसक्यूएल सर्वर 2005 या एक्सप्रेस से ऊपर)। क्रय होस्टिंग अब बहुत सस्ती है, इसलिए यह सवाल बेहतर नहीं है कि आपके समाधान के लिए क्या बेहतर है। व्यक्तिगत रूप से मैं ASP.NET पसंद करता हूं, लेकिन ऐसा इसलिए है क्योंकि मैं एक कॉर्पोरेट वातावरण में काम करता हूं, जहां लचीलापन और मापनीयता बहुत महत्वपूर्ण है, इस प्रकार समाधान रूपरेखा तय करता है।

एक बहुत महत्वपूर्ण बात यह है कि आप किस भाषा में सर्वश्रेष्ठ हैं? यह निर्णय में अंतिम कारक होना चाहिए।

यदि आपका लक्ष्य एक ग्राहक को आश्वस्त कर रहा है, तो asp.net एक बेहतर विकल्प है। बड़ी कंपनी का नाम एक भाषा का समर्थन एक ग्राहक को सहज महसूस कराता है। इस मामले में सबसे अच्छे विकल्प (Microsoft) ASP.NET और (Oracle) Java JSP हैं।

संपादित करें: फ़ीचर समृद्ध - ASP.NET एक वेबसाइट WebForms और MVC दृष्टिकोण के निर्माण के लिए दो विकल्प प्रदान करता है। .NET फ्रेमवर्क के इसके अलावा, आपके पास बहुत शक्तिशाली विशेषताएं हैं जैसे कि WF (वर्कफ़्लो), DLR (डायनेमिक भाषा रनटाइम), समानांतर Linq, Linq, रूटिंग, डेटा स्टेट मैनेजमेंट के विभिन्न रूप: HTTPContext आइटम, ViewState, रनटाइम कैश, पेज आउटपुट कैश, सत्र कार्यान्वयन के तीन अलग-अलग प्रकार InProc, State और SQL Server। ASP.NET सुरक्षा के विभिन्न रूपों जैसे सदस्यता प्रदाता और भूमिका प्रदाता को लागू करते हैं। मैं PHP को बैग नहीं करना चाहता, लेकिन ASP.NET एक अलग लीग में है।


5
मैंने हमेशा सुना है कि एक बहाने के रूप में, "Microsoft = महंगी" जिसके कारण मैंने पहले PHP सीखा। लेकिन मुझे सहमत होना होगा कि वास्तव में अब ऐसा नहीं है।
एडवर्ड

हाँ खेल मैदान अभी भी काफी है, यह जानना कठिन है कि इन दिनों किस भाषा का उपयोग किया जाए।
निकोज

वास्तव में "औद्योगिक शक्ति ढांचे" का क्या अर्थ है ? "सब कुछ जो आप कभी सोच सकते हैं और अधिक"? "बहुत सुविधा संपन्न वातावरण आउट-ऑफ-द-बॉक्स"? ASP.NET कैसे है, इन चीजों को, उन तरीकों से, जैसे PHP नहीं है? जब तक आपने समझाया है कि, यह सिर्फ Microsoft विज्ञापन की भाषा है।
निकोल

डिजाइन लक्ष्य- php मूल रूप से व्यक्तिगत होम पेज के लिए खड़ा था और इसे सरल बनाने के लिए सरल सर्वरसाइड बनाने के लिए डिज़ाइन किया गया था। asp.net को w / java ee को एक उद्यम स्तर समाधान के रूप में प्रतिस्पर्धा करने के लिए बनाया गया था। php ने वर्षों में कई विशेषताओं को आत्मसात किया है, लेकिन यह "फीचर टैक्सेसिंग" भाषा की विसंगतियों और प्लेटफ़ॉर्म quirks के माध्यम से घूमता है। मैं अक्सर php का उपयोग करता हूं, लेकिन यह एक वेब भाषा होने के लिए डिज़ाइन किया गया था, न कि एक सामान्य उद्देश्य प्रोग्रामिंग प्लेटफॉर्म
bunglestink

6

दोनों के साथ बड़े पैमाने पर काम करने के बाद, आप पहले से ही जानते हैं कि समस्या और ग्राहक के आधार पर उत्तर अलग-अलग होंगे। बहुत ही सामान्य अर्थों में:

  • PHP उन परियोजनाओं के लिए बहुत अच्छा है जिन्हें बजट पर काम करने की आवश्यकता होती है। उदाहरण के लिए, आप बड़े डेटाबेस लाइसेंस शुल्क के साथ नहीं मिलेंगे।
  • ASP.NET उन परियोजनाओं के लिए बहुत अच्छा है जिन्हें Microsoft द्वारा प्रदान किए जाने वाले समर्थन और डेवलपर संस्कृति की आवश्यकता होती है।

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


8
यह मुझे तब परेशान करता है जब .Net स्वतः "बड़े डेटाबेस लाइसेंसिंग शुल्क" के साथ जुड़ जाता है। आप निश्चित रूप से जानते होंगे कि .Net काफी भिन्न किस्म के RDBMS के साथ, मुफ्त और नहीं, और निश्चित रूप से PHP, मुफ्त और नहीं (और यह Microsoft की तरह बड़ी लाइसेंस फीस के साथ केवल लोकप्रिय RDBMS नहीं है) के साथ इंटरफेस कर सकता है।
क्वेंटिन-स्टारिन

3
यह उल्लेख नहीं करने के लिए कि SQL सर्वर के एक्सप्रेस और वेब संस्करणों में बहुत अधिक पैलेटेबल लाइसेंसिंग शुल्क (एक्सप्रेस के मामले में मुफ्त) है।
क्वेंटिन-स्टारिन

क्षमा करें, irk के लिए नहीं है। एमएस सिर्फ एक पूर्ण स्टैक के रूप में बेहतर बेचने लगता है और मैं एक्सप्रेस की तुलना में एक बड़ा डीबी इंजन मान रहा था।
फ्रेड विल्सन

1
व्यक्तिगत रूप से नहीं लिया गया है, मुझे लगता है कि एसोसिएशन को अक्सर देखा जाता है।
क्वेंटिन-स्टारिन

1
@loyalpenguin: मेरे अनुभव में, एक भंडारण इंजन मिलना दुर्लभ है जो कि .Net में समर्थित नहीं है । मैं इस पर टिप्पणी नहीं कर सकता कि क्या यह PHP के साथ सच है या नहीं।
क्वेंटिन-स्टारिन

1

.net नियंत्रण बहुत अच्छे हैं कि आप एक पीएचपी प्लेटफॉर्म के साथ क्या पा सकते हैं। उदाहरण के लिए इन्फ्रास्ट्रक्चर को देखें, एक एलएएमपी के लिए समकक्ष क्या है?

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