A linguagem Rust é popular por seus recursos de desempenho, segurança e simultaneidade e, embora não contenha ferramentas de interface gráfica de usuário (GUI) diretas na biblioteca padrão, a comunidade desenvolveu várias bibliotecas de terceiros de alta qualidade para auxiliar no desenvolvimento ou criar aplicativos GUI. Aqui estão algumas estruturas e ferramentas Rust GUI populares:
Touro:
Tauri é uma estrutura para construir aplicativos de desktop menores, mais rápidos e mais seguros que usam Rust para lógica de back-end, ao mesmo tempo que permite usar tecnologias de front-end (como React, Vue, Angular, etc.) para construir interfaces de usuário.
Ele é baseado em tecnologia Web, mas empacota aplicativos como aplicativos nativos, proporcionando desempenho e experiência de usuário próximos aos aplicativos nativos.
Caro ImGui:
Esta é uma biblioteca para criação de interfaces gráficas de usuário em modo tempo real, especialmente adequada para desenvolvimento de jogos, visualização de dados, controle em tempo real e outros cenários.
Está escrito em C, mas a comunidade Rust já oferece boas ligações (como imgui-rs), tornando muito conveniente o uso de Dear ImGui em projetos Rust.
Flutter (Suporte para Desktop):
Embora o Flutter seja principalmente uma estrutura para a criação de aplicativos móveis e da web, agora ele também oferece suporte a aplicativos de desktop.
Flutter usa a linguagem Dart, mas a comunidade Rust possui ligações e ferramentas experimentais (como flutter-rs), embora possam não ser tão maduros quanto outros idiomas com suporte oficial.
Egui:
Egui é uma biblioteca Rust GUI simples e fácil de usar, projetada para GUIs de modo imediato, inspirada em Dear ImGui.
Ele se concentra em fornecer uma API clara e concisa, adequada para prototipagem rápida e pequenos projetos.
Gio/Gtk-rs:
Gtk-rs é uma ligação Rust para GTK, um kit de ferramentas GUI multiplataforma amplamente usado.
Gtk-rs permite que os desenvolvedores Rust aproveitem a rica funcionalidade e o ecossistema do GTK para construir aplicativos de desktop complexos.
Suporta Linux, Windows e macOS.
druida:
Druid é uma estrutura GUI de plataforma cruzada escrita em Rust que visa fornecer uma interface declarativa baseada em dados.
Ele enfatiza a simplicidade e o desempenho, tornando-o ideal para aplicações que exigem uma interface de alto desempenho.
Ganhar:
Winit é uma biblioteca de criação e processamento de janelas de baixo nível que fornece funções básicas para criação de janelas, manipulação de eventos (como eventos de teclado e mouse) e ciclo de vida de janelas.
É frequentemente usado como base para estruturas GUI de nível superior, como Egui.
Qual estrutura ou ferramenta Rust GUI escolher depende de suas necessidades específicas, como tipo de projeto (jogo, visualização de dados, aplicativo de desktop geral, etc.), a plataforma de destino (Windows, macOS, Linux ou plataforma cruzada) e seus requisitos de desempenho. Cada estrutura tem suas próprias vantagens e limitações, por isso é recomendável estudar cuidadosamente a documentação e os exemplos de cada opção antes de escolher.