JavaScript or ECMAScript. What’s the difference?

JavaScript or ECMAScript: वर्तमान समय में यदि कोई Client Side Language सीखने जैसी है तो वह सिर्फ और सिर्फ JavaScript है। क्योंकि अब धीरे-धीरे सबकुछ OnlineResponsive होता जा रहा है। यहां तक कि जिन जरूरतों को पूरा करने के लिए पहले Desktop ApplicationsDesktop Applications Develop करने के लिए C, C++, Java, C# जैसी Programming Languages को महत्व दिया जाता था, उन जरूरतों को भी अब Web Applications व Web Applications Develop करने के लिए HTMLCSSJavaScriptPHP/ASP जैसी Markup व Scripting Languages द्वारा काफी आसानी से पूरा किया जाने लगा है और ऐसा इसलिए सम्भव हो पा रहा है क्योंकि जिन Concepts को Desktop Technology के लिए Develop किया गया था, वे Technologies ज्यादा बेहतर तरीके से Web Technologies के लिए उपयोगी साबित होती चली गई हैं। कैसे?

विभिन्न प्रकार के Applications Develop करते-करते Developers को विभिन्न प्रकार की परेशानियों का सामना करना पडता था, जिसकी वजह से वे Software बनाने के नए व सरल तरीके खोजते थे। उन सरल व बेहतर तरीकों को खोजने की वजह से ऐसे Standards बनाने की कोशिश की गई, जिससे Software Development व Maintenance का काम आसान हो सके और इसीलिए Software Development के काम को छोटे-छोटे व ज्यादा Manageable हिस्सों में Divide करने का तरीका अपनाया गया, जिसकी वजह से 2-Tier3-Tier Architecture का विकास हुआ और Web वह जगह है जहां ये Architectures Best तरीके से Apply हो पाए।

2-Tier Architecture में एक Software को दो हिस्सों में Divide किया जाता है, जिसे FrontendBackend कहते हैं। Web Technology में Frontend को Handle करने के लिए HTML, CSS व JavaScript अपना Role Play करते हैं जबकि Backend को Handle करने के लिए PHP/MySql या ASP/MSSql अपना Role Play करते हैं।

Web Technology की सफलता के कारण धीरे-धीरे Desktop Technology को भी इस तरह से Develop किया जाने लगा कि Desktop Technology व Web Technology के बीच Data का Transaction बिना किसी परेशानी के हो सके और इसके लिए Web Technology का तरीका अपनाया गया यानी Markup Language का तरीका अपनाया गया और XML का विकास किया गया।

XML का विकास होने के साथ ही Web Technology व Desktop Technology काफी हद तक एक दूसरे के समकक्ष हो गए। यानी अब किसी भी Web Data को आसानी से Desktop Application में अथवा Desktop Application के किसी Data को Web Application में Use किया जा सकता है और इसका मुख्‍य कारण है XML Language जो कि एक तरह की Markup Language है जबकि Web Technology का मूल आधार ही Markup Language रही है।

यानी अन्त में यदि देखा जाए तो Desktop Technology ने Web Technology को ही उपयोग में लेना शुरू किया है ताकि Standard बना रहे क्योंकि Web Technology को शुरू से ही Standard तरीके से Develop करने की कोशिश की गई है।

Web Technology की सबसे बडी खासियत ये है कि इसे Client Server Architecture के आधार पर ही Develop किया गया है। यानी ये Technology शुरू से ही 2-Tier Architecture पर आधारित रही है। जिसके Client Tier को HTML, CSS JavaScript द्वारा Handle किया जाता है जबकि Server Tier को PHP/MySql या ASP/MSSql द्वारा।

Web Technology ज्यादा उपयोगी इसलिए भी है क्योंकि इस पर किसी एक का कोई पूर्ण अधिकार नहीं है, इसलिए ये Technology ज्यादा तेजी से व ज्यादा बेहतर तरीके से विकसित हुई है व हो रही है। क्योंकि इस Technology को विभिन्न बडी कम्पनियां आपस में मिलकर Develop करती हैं।

Web Development ज्यादा आसान भी है क्योंकि इसका एक हिस्सा किसी भी दूसरे हिस्से से पूरी तरह से स्वतंत्र रहते हुए भी सभी हिस्से आपस में मिलकर Best तरीके से Result Provide करते हैं।

HTML का प्रयोग Document या Application के Structure को Maintain करने के लिए किया जाता है, CSS का प्रयोग Document या Application के Look व Feel यानी Styling को Control करने के लिए किया जाता है जबकि JavaScript का प्रयोग Document या Application की InteractivityBehavior को Handle करने के लिए किया जाता है।

ये तो हुआ Client Side यानी 2-Tier Architecture का Frontend हिस्सा। अब यदि हम Backend हिस्से को देखें तो उसे भी मूल रूप से दो भागों में Divide किया गया है। पहला हिस्सा Database का होता है, जहां Application का Actual Data Stored रहता है जबकि दूसरा हिस्सा वह Scripting Language होता है, जो Database के Data के लेन-देन को Control करता है।

सामान्यतया Client Side में Microsoft का अधिकार है तो Server Side में Linux ज्यादा उपयोग में लिया जाता है। इसलिए Server Side में यदि PHP का प्रयोग किया जाता है तो PHP के साथ MySql सबसे Best Matching Database Software है जबकि यदि Server Side में Microsoft Technology को Use किया जाता है तो ASP.NET के साथ MSSQL Server का प्रयोग किया जाता है क्योंकि ये दोनों आपस में Best तरह से Matched हैं।

इस तरह से देखा जाए तो एक Web Application किसी Desktop Application को Develop करने की तुलना में ज्यादा आसान है क्योंकि यदि हम एक Desktop Application Develop करने के लिए C, C++ या Java जैसी किसी तकनीक को उपयोग में लेते हैं, तो हम किसी ना किसी एक Technology से Bound हो जाते हैं। जबकि ये Web Technologies ऐसी Technologies हैं, जिन्हें सभी Operating Systems व Platforms Support करते हैं। इसलिए Professional Desktop Applications Develop करने के लिए भी इन Web Technologies को सीखना व उपयोग में लेना ज्यादा सुविधाजनक व आसान है।

वर्तमान समय में JavaScript एक ऐसी Programming Language है, जिसका प्रयोग न केवल Web Technology में होता है बल्कि कई और जगहों पर भी इसका उपयोग किया जाता है और किसी भी अन्य Programming Language की तुलना में इस Language को ज्यादा Use किया गया है। उदाहरण के लिए:

  • Adobe Acrobat का PDF Reader आज सभी के Computer में जरूर मिल जाएगा। इस PDF Reader में JavaScript को Use किया गया है।
  • इसी तरह से Adobe के सभी Products में JavaScript का प्रयोग किया जाता है। जैसे ActionScript वास्तव में JavaScript ही है। यदि आप JavaScript जानते हैं तो बडी ही आसानी से आप Photoshop, Adobe Flash आदि में ActionScript की Programming कर सकते हैं।
  • Web Pages को Interactive बनाने के लिए JavaScript को Client Side Web Pages में Use किया जाता है।
  • Web Browser के विभिन्न प्रकार के Gadgets बनाने के लिए JavaScript को Use किया जाता है। यहां तक कि FireFox Web Browser पूरी तरह से XML, JavaScript व CSS में बना है।

यानी बहुत सारे ऐसे Softwares हैं जो किसी न किसी जरूरत को पूरा करने के लिए JavaScript को अपनी Scripting Language के रूप में Use करते हैं। इसलिए JavaScript को अच्छी तरह से सीखना आज के लिए और भविष्‍य के लिए भी जरूरी व सुरक्षित है।

JavaScript को सबसे पहले 1995 में Netscape Navigator के Developers ने अपने Web Browser में Client Side Validation के लिए Develop किया था। Netscape तो Market से पूरी तरह से जा चुका है, लेकिन उसकी Develop की गई JavaScript Language अभी भी Market में है और आगे भी लम्बे समय तक रहने वाली है क्योंकि अब ये Language न केवल Client Side Validation के लिए उपयोगी है, बल्कि कई जगहों पर इसे Server Side Scripting Language के रूप में भी Use किया जाता है।

1992 के आसपास Nombas नाम की एक Company ने जिसे बाद में Openware नाम की Company ने खरीद दिया, एक Scripting Language Develop करना शुरू किया, जिसका नाम C-Minus-Minus रखा गया था। CMM इसलिए, क्योंकि ये लगभग पूरी तरह से C व C++ Language पर आधारित थी, लेकिन आसानी से Web Browsers में Client Side Requirements को पूरा कर सकती थी और Developers इसे आसानी से सीख सकते थे।

कुछ समय बाद Nombas ने इस Language का नाम CMM से बदलकर ScriptEase रख दिया। जब Netscape Navigator Market में Popular होने लगा, तो Nombas ने इसी Language का एक नया Version Develop किया जो कि Web Page में Embed हो सकता था। शुरूआत में इस Embedding Process को Espresso Pages कहा जाता था और यही World Wide Web का पहला Client Side Scripting Language बना।

Internet पर लोगों का रूझान बढने की वजह से Web Page की Size भी बढने लगी जिससे Network का Traffic भी बढने लगा क्योंकि ज्यादातर Validation व Interactivity के कामों को पूरा करने के लिए बार-बार Web Browser को Web Server से Request करनी पडती थी। इसलिए Netscape ने महसूस किया कि Web Server का Interaction कम करने के लिए एक ऐसी Scripting Language की जरूरत है जो Web Browser में ही ज्यादातर Validation के कामों को पूरा कर दे।

इस जरूरत को ध्यान में रखते हुए Brendan Eich जो कि Netscape Navigator को Develop कर रहे थे, ने एक Client Side Scripting Language को अपने Web Browser में Include किया और इसका नाम LiveScript रखा। उसी समय Sun Microsystems अपनी Programming Language “Java को Develop कर रहा था और लोगों में Java बहुत Popular हो रही थी, इसलिए Netscape Navigator ने Official Release के बाद LiveScript का नाम बदल कर JavaScript कर दिया, ताकि लोग ये समझकर इस Language पर भी ध्यान दें कि JavaScript, Java से संबंधित ही कोई Language है और JavaScript Popular हो जाए और हुआ भी ऐसा ही।

Netscape व उसके JavaScript की सफलता के साथ ही Microsoft ने भी Web Browser Technology में कदम रखा और अपनी स्वयं की JavaScript जैसी Scripting Language बनाई जिसका नाम JScript रखा गया।

इस समय तक वास्तव में JavaScript, Jscript व ScriptEase तीन Client Side Scripting Languages हो गई थीं, जो कि किसी भी तरह से एक Unique Standard को Follow नहीं कर रही थीं।

चूंकि इन Client Side Scripting Language की Popularity बहुत कम समय में बहुत ज्यादा हो गई थी, इसलिए इस Language को भी Standardized करने की जरूरत महसूस की गई, ताकि Scripting Language Develop करने वाली सभी Companies उन Standards के आधार पर ही अपनी Scripting Language को Develop करें व Web Developers को अलग-अलग Web Browsers के लिए अलग-अलग तरह की Scripting Languages न सीखनी पडे।

इसलिए 1997 में को European Computer Manufactures Association (ECMA) को JavaScript 1.1 को Standardized करने का एक Proposal भेजा गया और इस Association ने Netscape, Sun, Microsoft, Borland व अन्य Companies जो कि Client Side Scripting Language Develop करने में Interested थीं, के सदस्यों की एक Technical Committee गठित की ताकि JavaScript को Cross Platform, Vendor Neutral Scripting Language बनाने के लिए उसके Syntax व Semantics को Standardize किया जा सके।

फलस्वरूप इस Committee ने अन्तिम रूप से ECMAScript-262 नाम का एक Standard तैयार किया और JavaScript का नाम बदलकर ECMAScript हो गया। यानी आज की जो JavaScript है वह वास्तव में JavaScript नहीं बल्कि ECMAScript है।

आगे आने वाले कुछ सालों में International Organization for Standardization and International Electotechnical Commission (ISO/IEC) ने भी ECMAScript को एक Standard की तरह Accept कर लिया और फिर बनने वाले सभी Web Browsers में JavaScript के Implementation के लिए ECMAScript को आधार के रूप में उपयोग में लिया जाने लगा।

Advavnce JavaScript in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Advance JavaScript in Hindi | Page: 669 | Format: PDF

BUY NOW GET DEMO REVIEWS