16 Punkte von xguru 2025-04-08 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Eine minimale JavaScript-Laufzeit, die sowohl Mobilgeräte als auch Desktop unterstützt und auf verschiedenster Hardware ausgeführt werden kann
  • Fokussiert sich mit einer asynchronen, ereignisbasierten Architektur auf Modularität, Vielseitigkeit und Leichtgewichtigkeit
  • Optimiert für die Entwicklung von P2P-Anwendungen und plattformübergreifenden Apps

Hauptfunktionen

  • Vollständig modularer Aufbau

    • Keine Standardbibliothek → modularer Ansatz, bei dem nur die benötigten Funktionen eingebunden werden
    • Beispiele: bare-fs, bare-http1, bare-crypto, bare-zlib, bare-stream usw.
    • Durch die Struktur, nur die benötigten Funktionen zu installieren und zu nutzen, lässt sich eine leichtgewichtige Laufzeitumgebung aufbauen
  • ESM- & CommonJS-Kompatibilität

    • Sowohl require() als auch import können verwendet werden
    • Auch in Umgebungen, in denen beide Modulsysteme gemischt sind, ist eine freie Interaktion möglich
  • Unterstützung mit mobiler Optimierung

    • Mit Bare Kit kann eine JavaScript-Laufzeit in mobile Anwendungen eingebettet werden
    • Über react-native-bare-kit einfache Integration in Android und iOS
    • Unterstützung für IPC-Kommunikation, Bare-Worklets können in React-Native-Apps ausgeführt werden
  • Unterstützung für Native-Add-ons

    • Native Add-ons können auf Basis von libjs und libuv geschrieben werden
    • Unterstützung für verschiedene JavaScript-Engines (V8, JavaScriptCore, QuickJS)
    • Die meisten N-API-Symbole können verwendet werden

Die Philosophie von Bare: Einfachheit ist Stärke

  • Bare ist eine kleine, modularisierte Laufzeitarchitektur, die sowohl auf Desktop als auch auf Mobilgeräten ohne Leistungseinbußen laufen kann
  • Wie Node.js bietet es eine asynchrone, ereignisbasierte Architektur, wurde aber mit Fokus auf Embedding und Gerätekompatibilität entworfen

Was sich mit Bare bauen lässt

  • P2P-Anwendungen

    • Auf Basis des Holepunch-Stacks lassen sich Echtzeit-Datenstreaming, Dateifreigabe und Kommunikations-Apps schnell aufbauen
    • Serverlose Kommunikations- und Sharing-Apps wie Keet oder Pear sind möglich
    • Hochleistungs-Echtzeitkommunikation auch ohne WebRTC
    • Dank der leichtgewichtigen Struktur und Modularisierung sind sowohl Skalierbarkeit als auch Effizienz gegeben
  • Dezentrale Netzwerke

    • Eine serverlose Struktur ermöglicht ein Maß an Verteilung auf Blockchain-Niveau
    • Geeignet für verschiedenste verteilte Apps wie DeFi, Datenaustausch und private Netzwerke
  • Hocheffizienter Datenaustausch

    • Geeignet für Medienbibliotheken, Echtzeitspiele und Video-Streaming
    • Unterstützung für schnelle und stabile Synchronisierung und Streaming
  • Autarke plattformübergreifende Apps

    • Einmal geschriebene Module lassen sich sowohl auf Mobilgeräten als auch auf dem Desktop wiederverwenden
    • Beispiele: Push-Benachrichtigungen, Video-Re-Encoding, Verschlüsselungsaufgaben – funktionieren auch in ressourcenschwachen Umgebungen reibungslos

Leistung und Skalierbarkeit

  • Unterstützung für verschiedene JS-Engines wie V8, JavaScriptCore und QuickJS
  • LibJS-Integration sorgt für Kompatibilität mit bestehenden Laufzeiten
  • Für Performance auf Native-Niveau wird fastcall eingesetzt
  • Technikleiter Kasper Isager: "Bare wurde so entworfen, dass es überall laufen kann – von Computern über Mobiltelefone bis hin zu Embedded-Systemen"

Pear + Bare = vollständiger P2P-Entwicklungs-Stack

  • Pear ist eine Plattform, die P2P-Laufzeit sowie Entwicklungs- und Deployment-Tools integriert
  • Auf Bare basierende Apps laufen in Holepunchs Pear Runtime und bieten eine vollständige P2P-Umgebung, die ohne Server funktioniert
  • Keine Serverkosten, vollständiger Schutz der Datenprivatsphäre
  • Pear wird automatisch aktualisiert und enthält die Bare-Laufzeit gleich mit
  • Diese Kombination bietet ein völlig neues leichtgewichtiges Container-Modell

Fazit

  • Bare ist eine innovative Laufzeit, die die echte Vielseitigkeit und Effizienz von JavaScript verwirklicht
  • Auch innerhalb des Holepunch-Teams werden bereits mobile und Desktop-Apps gleichzeitig aus einer einzigen Codebasis ausgeliefert
  • Eine echte Umsetzung von "Write Once, Run Anywhere"
  • Vollständig serverlose P2P-Apps lassen sich nun mit einer einzigen Codebasis auf jedem Gerät ausführen

Noch keine Kommentare.

Noch keine Kommentare.