16 poin oleh xguru 2025-04-08 | Belum ada komentar. | Bagikan ke WhatsApp
  • 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.

Belum ada komentar.