Tags:
Node Thumbnail

วิศวกรจากกูเกิล, ไมโครซอฟท์, Mozilla และ WebKit ร่วมกันเปิดตัว WebAssembly เทคโนโลยีฟอร์แมตไบนารี "แบบใหม่" สำหรับเว็บเบราวเซอร์

นักพัฒนาสามารถคอมไพล์ภาษาโปรแกรม (ปัจจุบันเน้นที่ C/C++ ในอนาคตจะเพิ่มภาษาอื่นเข้าไป เช่น Rust, Go หรือ C#) ให้มาอยู่ในรูปแบบของฟอร์แมตไบนารีสำหรับเว็บ ทำงานบน JavaScript เอนจินบนเบราว์เซอร์ได้เลยโดยไม่ต้อง parse โค้ด Javascript ที่เป็นข้อความอีกต่อไป ผลคือการประมวลผลเร็วขึ้น (ต้นแบบปัจจุบันทำงานได้เร็วกว่าการ parse asm.js โค้ด 23 เท่า) และข้อดีอีกอย่างคือขนาดของโค้ดที่คอมไพล์ให้อยู่ในรูปแบบของไบนารีฟอร์แมตจะมีขนาดเล็กกว่า JavaScript

WebAssembly ยังเป็นเทคโนโลยีใหม่ที่หวังว่าเบราว์เซอร์ทุกตัวจะรองรับ (ซึ่งจากรายชื่อผู้เข้าร่วม รายใหญ่ก็มากันครบ) แต่ทางทีมผู้พัฒนาก็ออก Polyfill library เพื่อให้เบราว์เซอร์ในปัจจุบันสามารถทำงานกับ WebAssembly ได้ก่อน (Polyfill ทำหน้าที่ในการแปลง WebAssembly ฟอร์แมตไบนารีให้กลับมาอยู่ในรูปแบบของ JavaScript ที่เบราว์เซอร์สามารถทำงานได้)

ทำไมถึงต้อง WebAssembly ในเมื่อมี asm.js อยู่แล้ว?

  1. asm.js นั้นดี แต่ก็ยังเป็น JavaScript ที่เบราว์เซอร์ยังต้อง parse โค้ดก่อนที่จะทำงานได้ เปรียบเทียบกับฟอร์แมตไบนารีของ WebAssembly ที่เป็นเนทีฟโค้ด เบราว์เซอร์สามารถถอดรหัสและใช้งานได้ทันที (ในการทดลองพบว่าเร็วขึ้น 23 เท่า)
  2. สามารถหลีกเลี่ยงข้อจำกัดของ asm.js โดยใน WebAssembly นักพัฒนาสามารถเพิ่มฟีเจอร์ที่จำเป็นต่อประสิทธิภาพได้ง่ายกว่ามาก

ในขั้นแรก ทีมงานตั้งใจให้ WebAssembly มีฟีเจอร์เท่ากับ asm.js ในปัจจุบัน โดยนักพัฒนาสามารถใช้ Emscripten for WebAssembly ในการคอมไพล์ C++ โค้ดได้เลย

ที่มา: TechCrunch, WebAssembly FAQ

Get latest news from Blognone

Comments

By: panurat2000
ContributorSymbianUbuntuIn Love
on 18 June 2015 - 22:30 #820778
panurat2000's picture

วิศวกร Google, Microsoft, Mozilla และ WebKit เปิดตัว WebAseembly เทคโนโลยี binary format สำหรับ web

WebAseembly => WebAssembly

โดยสามารถให้นักพัฒนาสามารถ compile code

โดยสามารถให้นักพัฒนาสามารถ compile => โดยสามารถให้นักพัฒนา compile / โดยให้นักพัฒนาสามารถ compile

จะมีขนาดเล็กกว่า JavaScript code นั้นเอง

นั้นเอง => นั่นเอง

จน WebAssembly จะกลายเป็นมาตราฐาน

มาตราฐาน => มาตรฐาน

By: gie3D
ContributoriPhone
on 18 June 2015 - 22:36 #820779

ขอบคุณครับ แก้ไขแล้วครับ

By: mk
FounderAndroid
on 19 June 2015 - 04:07 #820798 Reply to:820779
mk's picture
  • หลายคำใช้ภาษาไทยได้เลย น่าจะช่วยให้การอ่านง่ายขึ้นครับ เช่น เว็บ โค้ด ไบนารี เบราว์เซอร์ คอมไพล์ ฟอร์แมต เอนจิน ฟีเจอร์
  • C/C++
  • อาจต้องอธิบายเพิ่มหน่อยว่า WebAssembly เป็นฟอร์แมตไบนารี "แบบใหม่" ที่หวังว่าจะให้เบราว์เซอร์ทุกตัวรองรับ (ซึ่งจากรายชื่อผู้เข้าร่วม รายใหญ่ก็น่าจะมากันครบ) เมื่อเบราว์เซอร์รองรับแล้ว เราค่อยสามารถคอมไพล์ภาษาใดๆ มาเป็น WebAssembly ได้เลย
  • ในข่าวต้นทางมีเทียบความคล้ายกับโครงการใกล้เคียงอย่าง asm.js อาจต้องอธิบายเพิ่มหน่อยครับว่ามันเหมือนหรือต่างกันอย่างไร
By: gie3D
ContributoriPhone
on 19 June 2015 - 08:28 #820818 Reply to:820798

ขอบคุณครับ แก้ไขคำให้เป็นภาษาไทยและเพิ่มอธิบายข้อเปรียบเทียบ WebAssembly กับ asm.js เข้าไปครับ

By: PH41
ContributorAndroidUbuntuWindows
on 19 June 2015 - 21:03 #821013
PH41's picture

มันจะทำให้ มีช่องโหว่มากขึ้นมั้ยเนี่ยครับ สำหรับผู้ใช้ Browser

By: Virusfowl
ContributorAndroidSymbianWindows
on 24 June 2015 - 12:24 #822047
  • สำหรับเว็บเบราวเซอร์ => สำหรับเว็บเบราว์เซอร์

@ Virusfowl

I'm not a dev. not yet a user.