16 points par xguru 2025-04-08 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Un runtime JavaScript minimal qui prend en charge à la fois le mobile et le desktop, et peut s’exécuter sur une grande variété de matériels
  • Une architecture asynchrone orientée événements, centrée sur la modularité, la polyvalence et la légèreté
  • Optimisé pour le développement d’applications P2P et d’apps multiplateformes

Fonctionnalités principales

  • Structure entièrement modulaire

    • Aucune bibliothèque standard → une approche modulaire où l’on n’importe que les fonctionnalités nécessaires
    • Ex. : bare-fs, bare-http1, bare-crypto, bare-zlib, bare-stream, etc.
    • Une structure qui permet de n’installer et d’utiliser que les fonctions requises, afin de composer un environnement d’exécution léger
  • Compatibilité ESM & CommonJS

    • require() et import peuvent tous deux être utilisés
    • Interaction libre même dans des environnements où les deux systèmes de modules sont mélangés
  • Prise en charge optimisée du mobile

    • Bare Kit permet d’intégrer un runtime JavaScript dans le mobile
    • Intégration facile à Android et iOS via react-native-bare-kit
    • Prise en charge des communications IPC, avec possibilité d’exécuter des worklets Bare dans une app React Native
  • Prise en charge des addons natifs

    • Possibilité d’écrire des addons natifs sur la base de libjs et libuv
    • Prise en charge de plusieurs moteurs JavaScript (V8, JavaScriptCore, QuickJS)
    • La plupart des symboles N-API peuvent être utilisés

La philosophie de Bare : la simplicité comme puissance

  • Bare repose sur une structure de runtime petite et modulaire, capable de fonctionner sur desktop comme sur mobile sans perte de performance
  • Comme Node.js, il fournit une architecture asynchrone orientée événements, mais a été conçu avant tout autour de l’embarqué et de la compatibilité entre appareils

Ce que l’on peut construire avec Bare

  • Applications P2P

    • Basé sur la stack Holepunch, il permet de créer rapidement des apps de streaming de données en temps réel, de partage de fichiers et de communication
    • Il permet de développer des applications de communication et de partage sans serveur comme Keet et Pear
    • Prise en charge de communications temps réel hautes performances, même sans WebRTC
    • Grâce à sa structure légère et modulaire, il offre à la fois extensibilité et efficacité
  • Réseaux décentralisés

    • Une architecture sans serveur qui atteint un niveau de distribution comparable à celui de la blockchain
    • Adapté à diverses applications distribuées comme la DeFi, le partage de données ou les réseaux privés
  • Partage de données à haute efficacité

    • Adapté aux bibliothèques multimédias, aux jeux en temps réel et au streaming vidéo
    • Prise en charge d’une synchronisation et d’un streaming rapides et stables
  • Apps multiplateformes autonomes

    • Les modules écrits une fois peuvent être réutilisés à la fois sur mobile et sur desktop
    • Ex. : notifications push, réencodage vidéo, opérations de chiffrement — avec un fonctionnement fluide même sur des environnements peu puissants

Performances et extensibilité

  • Prise en charge de plusieurs moteurs JS, dont V8, JavaScriptCore et QuickJS
  • La compatibilité avec les runtimes existants est maintenue grâce à l’intégration de LibJS
  • Utilisation de fastcall pour obtenir des performances de niveau natif
  • Le responsable technique Kasper Isager : « Bare a été conçu pour pouvoir s’exécuter partout — des ordinateurs aux téléphones, jusqu’à l’embarqué »

Pear + Bare = une stack de développement P2P complète

  • Pear est une plateforme qui intègre runtime P2P, outils de développement et de déploiement
  • Les apps basées sur Bare fonctionnent dans le Pear Runtime de Holepunch et fournissent un environnement P2P complet capable de fonctionner sans serveur
  • Aucun coût serveur, confidentialité des données pleinement garantie
  • Pear se met à jour automatiquement et inclut également le runtime Bare
  • Cette combinaison propose un tout nouveau modèle de conteneur léger

Conclusion

  • Bare est un runtime innovant qui concrétise la véritable polyvalence et l’efficacité de JavaScript
  • Au sein même de l’équipe Holepunch, on déploie simultanément des apps mobile + desktop à partir d’un code écrit une seule fois
  • Une mise en œuvre réelle de « Write Once, Run Anywhere »
  • Il est désormais possible d’exécuter une app P2P complète et sans serveur, avec une seule base de code, sur n’importe quel appareil

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.