- Runtime JavaScript minimal yang mendukung mobile dan desktop, serta dapat berjalan di berbagai perangkat keras
- Berfokus pada modularitas, fleksibilitas, dan ringan dengan arsitektur berbasis event asinkron
- Dioptimalkan untuk pengembangan aplikasi P2P dan aplikasi lintas platform
Fitur utama
-
Struktur yang sepenuhnya termodularisasi
- Tidak ada standard library → gunakan pendekatan berbasis modul dengan hanya mengambil fungsi yang dibutuhkan
- Contoh:
bare-fs, bare-http1, bare-crypto, bare-zlib, bare-stream, dll.
- Karena hanya memasang dan memakai fitur yang diperlukan, lingkungan runtime yang ringan dapat dibangun
-
Kompatibel dengan ESM & CommonJS
- Baik
require() maupun import bisa digunakan
- Bahkan di lingkungan yang mencampurkan dua sistem modul, keduanya bisa berinteraksi dengan bebas
-
Dukungan optimal untuk mobile
- Dengan Bare Kit, runtime JavaScript dapat disematkan ke perangkat mobile
- Mudah diintegrasikan ke Android dan iOS melalui
react-native-bare-kit
- Mendukung komunikasi IPC, sehingga worklet Bare dapat dijalankan di aplikasi React Native
-
Dukungan addon native
- Addon native dapat ditulis berbasis
libjs dan libuv
- Mendukung berbagai engine JavaScript (V8, JavaScriptCore, QuickJS)
- Sebagian besar simbol N-API dapat digunakan
Filosofi Bare: kesederhanaan adalah kekuatan
- Bare memiliki struktur runtime yang kecil dan modular, sehingga dapat berjalan di desktop maupun mobile tanpa penurunan performa
- Seperti Node.js, Bare menyediakan arsitektur berbasis event asinkron, tetapi dirancang dengan fokus utama pada embedding dan kompatibilitas antarperangkat
Hal-hal yang bisa dibuat dengan Bare
-
Aplikasi P2P
- Berbasis stack Holepunch, dapat digunakan untuk membangun streaming data real-time, berbagi file, dan aplikasi komunikasi dengan cepat
- Dapat membuat aplikasi komunikasi dan berbagi tanpa server seperti Keet dan Pear
- Mendukung komunikasi real-time berperforma tinggi bahkan tanpa WebRTC
- Berkat struktur yang ringan dan modular, skalabilitas dan efisiensi sama-sama bisa diperoleh
-
Jaringan terdesentralisasi
- Mewujudkan desentralisasi setingkat blockchain dengan struktur tanpa server
- Cocok untuk berbagai aplikasi terdistribusi seperti DeFi, berbagi data, dan jaringan privat
-
Berbagi data berefisiensi tinggi
- Cocok untuk pustaka media, game real-time, dan streaming video
- Mendukung sinkronisasi dan streaming yang cepat serta stabil
-
Aplikasi lintas platform yang mandiri
- Modul yang ditulis sekali dapat digunakan kembali di mobile dan desktop
- Contoh: push notification, re-encoding video, dan pekerjaan kriptografi dapat berjalan lancar bahkan di lingkungan berspesifikasi rendah
Performa dan skalabilitas
- Mendukung berbagai engine JS seperti V8, JavaScriptCore, QuickJS
- Menjaga kompatibilitas dengan runtime yang ada melalui integrasi LibJS
- Menggunakan fastcall untuk mencapai performa setingkat native
- Tech lead Kasper Isager: "Bare dirancang agar dapat berjalan di mana saja — dari komputer hingga ponsel dan perangkat embedded"
Pear + Bare = stack pengembangan P2P yang lengkap
- Pear adalah platform yang mengintegrasikan runtime P2P, alat pengembangan, dan deployment
- Aplikasi berbasis Bare berjalan di Pear Runtime milik Holepunch dan menyediakan lingkungan P2P lengkap yang bisa berjalan tanpa server
- Tanpa biaya server, privasi data terjamin sepenuhnya
- Pear diperbarui secara otomatis dan sekaligus menyertakan runtime Bare
- Kombinasi ini menghadirkan model container ringan yang benar-benar baru
Penutup
- Bare adalah runtime inovatif yang mewujudkan fleksibilitas dan efisiensi JavaScript yang sesungguhnya
- Di dalam tim Holepunch sendiri, mereka sudah mendistribusikan aplikasi mobile + desktop secara bersamaan dengan satu kali penulisan kode
- Implementasi sesungguhnya dari "Write Once, Run Anywhere"
- Kini aplikasi P2P sepenuhnya tanpa server dapat dijalankan di perangkat apa pun dengan satu codebase
Belum ada komentar.