- 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.