- Um runtime JavaScript minimalista que oferece suporte tanto a mobile quanto a desktop e pode rodar em diversos tipos de hardware
- Arquitetura assíncrona orientada a eventos com foco em modularidade, versatilidade e leveza
- Otimizado para desenvolvimento de aplicações P2P e apps multiplataforma
Principais recursos
-
Estrutura totalmente modular
- Sem biblioteca padrão → abordagem modular, usando apenas os recursos necessários
- Ex.:
bare-fs, bare-http1, bare-crypto, bare-zlib, bare-stream etc.
- Uma estrutura em que você instala e usa apenas o que precisa, permitindo montar um ambiente de runtime leve
-
Compatibilidade com ESM & CommonJS
- É possível usar tanto
require() quanto import
- Interação livre mesmo em ambientes com os dois sistemas de módulos misturados
-
Suporte otimizado para mobile
- Com o Bare Kit, é possível embutir um runtime JavaScript no mobile
- Integração fácil com Android e iOS por meio do
react-native-bare-kit
- Suporte a comunicação IPC, permitindo executar worklets do Bare em apps React Native
-
Suporte a addons nativos
- É possível criar addons nativos com base em
libjs e libuv
- Suporte a vários motores JavaScript (V8, JavaScriptCore, QuickJS)
- A maior parte dos símbolos N-API pode ser usada
A filosofia do Bare: simplicidade é poder
- O Bare, com sua estrutura de runtime pequena e modular, pode rodar tanto em desktop quanto em mobile sem perda de desempenho
- Ele oferece uma arquitetura assíncrona orientada a eventos como a do Node.js, mas foi projetado com foco principal em embedding e compatibilidade entre dispositivos
O que dá para criar com Bare
-
Aplicações P2P
- Com base na stack Holepunch, é possível criar rapidamente streaming de dados em tempo real, compartilhamento de arquivos e apps de comunicação
- Dá para desenvolver apps de comunicação e compartilhamento sem servidor, como Keet e Pear
- Suporte a comunicação em tempo real de alto desempenho mesmo sem WebRTC
- Graças à estrutura leve e modular, garante escalabilidade e eficiência ao mesmo tempo
-
Redes descentralizadas
- Uma arquitetura sem servidor viabiliza um nível de distribuição comparável ao de blockchain
- Adequado para vários apps distribuídos, como DeFi, compartilhamento de dados e redes privadas
-
Compartilhamento de dados de alta eficiência
- Adequado para bibliotecas de mídia, jogos em tempo real e streaming de vídeo
- Suporte a sincronização e streaming rápidos e estáveis
-
Apps multiplataforma autossuficientes
- Um módulo escrito uma vez pode ser reutilizado tanto em mobile quanto em desktop
- Ex.: notificações push, recodificação de vídeo e operações de criptografia funcionam bem até em ambientes com poucos recursos
Desempenho e escalabilidade
- Suporte a vários motores JS, como V8, JavaScriptCore e QuickJS
- Compatibilidade com runtimes existentes por meio da integração com LibJS
- Uso de fastcall para alcançar desempenho em nível nativo
- O líder técnico Kasper Isager: "O Bare foi projetado para poder rodar em qualquer lugar — de computadores a celulares e sistemas embarcados"
Pear + Bare = stack completa de desenvolvimento P2P
- O Pear é uma plataforma que integra runtime P2P, desenvolvimento e ferramentas de deploy
- Apps baseados em Bare funcionam no Pear Runtime da Holepunch e oferecem um ambiente P2P completo que funciona sem servidor
- Sem custo de servidor e com privacidade de dados totalmente garantida
- O Pear é atualizado automaticamente e inclui também o runtime Bare
- Essa combinação oferece um novo modelo de contêiner leve
Encerrando
- O Bare é um runtime inovador que concretiza a verdadeira versatilidade e eficiência do JavaScript
- Até mesmo dentro da equipe da Holepunch, ele já está sendo usado para distribuir simultaneamente apps mobile e desktop a partir de um único código
- Uma implementação real de "Write Once, Run Anywhere"
- Agora é possível executar um app P2P completo e sem servidor, com uma única base de código, em qualquer dispositivo
Ainda não há comentários.