Alasan Mengapa WebAssembly Perlu Diperhatikan
(harshal.sheth.io)- Mulai dari pengenalan WebAssembly (WASM), di mana ia digunakan saat ini, hingga prediksi bidang-bidang yang akan menggunakannya di masa depan
Karakteristik WASM
-
Portabel: dapat dijalankan di browser/server mana pun sebagai bytecode yang terstandarisasi
-
Universal: berbagai bahasa seperti C, Rust, Go, Python, Ruby, dan lainnya dapat dikompilasi ke Wasm
-
Performa setara native: rata-rata 1,45~1,55 kali lebih lambat daripada native, tetapi selalu lebih cepat daripada JavaScript
-
Waktu mulai yang cepat: 10~100x lebih cepat daripada container Docker, dan di browser juga lebih cepat daripada parsing/interpreting JavaScript
-
Aman: dikembangkan dengan mempertimbangkan web, sehingga aman melalui memory sandboxing dan pembatasan kemampuan
Bidang yang Berguna untuk WASM
-
Meningkatkan kecepatan JavaScript
-
Menyediakan interoperabilitas antarbahasa pemrograman
-
Runtime untuk sistem plugin multibahasa
-
Sebagai mesin sandboxing tertanam untuk membawa dan menggunakan berbagai library pihak ketiga secara aman
-
Masa depan containerization: lebih cepat, footprint lebih kecil, dan lebih aman daripada Docker
-
Platform FaaS/Serverless
-
Blockchain: dapat dimanfaatkan sebagai runtime berkinerja tinggi untuk menjalankan smart contract
Prediksi dan Peluang
- Arsitektur aplikasi baru
→ microservice dapat dipecah lebih lanjut menjadi komponen yang lebih kecil
- Brownfield Deployment
→ integrasi container Docker dan Wasm di orchestration layer
- Framework Serverless/Edge yang terstandarisasi
→ saat ini Fastly, Lambda, Fission, dan lainnya membangun platform mereka sendiri, tetapi ada kemungkinan akan distandardisasi
→ "Terraform of Serverless"
- Package Management
→ semua bahasa memiliki package ecosystem
→ WASM memerlukan package manager. Sudah ada WAPM, tetapi hampir dalam kondisi dorman
Kesimpulan
- Jika WebAssembly sebagus itu, mengapa belum digunakan lebih luas?
→ pemasarannya kurang baik. Karena tidak terbatas pada Web atau Assembly, namanya sendiri sejak awal sudah kurang tepat
→ pemasaran sebagian besar ditujukan pada web developer, tetapi potensi sebenarnya melampaui browser
→ standar WebAssembly masih belum ada
→ interoperabilitas antarbahasa masih sangat buruk
→ developer experience masih sangat kurang
-
Namun banyak aspek sedang diperbaiki dan dalam 1~2 tahun akan mencapai kondisi yang layak untuk diadopsi
-
Aktivitas terkait WebAssembly beserta ecosystem dan community-nya telah memasuki fase pertumbuhan pesat
1 komentar
Bahkan jika Anda mencari WebAssembly/WASM di GeekNews, Anda bisa melihat sangat banyak artikel terkait.
Saya hanya akan mencantumkan artikel-artikel utamanya.
WebAssembly resmi diumumkan sebagai rekomendasi W3C https://id.news.hada.io/topic?id=1091
WebAssembly, bisakah diperluas ke luar browser? Aliansi Bytecode muncul https://id.news.hada.io/topic?id=901
MS/Google/Arm dan lainnya bergabung dengan Aliansi Bytecode https://id.news.hada.io/topic?id=4172
→ Organisasi nirlaba yang dibentuk dengan tujuan agar WebAssembly digunakan melampaui browser
Tren JavaScript pada 2020 dan setelahnya - WebAssembly https://id.news.hada.io/topic?id=2778
Bagaimana WebAssembly dapat menjalankan JavaScript lebih cepat https://id.news.hada.io/topic?id=5167
Amazon Prime Video mendukung 8.000 jenis perangkat dengan menggunakan WebAssembly https://id.news.hada.io/topic?id=5858
WebAssembly membawa ekstensibilitas baru ke proxy jaringan https://id.news.hada.io/topic?id=1722
Rilis Wasmer 1.0 https://id.news.hada.io/topic?id=3540
WebVM, mesin virtual x86 serverless yang berjalan di browser https://id.news.hada.io/topic?id=5893