Michael Aaron Murphy, líder dos desenvolvedores da distribuição Pop!_OS e participante do desenvolvimento do sistema operacional Redox, falou sobre o trabalho na nova edição do ambiente de usuário COSMIC. COSMIC está sendo transformado em um projeto independente que não usa GNOME Shell e é desenvolvido na linguagem Rust. O ambiente está planejado para ser utilizado na distribuição Pop!_OS, pré-instalado em laptops e PCs System76.
Nota-se que após muita discussão e experimentação, os desenvolvedores decidiram utilizar a biblioteca Iced em vez do GTK para construir a interface. Segundo os engenheiros da System76, a biblioteca Iced, que vem sendo ativamente desenvolvida recentemente, já atingiu um nível suficiente para ser usada como base para um ambiente de usuário. Durante os experimentos, vários miniaplicativos COSMIC foram preparados, escritos simultaneamente em GTK e Iced para comparar tecnologias. Experimentos mostraram que, em comparação com GTK, a biblioteca Iced fornece uma API mais flexível, expressiva e compreensível, é naturalmente combinada com o código Rust e oferece uma arquitetura familiar para desenvolvedores familiarizados com a linguagem de construção de interface declarativa Elm.

A biblioteca Iced é escrita inteiramente em Rust e utiliza um design com tipagem estática, uma arquitetura modular e um modelo de programação reativa. Ela fornece múltiplos mecanismos de renderização compatíveis com Vulkan, Metal, DX12, OpenGL 2.1+ e OpenGL ES 2.0+, além de um framework de janelas e um mecanismo de integração web. Aplicações baseadas em Iced podem ser desenvolvidas para Windows, macOS, Linux e executar em um navegador web. Os desenvolvedores têm à disposição um conjunto de widgets prontos para uso, a capacidade de criar manipuladores assíncronos e um layout adaptável dos elementos da interface com base no tamanho da janela e da tela. O código é distribuído sob a licença MIT.
Fonte: opennet.ru
