ASP.NET का इतिहास (History of ASP.NET)
ASP.NET एक ओपन-सोर्स सर्वर-साइड वेब एप्लीकेशन फ्रेमवर्क है, जिसे वेब डेवलपमेंट के लिए डायनामिक वेब पेज क्रिएट करने के लिए डिज़ाइन किया गया है। मुख्यतः इसे माइक्रोसॉफ्ट द्वारा डायनामिक वेब साइट्स, वेब एप्लिकेशन और वेब सर्विस को बनाने के लिए विकसित किया गया था।
जब इन्टरनेट अपने शुरूआती दौर में था, तब अधिकतर डेस्कटॉप एप्लीकेशन ही डेवलप होते थे, इसलिए उस समय के ज्यादातर प्रोग्रामर माइक्रोसॉफ्ट की Visual Basic Programming Language का प्रयोग करते हुए Visual Studio के माध्यम से बडी ही तेजी से Desktop Applications Develop करते थे।
लेकिन इन्टरनेट के विकास के साथ ही मार्केट में Desktop Applications की तुलना में Web Applications की मांग बढने लगी। जिसकी वजह से उस समय के Visual Basic Developers Web Application Development Field में Enter करने के लिए Web Related Programming Languages जैसे कि PHP, JSP, etc… सीखने की ओर बढने लगे।Market की Requirement बदलने के कारण इन Programmers को Web Programming से सम्बंधित Languages व Frameworks सीखना जरूरी हो गया।
लेकिन Microsoft नहीं चाहता था कि उसके Visual Studio को Use करते हुए Desktop Applications Develop करने वाले Programmers किसी अन्य Programming Language पर Switch हों, इसलिए Microsoft ने अपने Programmers को Current Market की Requirements को पूरा करने हेतु आसानी से Web Development करने के लिए एक ऐसा Environment Provide करना चाहा, जिसका प्रयोग करते हुए बिना कोई नई Web Programming Language सीखे हुए वे ठीक उसी तरह से Event Driven Programming Model आधारित Web Applications Develop कर सकें, जिस तरह से Desktop Applications Develop करते थे और इसी Concept को Implement करने के लिए Microsoft ने जिस नए Web Application Development Framework को विकसित किया, उसी को हम ASP.NET WebForms के नाम से जानते हैं।
वर्तमान समय में Web Applications Develop करने के लिए Server Side Scripting के रूप में जिन 3 मुख्य Technologies को उपयोग में लिया जाता है, ASP.NET उनमें से एक है जबकि अधिकतर प्रयोग होने वाली अन्य दो Technologies PHP व JSP हैं। Web Development Sector में PHP के बाद ASP.NET आधारित Web Applications ही सर्वाधिक बनाए जाते हैं। क्योकि ASP.NET का प्रयोग करते हुए Web Application Develop करना तुलनात्मक रूप से अधिक आसान होता है।
ASP.NET का परिचय (Introduction of ASP.NET)
दो वेब डेवलपमेंट टेक्नोलॉजीज वेब फॉर्म्स और वेब सर्विस को संयुक्त रूप से माइक्रोसॉफ्ट द्वारा ASP.NET कहा जाता है | ASP.NET का प्रयोग कर डायनामिक और डाटा ड्रिवेन वेब एप्लीकेशन को क्रिएट करना पहले की अपेक्षा बहुत आसान है | ASP.NET का प्रयोग कर क्रिएट किये गए वेब एप्लीकेशन विविध प्रकार के ब्राउज़र के साथ कार्य करते है और Compatibility को कायम करने के लिए डेवलपर को कोई भी कस्टम कोडिंग नहीं करनी पड़ती है |
विजुअल स्टुडियो (visual studio.NET) डॉट नेट के साथ वेब फॉर्म्स वेब एप्लीकेशन को डेवलप करने के लिए रैपिड एप्लीकेशन डेवलपमेन्ट टेक्नीक्स (Rapid Application Development Technique) का समर्थन करते है। अत: आप अपने फॅार्म (form) पर कन्ट्रोल्स (controls) जैसे लेवल, टेक्स्ट बॉक्स कमाण्ड बटन इत्यादि को ड्रैग कर ड्रॅाप कर सकते है,और किसी कंट्रोल (control) पर डबल- क्लिक कर उससे सम्बन्धित इवेन्ट्स का कोड (code) लिख सकते है। आप ASP.NET में किसी भी लैग्वेज मे प्रोग्राम लिख सकते है। जो .NET के CLS का अनुपालन करता है। उदाहरण स्वरुप, C# और VB.NET, CLS का अनुपालन करते है।
ASP.NET, ASP का नया संस्करण (version) है, जो एक प्रोग्रामिंग फ्रेमवर्क (programming framework) है। जिसका प्रयोग वेब एप्लीकेशन्स (Web application) को क्रिएट करने के लिए किया जाता है। ASP.NET टेक्नोलॉजी का प्रयोग कर Createकिए गए वेब एप्लीकेशन्स (web application) को ग्लोबली एक्सेस किया जाता है।
ASP.NET को visual studio.NET के साथ इन्टीग्रेट (integration) किया जाता है,जो ग्राफिकल यूजर इन्टरफेस डिजाइनर (Graphical User Interface Designer), कंट्रोलर्स का एक टूलबॅाक्स और पूर्ण इन्टीग्रेटेड डिबगर (fully integrated debugger) प्रोवाइड करता है। यह डेवलपर को “What you see is what you get” (WYSIWYG) अंदाज मे एप्लीकेशन को डेवलप करने की सुविधा देता है। अत: ASP.NET एप्लीकेशन को क्रिएट करना बहुत सरल है।
ASP.NET, Common language Runtime (CLR) का प्रयोग करता है। जो .NET फ्रेमवर्क द्वारा प्रोवाइड कराया जाता है। जैसा हम जानते है की CLR, .NET का रनटाइम इन्जिन (runtime engine) है जो कोड के एक्जिक्यूटर को मैनेज करता है। CLR विभिन्न लैंग्वेज मे क्रिएट (create) किए गए ऑब्जेक्ट को एक-दूसरे से interact करने की अनुमति देता है। अत: यह लैग्वेज रूपी barrier अर्थात बाधा को दूर करता है।
ASP.NET की विशेषताये (Features of ASP.NET)
फ्लेक्सिबिलिटी(Flexibility): किसी भी ASP.NETएप्लीकेशन के द्रारा सम्पूर्ण .NET फ्रेमवर्क क्लास लाइब्रेरी (Entire.NET framework class library (FCL)) को एक्सेस किया जा सकता है। चूँकि ASP.NET लैग्वेज इन्डिपेन्डेन्ट (language independent) है अत: आप किसी एप्लीकेशन के किसी खास क्रियात्मकता (Functionality) को क्रियान्वित करने (implement) के लिए उपयुक्त लैग्वेज का चयन कर सकते है।
कॉन्फ़िगरेशन सेटिंग्स (Configuration Setting): किसी भी ASP.NETएप्लीकेशन मे एप्लीकेशन-लेवल कनफिगरेशन सेटिंग्स (application level configuration setting) को Extensible Markup Language (XML) फॅार्मेट मे स्टोर किया जाता है। जैसा की हम जानते है कि XML फॅार्मेट एक हिरारकिकल टेक्स्ट फॅार्मेट (hierarchical text format) है जो लिखने और पढने मे आसान होता हे।
सिक्यूरिटी (Security): ASP.NET एप्लीकेशन्स, secure अर्थात सुरक्षित होते है और ये कुछ डिफॅाल्ट ऑथरराइजेशन एंव ऑथेन्टिकेशन मेथड्स (Default Authorization and Authentication Methods) का प्रयोग करते है। आप किसी एप्लीकेशन की सुरक्षा की मेथड्स (methods) को परिवर्तित कर सकते है।
उपरोक्त लाभों के अतिरिक्त,ASP.NET फ्रेमवर्क,ASP एप्लीकेशन्स केASP.NET मे माइग्रेशन (migration) को आसान बनाता है।
ASP.NET और ASP मे अंतर (Difference between ASP.NET and ASP)
ASP.NET और ASP मे निम्नलिखित प्रमुख अंतर है।
- ASP.NET, ASP की तुलना मे कही अधिक ऑब्जेक्ट ओरियेन्टेड (object oriented) ओर इवेन्ट – ड्रिवेन(event driven) है।
- ASP.NET, एप्लीकेशन के कोड को HTML code से पृथक करता है।
- ASP.NET के कोड कम्पाइल (compiled) होते है, जबकि ASP के कोड इन्टरप्रेटेड (interpreted) होते है।
- ASP.NET एप्लीकेशन का कनफिगरेशन (configuration) और डिप्लॅायमेन्ट (deployment), ASP एप्लीकेशन की तुलना मे सरल होता है।
यद्यपि ASP और ASP.NET मे और भी असमानतॉंए है, लेकिन उपरोक्त चार अंतर प्रमुख है, जो ASP.NET को ASP से बिल्कुल अलग बनाते है ASP.NET का इवेन्ट-ड्रिवेन मॅाडल (Event Drive Model) बहुत ही शक्तिशाली है | ASP.NET द्वारा कोड और HTML का पृथकीकरण(separation) और इन्टरप्रेटेड कोड (interpreted code) के बजाए कम्पाइल्ड कोड (compiled code) का प्रयोग आपको अपेक्षाकृत आसानी से मेन्टेन करने योग्य वेबसाइट्स बनाने की अनुमति देता है। एप्लीकेशन के कॉन्फ़िगरेशन और डिप्लॅायमेन्ट (deployment) की सरलता आपको बडे और छोटे दोनो ही प्रकार की वेबसाइट्स के साथ कार्य करना आसान बनाता है।