- Rust foi escolhida como a "linguagem de programação mais admirada" por 8 anos, e muitas pessoas querem escrever programas com GUI em Rust.
- Compartilha uma abordagem usando Flutter e
flutter_rust_bridge
- Vantagens
- Flutter é uma plataforma popular e madura, usada por muitos desenvolvedores e marcas conhecidas, e tem um grande ecossistema, o que facilita implementar os recursos desejados
- O recurso de "hot reload" acelera o desenvolvimento de UI, e o suporte multiplataforma permite executar em várias plataformas com a mesma base de código
- Desvantagens
- Essa abordagem não é 100% Rust puro
- No entanto, isso é semelhante a muitas outras UIs em Rust que usam macros ou escrevem uma DSL personalizada com outras linguagens, como HTML/CSS/Slint
- Há críticas em relação à plataforma web
- É mais adequado para "apps" na web e em outras plataformas (por exemplo, Google Earth, o editor de animação da Rive etc.) do que para páginas web estáticas
- Flutter exige muito código boilerplate
O que é flutter_rust_bridge?
- Cria uma ponte entre duas linguagens para que funcionem como se fossem uma só
- Converte automaticamente vários tipos,
&mut, async, traits, results, closures etc.
- Além de implementar GUIs em Rust com Flutter, há vários outros casos de uso
= usar qualquer biblioteca Rust no Flutter, ou escrever em Rust partes como algoritmos e escrever o restante em Flutter
1 comentários
Comentários no Hacker News
Usei isso durante alguns anos desenvolvendo apps e, no geral, fiquei satisfeito
Não vejo muito bem qual é a vantagem de escrever a UI em Dart em vez de Rust, mas sou fã do flutter_rust_bridge
Um esforço digno de elogio. No momento estou usando Tauri e tenho curiosidade sobre os prós e contras dos dois
Uso Flutter para a UI desktop e Rust para o backend
Muito bom. Só ouvi coisas boas sobre rust_flutter_bridge
Gostei da abordagem do Flutter para construir UI, mas não gostei muito de Dart
Não acho que o material design e os efeitos chamativos do Google sejam o visual mais agradável
Tenho curiosidade sobre o suporte a acessibilidade (a11y)
Muito melhor do que depender de shell do Chrome ou widgets web, elogios pelo esforço
Interessante. IIUC, fico curioso se isso foi feito usando tradução entre fontes