5 Proyek Bahasa Panas Mengendarai WebAssembly – Aplikasi web saat ini tidak secepat dan responsif seperti aplikasi desktop asli, tetapi bagaimana jika bisa? Itulah janji WebAssembly.
WebAssembly adalah bahasa tingkat rendah seperti perakitan dengan format biner ringkas yang berjalan dengan kinerja hampir asli di browser web.
Pada saat yang sama, WebAssembly menyediakan target kompilasi portabel untuk C/C++, C#, Rust, Go, Kotlin, Swift, dan bahasa pemrograman lainnya. http://www.realworldevaluation.org/

Dipuji sebagai cara untuk meningkatkan kinerja aplikasi web dan memungkinkan bahasa selain JavaScript digunakan dalam pengembangan aplikasi browser, WebAssembly diperjuangkan oleh Google, Mozilla, Apple, dan Microsoft, yang semuanya mendukung teknologi di mesin browser mereka. http://www.realworldevaluation.org/
WebAssembly telah mengarah pada pengembangan berbagai teknologi baru, termasuk bahasa pemrograman baru, yang memanfaatkan kekuatannya. Berikut ini adalah 5 proyek bahasa yang telah membuat taruhan besar di WebAssembly.
1. Binaryen
Binaryen adalah perpustakaan infrastruktur toolchain compiler untuk WebAssembly. Ditulis dalam C++, Binaryen dimaksudkan untuk membuat kompilasi ke WebAssembly menjadi mudah, efektif, dan cepat.
Ini memiliki C API dalam satu header, dan dapat digunakan dari JavaScript. Input diterima dalam bentuk seperti WebAssembly tetapi grafik kontrol umum juga diterima untuk kompiler yang menyukainya.
IR internal (representasi perantara) Binaryen menggunakan struktur data yang ringkas dan menggunakan semua inti CPU untuk codegen paralel dan pengoptimalan.
IR juga mengkompilasi ke WebAssembly dengan mudah karena pada dasarnya adalah bagian dari WebAssembly. Pengoptimalan khusus WebAssembly meningkatkan ukuran dan kecepatan kode, menjadikan Binaryen berguna sebagai kompiler back end dengan sendirinya. https://www.mustangcontracting.com/
2. Perakitan Web Blazor
Blazor WebAssembly adalah kerangka kerja untuk membangun aplikasi web satu halaman interaktif, sisi klien, menggunakan .NET, dan menghosting aplikasi tersebut di browser modern (termasuk browser seluler) pada runtime .NET berbasis WebAssembly.
Tidak diperlukan plug-in atau kompilasi ulang kode ke dalam bahasa lain. Runtime memungkinkan kode .NET untuk mengakses fungsionalitas browser melalui API JavaScript WebAssembly.
Saat aplikasi Blazor WebAssembly dijalankan di browser, file kode C# dan file Razor dikompilasi ke dalam rakitan .NET, yang diunduh ke browser bersama dengan runtime .NET. Dan karena kode .NET dijalankan di WebAssembly di kotak pasir JavaScript browser, kode tersebut dilindungi dari tindakan jahat di mesin klien.
Aplikasi Blazor WebAssembly dapat digunakan secara mandiri atau dengan dukungan sisi server.
3. Cheerp
Cheerp dari Leaning Technologies diposisikan sebagai kompiler C/C++ tingkat perusahaan untuk web, mengompilasi C dan C++, hingga C++ 17, ke dalam WebAssembly, JavaScript, atau kombinasi keduanya.
Cheerp terintegrasi ke dalam infrastruktur LLVM/Dentang, dengan pengoptimalan khusus yang dimaksudkan untuk meningkatkan kinerja dan meminimalkan ukuran keluaran yang dikompilasi.
Terutama digunakan untuk mem-port library dan aplikasi C/C++ yang ada ke HTML5, Cheerp juga dapat digunakan untuk menulis aplikasi web dan komponen WebAssembly. Cheerp ditawarkan di bawah lisensi open source dan komersial.
4. CheerpJ
Ditagih sebagai “kompiler Java untuk web,” kompiler berbasis LLVM ini mengubah aplikasi klien Java apa pun menjadi WebAssembly, JavaScript, dan HTML, memungkinkan aplikasi klien Java untuk berjalan di browser modern.
CheerpJ memanfaatkan tiga komponen: compiler AOT (ahead-of-time), runtime di WebAssembly dan JavaScript, dan API interoperabilitas DOM JavaScript, untuk mengakses DOM dari Java.
Dengan CheerpJ, arsip JAR dapat dikompilasi menggunakan kompiler AOT. CheerpJ tidak memerlukan dukungan sisi server apa pun.
5. Emscripten
Toolchain compiler open source ini mengkompilasi C dan C++, atau bahasa lain apa pun yang menggunakan teknologi compiler LLVM, ke dalam WebAssembly untuk penerapan di web, Node.js, atau runtime Wasm seperti Wasmer.
(Kompiler Emscripten, emcc, juga memancarkan JavaScript yang menyediakan dukungan API untuk kode yang dikompilasi.

Emscripten telah digunakan untuk mengubah daftar basis kode dunia nyata menjadi WebAssembly, termasuk basis kode komersial seperti mesin game Unreal Engine 4 dan platform Unity 3D Emscripten mendukung pustaka standar C dan C++, pengecualian C++, dan perintah grafis OpenGL/WebGL.
Emscripten SDK yang digunakan untuk menginstal rantai alat Emscripten (emcc, LLVM, dll.) dapat digunakan di Linux, MacOS, dan Windows.…