ജാവാസ്ക്രിപ്റ്റ് (JS) കോഡ് എക്സിക്യൂട്ട് ചെയ്യുന്ന ഒരു കമ്പ്യൂട്ടർ പ്രോഗ്രാമാണ്ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിൻ. ആദ്യത്തെ ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനുകൾ കേവലം ഇന്റർപ്രെട്ടറുകളായിരുന്നു, എന്നാൽ പ്രസക്തമായ എല്ലാ ആധുനിക എഞ്ചിനുകളും മെച്ചപ്പെട്ട പ്രകടനത്തിനായി തത്സമയ കംപൈലേഷൻ ഉപയോഗിക്കുന്നു.[1]
ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനുകൾ സാധാരണയായി വെബ് ബ്രൗസർ വെണ്ടർമാർ വികസിപ്പിച്ചെടുക്കുന്നു, മാത്രമല്ല എല്ലാ പ്രധാന ബ്രൗസറുകൾക്കും ഒരെണ്ണം ഉണ്ട്. ഒരു ബ്രൗസറിൽ, ഡോക്യുമെന്റ് ഒബ്ജക്റ്റ് മോഡൽ വഴി റെൻഡറിംഗ് എഞ്ചിനുമായി ചേർന്ന് ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിൻ പ്രവർത്തിക്കുന്നു.
ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനുകളുടെ ഉപയോഗം ബ്രൗസറുകളിൽ മാത്രമായി പരിമിതപ്പെടുത്തിയിട്ടില്ല. ഉദാഹരണത്തിന്, ജനപ്രിതീയുള്ള നോഡ്.ജെഎസ്, ഡെനോ റൺടൈം സിസ്റ്റങ്ങൾ മുതലായവയുടെ ഒരു പ്രധാന ഘടകമാണ് ക്രോം വി8 (Chrome V8) എഞ്ചിൻ.
ജാവാസ്ക്രിപ്റ്റിന്റെ സ്റ്റാൻഡേർഡ് സ്പെസിഫിക്കേഷനാണ് ഇഗ്മാസ്ക്രിപ്റ്റ് (ഇഎസ്) എന്നതിനാൽ, ഈ എഞ്ചിനുകളുടെ മറ്റൊരു പേരാണ് ഇഗ്മാസ്ക്രിപ്റ്റ് എഞ്ചിൻ.
ചരിത്രം
നെറ്റ്സ്കേപ്പ് നാവിഗേറ്റർ വെബ് ബ്രൗസറിനായി 1995 ൽ ബ്രണ്ടൻ ഐക്ക് ആദ്യത്തെ ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിൻ സൃഷ്ടിച്ചു. ഐച്ച് കണ്ടുപിടിച്ച പുതിയ ഭാഷയുടെ അടിസ്ഥാന വ്യാഖ്യാനമായിരുന്നു അത്. (ഇത് ഫയർഫോക്സ് ബ്രൗസർ ഇപ്പോഴും ഉപയോഗിക്കുന്ന സ്പൈഡർമങ്കി എഞ്ചിനിലേക്ക് പരിണമിച്ചു.)
ആദ്യത്തെ ആധുനിക ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിൻ അതിന്റെ ക്രോം ബ്രൗസറിനായി ഗൂഗിൾ സൃഷ്ടിച്ച വി 8 ആയിരുന്നു. 2008 ൽ ക്രോമിന്റെ ഭാഗമായി വി 8 അരങ്ങേറി, അതിന്റെ പ്രകടനം മുമ്പത്തെ എഞ്ചിനുകളേക്കാൾ മികച്ചതായിരുന്നു.[2][3]നിർവ്വഹണ സമയത്തെ ഗണ്യമായി മെച്ചപ്പെടുത്താൻ കഴിയുന്ന ജസ്റ്റ്-ഇൻ-ടൈം കംപൈലേഷനാണ് പ്രധാന കണ്ടുപിടുത്തം.
മറ്റ് ബ്രൗസർ വെണ്ടർമാർക്ക് അവരുടെ ഇൻപ്രെട്ടെഴസിനെ മത്സരിക്കുന്നതിന് പ്രാപ്തമാക്കാൻ പൂർണ്ണമായ അറ്റകുറ്റപണി ആവശ്യമാണ്. [4] ആപ്പിൾ അതിന്റെ സഫാരി ബ്രൗസറിനായി നൈട്രോ എഞ്ചിൻ വികസിപ്പിച്ചു, അതിന്റെ മുൻഗാമിയേക്കാൾ 30% മികച്ച പ്രകടനം നടത്തി. [5] സ്വന്തം സ്പൈഡർമങ്കി എഞ്ചിൻ മെച്ചപ്പെടുത്തുന്നതിനായി മോസില്ല നൈട്രോയുടെ ഭാഗങ്ങൾ ഉപയോഗപ്പെടുത്തി.[6]
2017 മുതൽ, ഈ ബ്രൗസറുകൾ വെബ്അസെബ്ലിക്കായി പിന്തുണ ചേർത്തു. പേജ് സ്ക്രിപ്റ്റുകളുടെ പ്രകടനത്തിനായി-നിർണായക ഭാഗങ്ങൾ പ്രീ-കംപൈൽ എക്സിക്യൂട്ടബിളുകളുടെ ഉപയോഗം ഇത് പ്രാപ്തമാക്കുന്നു. സാധാരണ ജാവാസ്ക്രിപ്റ്റ് കോഡിന്റെ അതേ സാൻഡ്ബോക്സിൽ ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനുകൾ വെബ്അസെബ്ലി(WebAssembly)കോഡ് നിർവ്വഹിക്കുന്നു.
ശ്രദ്ധേയമായ എഞ്ചിനുകൾ
ഗൂഗിളിൽ നിന്നുള്ള വി8(V8) ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്ന ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനാണ്. സിഇഎഫ്, ഇലക്ട്രോൺ അല്ലെങ്കിൽ ക്രോമിയം ഉൾപ്പെടുത്തുന്ന മറ്റേതെങ്കിലും ചട്ടക്കൂടിനൊപ്പം നിർമ്മിച്ച അപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കുന്നതുപോലെ ഗൂഗിൾ മറ്റ് നിരവധി ക്രോമിയം അധിഷ്ഠിത ബ്രൗസറുകളും ഇത് ഉപയോഗിക്കുന്നു. നോഡ്.ജെഎസ്, ഡെനോ റൺടൈം സിസ്റ്റങ്ങൾ എന്നിവയാണ് മറ്റ് ഉപയോഗങ്ങൾ.
ഫയർഫോക്സിലും അതിന്റെ ഫോർക്കുകളിലും ഉപയോഗിക്കുന്നതിനായി മോസില്ല വികസിപ്പിച്ചതാണ് സ്പൈഡർമങ്കി. വിപുലീകരണ പിന്തുണയ്ക്കായി ഗ്നോം ഷെൽ ഇത് ഉപയോഗിക്കുന്നു.
ആപ്പിളിന്റെസഫാരി ബ്രൗസറിനായുള്ള എഞ്ചിനാണ് ജാവാസ്ക്രിപ്റ്റ്കോർ. മറ്റ് വെബ്കിറ്റ് അടിസ്ഥാനമാക്കിയുള്ള ബ്രൗസറുകളും ഇത് ഉപയോഗിക്കുന്നു. കെഡിഇയിൽ നിന്നുള്ള കെജെഎസാണ് അതിന്റെ വികസനത്തിന് തുടക്കമിട്ടത്.[7]
ഇന്റർനെറ്റ് എക്സ്പ്ലോറർ ബ്രൗസറിന്റെ ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനാണ് ചക്ര. യഥാർത്ഥ എഡ്ജ് ബ്രൗസറിനായി മൈക്രോസോഫ്റ്റ് ഇത് ഫോർക്ക് ചെയ്തു, പക്ഷേ എഡ്ജ് പിന്നീട് ഒരു ക്രോമിയം അധിഷ്ഠിത ബ്രൗസറായി പുനർനിർമ്മിച്ചു, അതിനാൽ ഇപ്പോൾ വി 8 ഉപയോഗിക്കുന്നു.[8][9]