जब Microsoft, .NET का विकास कर रहा था, तब वह केवल Future के विषय में विचार नहीं कर रहा था। बल्कि वास्तव में वह उस समय की Current Generation व Web Development Technologies के विषय में चिन्तित था। इसलिए इससे पहले कि हम ASP.NET को सीखने के लिए आगे बढें, इस विषय में जान लेना कि .NET के विकास के समय Microsoft को क्या चिन्ता थी और Microsoft ने उन्हें किस प्रकार से Resolve किया, ASP.NET की क्षमताओं के बारे में ज्यादा बेहतर तरीके से जानने में हमारी काफी मदद करेगा और किसी भी Development को उसकी History के साथ जानना, उस Technology द्वारा Provide किए जाने वाले Features व Benefits के बारे में जानने का एक बहुत ही सरल तरीका होता है।
Web Development Evolution
जब HTTP को पहली बार Tim Berners-Lee द्वारा Establish किया गया था, तो उस समय Developers ऐसे Applications Develop करने के विषय में खोज कर रहे थे, जो कि एक दूसरे के साथ Interaction कर सकें। यानी विभिन्न Electronic Devices एक दूसरे को Identify कर सकें व एक दूसरे के साथ Information का Sharing कर सकें, फिर भले ही वे Devices समान कमरे में Exist होते हुए एक दूसरे से Directly Connected हों या दो अलग देशोंं में Exist होते हुए एक दूसरे से Indirectly Connected हो।
इस प्रकार की जरूरत को पूरा करने के लिए HTML व XML का विकास किया गया। जहां HTML को एक ऐसी Simple Markup Language की तरह Design किया गया था जो कि इस बात को Describe करता था कि किसी Rich Document को किस प्रकार से विभिन्न Computers पर Cross Platform तरीके से Display किया जा सके। जबकि XML वास्तव में Rules का एक ऐसा Set था, जो Data को Platform Neutral Data Format के रूप में Define करने की सुविधा Provide करता था, ताकि इस प्रकार के Data को किसी भी Computer System या Device पर Platform Independent तरीके से Access किया जाना सम्भव हो सके।
जिस समय Microsoft Company नई प्रकार की जरूरतों को पूरा करने के लिए एक नई Programming Language को विकसित करने में Busy था, उसी समय Internet का विकास भी बडी ही तेजी से हो रहा था। इसलिए Microsoft को न केवल नई तरह की जरूरतों को पूरा करने के लिए एक नई Programming Language को Develop करने की जरूरत थी, बल्कि एक ऐसे Framework को भी Develop करने की जरूरत थी, जिसका प्रयोग किसी भी Application को Future Proof तरीके से Design, Develop व आसानी से Deploy करने के लिए किया जाना था।
इस प्रकार की जरूरतों को ध्यान में रखते हुए Microsoft ने ASP.NET 1.0 का विकास किया। जबकि ASP.NET से पहले Web Development का काम काफी मुशिकल व Un-Standardized तरीके से किया जाता था, जिससे विभिन्न प्रकार की Devices के बीच Information का Sharing व विभिन्न प्रकार की Devices के बीच Cross Platform Interaction काफी मुशिकल काम होता था।
ASP.NET से पहले Server Based Web Applications Develop करने के लिए ASP, PHP व CGI जैसी Technologies को ही Use किया जाता था, जिसके अन्तर्गत Web Page के अन्दर ही Dynamic Content से सम्बंधित Server Side Codes को Embed कर दिया जाता था।
परिणामस्वरूप Resultant Server Side Web Page काफी Complex हो जाता था क्योंकि इस प्रकार के Web Pages में Presentation Layer व Manipulation Layer दोनों एक दूसरे के साथ Mix हो जाते थे, जिससे इस प्रकार के Web Pages को Manage व Maintain करना काफी जटिल हो जाता था और ऐसा इसलिए होता था, क्योंकि ये Server Side Languages, Web Application Development के लिए कोई Modern Integrated Framework Provide नहीं करते थे।
सरल शाब्दों में कहें तो ASP.NET से पहले बनाए गए सभी Frameworks मूल रूप से या तो Scripting Language आधारित होते थे, जिन्हें Server Side में Interpret किया जाता था या फिर छोटे-छोटे Separate Application Programs होते थे, जिन्हें Server Side Calls द्वारा Execute किया जाता था। ASP व ColdFusion जैसे Web Applications पहली Category में आते हैं, जबकि CGI with PERL या Python आधारित Web Application दूसरी Category में आते हैं।
पहली Category के Web Applications में HTML Elements के बीच ही Server Side Codes को भी Embed किया जाता था, जिन्हें Web Server द्वारा Parsing करके Dynamic Content Generate किया जाता था। इस प्रकार के Web Applications की Speed काफी कम होती थी क्योंकि ये Application मूल रूप से एक Interpreter Based Scripting Language पर आधारित होते थे।
दूसरी Category के Web Applications एक अन्य प्रकार की समस्या से प्रभावित थे, जो कि PERL या Python आधारित CGI Applications होते थे। क्योंकि इन Web Applications में हर Server Side Requirement को पूरा करने के लिए एक Separate Application Program Run होता था, इसलिए इस प्रकार के Applications हालांकि पहली Category के Web Applications की तुलना में काफी तेजी से Execute होते थे, लेकिन हर Request के लिए इन Server Side Application की एक अलग Copy Create होती थी, जिसकी वजह से बहुत कम Concurrent Requests को ही पूरा किया जाना सम्भव हो पाता था, क्योंकि Server Side RAM इतनी ज्यादा नहीं होती थी कि प्रति Second हजारों Requests को Fulfill करने के लिए एक ही Server Side Program की हजारों Copies को Memory में Load कर सके। इसलिए इस प्रकार के Web Applications की Performance भी कोई बहुत ज्यादा उपयोगी नहीं थी। यानी वास्तव में देखा जा, तो दोनों ही Category के Applications के बीच Time Space Tradeoff था।
इन दोनों ही प्रकार के Web Applications की कमियों को ध्यान में रखते हुए Microsoft ने ASP.NET के रूप में एक ऐसा Web Application Development Model विकसित करने की कोशिश की है, जिससे उपरोक्त दोनों ही Categories की कमियों को Resolve किया जाना सम्भव हो सके।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Core ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Core ASP.NET WebForms in Hindi | Page:647 | Format: PDF