18 Okt 2015

Google, Microsoft, Mozilla Dan Tim Lainnya Siap Luncurkan WebAssembly, Sebuah Format Binary Baru Untuk Web

Google, Microsoft, Mozilla dan insinyur pada proyek WebKit bulan juni tahun ini mengumumkan bahwa mereka telah bekerja sama untuk meluncurkan WebAssembly, sebuah format binary baru untuk mengkompilasi aplikasi untuk web.

Web berkembang pada berbagai standar dan, dengan kekurangan dan kelebihannya, JavaScript adalah bahasa pemrogramannya. Selama bertahun-tahun, namun, kami telah melihat lebih banyak dan lebih banyak upaya yang memungkinkan pengembang untuk bekerja di sekitar beberapa keterbatasan JavaScript dengan membangun compiler yang transpile kode dalam bahasa lain untuk JavaScript. Beberapa proyek ini fokus pada menambahkan fitur baru untuk bahasa (seperti TypeScript-nya Microsoft ) atau mempercepat JavaScript (seperti asm.js nya proyek Mozilla). Sekarang, banyak dari proyek-proyek ini mulai datang bersama-sama dalam bentuk WebAssmbly.

Format baru ini dimaksudkan untuk memungkinkan programmer untuk mengkompilasi kode mereka pada browser (saat ini fokusnya adalah pada C / C ++, dengan bahasa lain akan mengikuti), di mana ia kemudian dieksekusi di dalam mesin JavaScript. Daripada harus mengurai kode penuh, meskipun, yang sering dapat mengambil cukup (terutama pada ponsel), WebAssembly dapat diterjemahkan secara signifikan lebih cepat.

Idenya adalah bahwa WebAssembly akan memberikan pengembang dengan target kompilasi tunggal untuk web yang akan, pada akhirnya, menjadi standar web yang diterapkan di semua browser. Secara default, file JavaScript adalah file teks sederhana yang di-download dari server dan kemudian diurai dan disusun oleh mesin JavaScript di browser. Tim WebAssembly memutuskan untuk pergi dengan format biner karena kode yang dapat dikompresi bahkan lebih dari standar file teks JavaScript dan karena itu jauh lebih cepat untuk mesin untuk memecahkan kode format biner (hingga 23x lebih cepat dalam prototipe saat ini) dari parsing asm kode js, misalnya. Asm.js Mozilla telah lama ditujukan untuk membawa kecepatan mendekati aslinya ke web. Google proyek Native Client untuk menjalankan kode asli di browser memiliki tujuan yang sama, tapi relatif punya daya tarik. Sepertinya WebAssemly mungkin dapat memberikan kontribusi yang terbaik dari proyek-proyek ini ke browser sekarang.

Sebagai langkah pertama, tim WebAssembly bertujuan untuk menawarkan tentang fungsi yang sama asm.js (dan pengembang akan dapat menggunakan alat Emscripten yang sama untuk WebAssembly karena mereka gunakan untuk mengkompilasi kode asm.js sekarang ini).

Pada tahap awal ini, tim juga berencana untuk meluncurkan apa yang disebut library polyfill yang akan menerjemahkan kode WebAssembly ke JavaScript agar dapat berjalan di browser apapun - bahkan mereka tanpa dukungan WebAssembly asli (yang jelas sedikit tidak masuk akal, tapi itu langkah terakhir tidak akan diperlukan sekali browser dapat menjalankan kode ini native). Seiring waktu kemudian, tim akan membangun lebih banyak alat (compiler, debugger, dll) dan menambahkan dukungan untuk lebih banyak bahasa (Rust, Go dan C #, misalnya).

Sebagai penemu JavaScript(dan CEO Mozilla jangka pendek) Brendan Eich menunjukkan hari ini, setelah browser utama mendukung format baru native, JavaScript dan WebAssembly akan dapat bercabang lagi.

Tim mencatat bahwa ide di sini bukan untuk menggantikan JavaScript, dengan cara, tapi untuk memungkinkan lebih banyak bahasa untuk dikompilasi untuk Web. Memang, kemungkinan bahwa kedua JavaScript dan WebAssembly akan digunakan side-by-side dan beberapa bagian dari aplikasi dapat menggunakan modul WebAssembly (animasi, visualisasi, kompresi, dll), sedangkan antarmuka pengguna masih akan sebagian besar ditulis dalam JavaScript, sebagai contoh.

Sangat jarang bahwa kita melihat semua vendor browser utama bekerja sama dalam sebuah proyek seperti ini, jadi ini adalah sesuatu yang pasti layak disaksikan di bulan dan tahun-tahun mendatang.

Tidak ada komentar:

Posting Komentar