FoxTechWorld

Aprendendo sobre Wails

Introdução

Ultimamente, venho testado um framework chamado wails.

Ele é similar ao Tauri e usa o webkit como motor padrão de renderização de interface.

E como backend ele tem a linguagem Go.

O que garante performance tanto em compilação quanto em execução.

Além de segurança de memória e umas firulinhas a mais.

Como funciona?

Wails Runtime

O app Wails é um aplicativo Go normal usando o frontend webkit como dito originalmente.

Mas as responsabilidade é dividida da seguinte forma:

O frontend é uma janela webkit (sem nenhuma carga de navegador por trás.) ela contém uma pequena parte de javascript para fazer bindings com o código go.

O aplicativo consiste principalmente em um função integrada chamada wails.Run().

Essa função recebe a configuração do aplicativo como:

Quais as vantagens e desvantagens com Wails

Vantagens

Desvantagens

Comparando Wails com suas alternativas

CaracterísticaWailsTauriElectron
Linguagens de BackendGoRustNode.js (JavaScript/TypeScript)
Linguagens de FrontendHTML, CSS, JavaScript (Vue/React/Svelte)HTML, CSS, JavaScript (React, Vue)HTML, CSS, JavaScript
Tamanho do PacoteMenor, por ser mais otimizadoMenor que ElectronMaior, devido à dependência do Chromium
DesempenhoAlto (Go no backend)Alto (Rust no backend)Moderado (Node.js + Chromium)
Facilidade de UsoRelativamente fácil para quem conhece GoFácil para desenvolvedores Rust e frontend webMuito fácil, com grande documentação e comunidade
Suporte a Múltiplas PlataformasWindows, macOS, LinuxWindows, macOS, LinuxWindows, macOS, Linux
Ecossistema e ComunidadeMenor, em crescimentoModerado, mas crescenteGrande e madura, com muitos recursos
Tamanho da AplicaçãoLeve, mais eficienteLeve, mais eficientePesada, especialmente em apps grandes
Suporte a APIs NativasAcesso direto com GoAcesso direto com RustAcesso completo, mas com mais dependências externas
Desenvolvimento Cross-platformSimSimSim
Complexidade do SetupFácil de configurarSimples, mas com mais configuração inicialSimples, mas pode ser complexo para apps grandes

Conclusão

O wails é uma alternativa interessante para quem não quer lidar com Rust ou electron.

Construindo apps nativos, multiplataforma com a performance do golang.

Se você estiver procurando uma solução mais leve e poderosa.

Pode valer a pena testar o Wails.


Tags: