Koleksi alat kini tersedia di web berkat WebAssembly.
WebAssembly memungkinkan developer menghadirkan fungsi baru yang berperforma tinggi ke web dari bahasa lain. Selama beberapa tahun terakhir, developer telah benar-benar memanfaatkan peluang tersebut. Postingan ini hanya menampilkan beberapa alat baru yang menarik yang dapat Anda manfaatkan, sebagian berkat WebAssembly.
Alat dan library yang dapat Anda gunakan sekarang
Tanpa berlama-lama lagi, mari kita mulai :D
SQLite
Port lengkap SQLite ini menghadirkan sistem manajemen database relasional yang ringan dan tersemat ke tangan Anda. Untuk mempelajari lebih lanjut, baca postingan blog yang menampilkan port luar biasa ini dan cara menggunakannya.
FFmpeg.wasm
FFmpeg adalah project software gratis dan open source yang terdiri dari serangkaian library dan program untuk menangani file dan streaming video, audio, serta multimedia lainnya. Anda dapat menemukan versi yang dikompilasi wasm di sini (repo github) yang memungkinkan Anda melakukan semua fungsi ini langsung di browser.
Universal Scene Description (USD)
Universal Scene Description (USD) adalah framework untuk data grafis komputer 3D yang berfokus pada kolaborasi, pengeditan non-destruktif, dan memungkinkan beberapa tampilan dan pendapat tentang data grafis. Ini adalah standar industri yang didukung oleh perusahaan seperti Pixar, Autodesk, Nvidia, dan banyak lagi. Dukungan webnya masih dalam tahap awal, tetapi Autodesk sudah menyediakan penampil USD berbasis web dengan lisensi open source yang dapat Anda lihat di sini.
CanvasKit
CanvasKit adalah Skia, mesin rendering Chrome dan Android, yang dikompilasi langsung ke WebAssembly. Dengan API ini, Anda mendapatkan akses JavaScript API sederhana ke hampir semua kemampuan mesin rendering Skia. Fungsi ini mencakup rendering kompleks, pembentukan teks, animasi, goresan tinta, dan lainnya. Lihat paket npm dan panduan memulai.
TensorFlow.js
TensorFlow.js menghadirkan kecanggihan TensorFlow langsung ke browser dengan JavaScript API sederhana. Di balik layar, model ini mengoptimalkan model di seluruh GPU dan CPU (termasuk pengoptimalan SIMD) untuk memaksimalkan performa. Anda dapat melihat panduan memulai atau melihat beberapa demonya secara langsung.
OpenCV
OpenCV adalah standar industri fungsi pemrograman terutama untuk computer vision real-time. Ada paket npm yang mudah digunakan di sini, dan untuk pengguna Emscripten, ada juga petunjuk mendetail untuk melakukan build lengkap. Untuk melihat cara SIMD dan thread meningkatkan performa workload ini, Anda dapat menonton bagian ini dari presentasi Modern WebAssembly Chrome Dev Summit.
Cocos
Cocos adalah game engine yang canggih dan populer yang memungkinkan developer membuat game dengan dukungan lintas platform, dan sekarang mencakup web. Game engine ini bergabung dengan daftar panjang game engine yang memungkinkan ekspor web melalui wasm. Untuk memulai, buka editor Cocos dan ikuti petunjuk ini.
Kesimpulan
Selain contoh spesifik ini, ada banyak hal yang menarik dalam hal potensi WebAssembly untuk mengubah kecepatan fungsi web baru. Chrome bahkan telah menyiapkan Advanced Web Apps Fund yang dapat membantu developer mendanai pekerjaan mereka untuk meningkatkan fungsi web yang tersedia bagi semua developer.
Banner besar dari Pexels, oleh Ann Marie Kennon.