จาวาสคริปต์เอนจิน

จากวิกิพีเดีย สารานุกรมเสรี

จาวาสคริปต์เอนจิน (JavaScript engine) เป็นส่วนประกอบซอฟต์แวร์ที่รันรหัสต้นทางในภาษา จาวาสคริปต์ เอนจินจาวาสคริปต์ในยุกแรกเป็นเพียงอินเทอร์พรีเตอร์ แต่เอ็นจิ้นสมัยใหม่ใช้การแปลแบบทันท่วงทีเพื่อประสิทธิภาพที่ดีขึ้น [1]

โดยทั่วไปแล้วจาวาสคริปต์เอนจิน ได้รับการพัฒนาโดยผู้จำหน่ายเว็บเบราว์เซอร์ และเบราว์เซอร์หลัก ๆ ทุกตัวก็มีจาวาสคริปต์เอนจินแถมมาด้วย เพื่อทำงานร่วมกับ เร็นเดอริงเอนจิน ผ่าน Document Object Model

การใช้จาวาสคริปต์เอนจิน ไม่ได้จำกัดอยู่เพียงเบราว์เซอร์ เช่น วี8 เป็นองค์ประกอบหลักของระบบรันไทม์ Node.js และ Deno

เนื่องจากเอ็กมาสคริปต์เป็นข้อกำหนดมาตรฐานของจาวาสคริปต์ จาวาสคริปต์เอนจินจึงอาจเรียกได้ในอีกชื่อหนึ่งว่า เอ็กมาสคริปต์เอนจิน ด้วยการถือกำเนิดของ WebAssembly เอ็นจิ้นบางตัวยังสามารถรันรหัสเหล่านั้นในกระบะทรายเดียวกันกับรหัสจาวาสคริปต์ทั่วไปได้

ความเป็นมา[แก้]

จาวาสคริปต์เอนจินตัวแรกถูกสร้างขึ้นโดย Brendan Eich ในปี 1995 สำหรับ เน็ตสเคป แนวิเกเตอร์ มันเป็นอินเทอร์พรีเตอร์พื้นฐานสำหรับภาษาที่ Eich คิดค้นขึ้นใหม่ (เอนจิ้นดังกล่าวได้พัฒนาเป็นเอ็นจิ้นสไปเดอร์มังกี้ (SpiderMonkey) ในเวลาต่อมา โดยสไปเดอร์มังกี้นั้นยังคงใช้ใน Firefox)

จาวาสคริปต์เอนจินสมัยใหม่ตัวแรกคือวี8ซึ่งสร้างโดยกูเกิลมาเพื่อกูเกิล โครม วี8 เปิดตัวโดยเป็นส่วนหนึ่งของกูเกิล โครม ในปี 2008 และประสิทธิภาพก็ดีกว่าเอนจินรุ่นก่อนๆ มาก [2] [3] นวัตกรรมที่สำคัญคือการแปลแบบทันท่วงทีซึ่งสามารถปรับปรุงเวลาดำเนินการได้อย่างมาก

ผู้จำหน่ายเบราว์เซอร์รายอื่นๆ จำเป็นต้องยกเครื่องเอนจินของพวกเขาเพื่อแข่งขันในตลาดได้[4] Apple พัฒนาเครื่องยนต์ Nitro สำหรับเบราว์เซอร์ Safari ซึ่งมีประสิทธิภาพดีกว่ารุ่นก่อนถึง 30% [5] Mozilla ใช้ประโยชน์จาก Nitro บางส่วนเพื่อปรับปรุงเอ็นจินสไปเดอร์มังกี้ของตัวเอง [6]

ตั้งแต่ปี 2017 เอ็นจินเหล่านี้ได้เพิ่มการรองรับ WebAssembly ซึ่งช่วยให้สามารถใช้ไฟล์สั่งทำการที่แปลโปรแกรมไว้ล่วงหน้าสำหรับส่วนที่ต้องการประสิทธิภาพของสคริปต์เพจได้

เอนจินที่มีชื่อเสียง[แก้]

อ้างอิง[แก้]

  1. Looper, Jen (2015-09-21). "A Guide to JavaScript Engines for Idiots". Telerik Developer Network. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2018-12-08. สืบค้นเมื่อ 2018-12-08.
  2. "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2012-05-02. สืบค้นเมื่อ 2010-06-28.
  3. "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2021-02-14. สืบค้นเมื่อ 2010-06-28.
  4. "Mozilla asks, 'Are we fast yet?'". Wired. สืบค้นเมื่อ 18 January 2019.
  5. Safari 5 Released
  6. Shankland, Stephen (2010-03-02). "Opera 10.5 brings new JavaScript engine". CNET. CBS Interactive. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2013-10-03. สืบค้นเมื่อ 2012-01-30.
  7. Stachowiak, Maciej (November 9, 2008). "Companies and Organizations that have contributed to WebKit". WebKit Wiki. สืบค้นเมื่อ April 13, 2019.
  8. Belfiore, Joe (2020-01-15), New year, new browser – The new Microsoft Edge is out of preview and now available for download, Microsoft
  9. "Microsoft Edge and Chromium Open Source: Our Intent". Microsoft Edge Team. 6 December 2018. สืบค้นเมื่อ 8 December 2018.