Draf standard WebAssembly 2.0 dikeluarkan 

W3C dilancarkan Baru-baru ini melalui kiriman draf spesifikasi baharu yang menyeragamkan kod penyediaan WebAssembly 2.0 dan API yang berkaitan untuk membolehkan penciptaan aplikasi berprestasi tinggi yang mudah alih merentas pelayar dan platform perkakasan.

Bagi mereka yang baru menggunakan WebAssembly, anda harus tahu itu ini menyediakan perisian tengah generik, tahap rendah dan bebas pelayar, untuk menjalankan aplikasi yang disusun daripada pelbagai bahasa pengaturcaraan. Dengan menggunakan JIT untuk WebAssembly, anda boleh mencapai tahap prestasi yang hampir dengan kod asli.

Mengenai WebAssembly

webassembly boleh digunakan untuk melaksanakan tugas berprestasi tinggi dalam penyemak imbas, seperti pengekodan video, pemprosesan audio, manipulasi 3D dan grafik, pembangunan permainan, operasi kriptografi dan pengiraan matematik, dengan melaksanakan kod yang ditulis dalam bahasa yang disusun seperti C/C++.

Antara tugas utama WebAssembly ialah penyediaan kemudahalihan, kebolehramalan tingkah laku dan identiti pelaksanaan kod pada platform yang berbeza. Baru-baru ini, WebAssembly juga telah dipromosikan sebagai platform universal untuk pelaksanaan kod selamat pada mana-mana infrastruktur, sistem pengendalian dan peranti, tidak terhad kepada penyemak imbas.

Mengenai draf WebAssembly 2.0

Pada bahagian perubahan yang telah dibuat sejak WebAssembly ialah cadangan siap untuk WebAssembly 2.0 adalah SIMD lebar tetap, operasi memori massa, jenis rujukan, sokongan JavaScript BigInt untuk WebAssembly i64, sokongan untuk berbilang nilai pulangan dan import/eksport boleh ubah. pembolehubah global.

W3C telah menerbitkan tiga draf spesifikasi WebAssembly 2.0:

  1. Teras Perhimpunan Web: menerangkan mesin maya peringkat rendah untuk menjalankan kod WebAssembly perantaraan. Sumber yang berkaitan dengan WebAssembly datang dalam format ".wasm", serupa dengan fail ".class" Java, yang mengandungi data statik dan segmen kod untuk berfungsi dengan data tersebut.
  2. Antara muka JavaScript WebAssembly: menyediakan API untuk penyepaduan dengan JavaScript. Membolehkan anda mendapatkan nilai dan menghantar parameter ke fungsi WebAssembly. Pelaksanaan WebAssembly mengikut model keselamatan JavaScript, dan semua interaksi dengan hos dilakukan dengan cara yang serupa dengan menjalankan kod JavaScript.
  3. API Web Perhimpunan Web: mentakrifkan API berdasarkan mekanisme Janji untuk meminta dan melaksanakan sumber ".wasm". Format sumber WebAssembly dioptimumkan untuk memulakan pelaksanaan tanpa menunggu fail dimuat turun sepenuhnya, yang meningkatkan responsif aplikasi web.

Perbezaan antara WebAssembly dan WebAssembly 2.0

Juga, perlu diperhatikan bahawa terdapat beberapa perubahan penting dalam WebAssembly 2.0 berbanding dengan versi pertama standard:

  • sokongan jenis vektor v128 dan arahan vektor berkaitan yang membolehkan anda melakukan operasi pada berbilang nilai angka secara selari (SIMD, arahan tunggal, berbilang data).
  • Keupayaan untuk mengimport dan mengeksport pembolehubah global boleh ubah, yang membenarkan pengikatan global untuk nilai sebagai penunjuk tindanan dalam C++.
  • Arahan baharu untuk menukar apungan kepada int, yang bukannya membuang pengecualian pada limpahan hasil, mengembalikan nilai minimum atau maksimum yang mungkin (diperlukan untuk SIMD).
  • Arahan untuk mengembangkan tanda integer (meningkatkan kedalaman bit nombor yang mengekalkan tanda dan nilai).
  • Sokongan untuk mengembalikan berbilang nilai mengikut blok dan fungsi (serta menghantar berbilang parameter kepada fungsi).
  • Laksanakan fungsi JavaScript BigInt64Array dan BigUint64Array untuk menukar antara jenis JavaScript BigInt dan perwakilan WebAssembly bagi integer 64-bit.
  • Sokongan untuk jenis rujukan (funcref dan externref) dan pernyataan berkaitannya (select, ref.null, ref.func, dan ref.is_null).
  • arahan memory.copy, memory.fill, memory.init dan data.drop untuk menyalin data antara kawasan memori dan memadam kawasan memori.
  • Arahan untuk akses terus dan pengubahsuaian jadual (table.set, table.get, table.size, table.grow).
  • Keupayaan untuk mencipta, mengimport dan mengeksport berbilang jadual dalam satu modul. Berfungsi untuk menyalin/mengisi jadual dalam mod kelompok (table.copy, table.init dan elem.drop).

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh melihat butirannya Dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.