GNOME
GNOME é um projeto de software livre que oferece tanto o Ambiente de Trabalho GNOME para usuários, quanto a Plataforma de Desenvolvimento GNOME para desenvolvedores. O projeto se destaca por seu foco em usabilidade, acessibilidade e internacionalização, buscando proporcionar uma experiência intuitiva e inclusiva.
Pontos-chave
- GNOME é um projeto de software livre com foco em usabilidade, acessibilidade e internacionalização.
- Foi criado em 1997 por Miguel de Icaza e Federico Mena Quintero como alternativa livre ao Windows 95 e KDE.
- A plataforma de desenvolvimento GNOME é baseada no GTK e permite a criação de aplicativos em diversas linguagens.
- O GNOME Shell, introduzido no GNOME 3, revolucionou a interface com uma metáfora abstrata de 'Visão Geral'.
- O projeto segue as Human Interface Guidelines (HIG) para garantir consistência e usabilidade em seus aplicativos.
Imagem: mkrigsman · BY-NC-ND · Openverse
O projeto GNOME nasceu em 15 de agosto de 1997, fundado pelos mexicanos Miguel de Icaza e Federico Mena Quintero. Sua criação foi uma resposta direta ao Windows 95 e à necessidade de uma alternativa livre ao KDE, que dependia do toolkit Qt, então com licença não livre. Miguel de Icaza, impressionado com a arquitetura COM da Microsoft, impulsionou o desenvolvimento da biblioteca Bonobo, que permitiu o reuso de componentes e o desenvolvimento em múltiplas linguagens. A plataforma GNOME é predominantemente escrita em C, facilitando a criação de 'bindings' para outras linguagens, e utiliza a licença GNU Lesser General Public License, permitindo sua integração com software proprietário.
GNOME 2: Foco na Usabilidade
O lançamento do GNOME 2.0 marcou um ponto de virada, priorizando a usabilidade em detrimento da configurabilidade. A plataforma foi quase totalmente reescrita, introduzindo melhorias significativas como desempenho aprimorado, internacionalização superior (com uso interno de Unicode), suavização de fontes e, notavelmente, a estreia de sua plataforma de acessibilidade, tornando o ambiente mais inclusivo.
GNOME 3: A Revolução da Interface
O GNOME 3 abandonou a metáfora tradicional da área de trabalho em favor do GNOME Shell, uma interface mais abstrata. A alternância entre tarefas e áreas de trabalho virtuais passou a ocorrer na 'Visão Geral' (Overview). O gerenciador de janelas Metacity foi substituído pelo Mutter, e os botões de minimizar/maximizar foram removidos por padrão. A 'Decoração do lado do cliente' (CSD) unificou barras de título, menus e ferramentas na barra de cabeçalho, e o tema Adwaita substituiu o Clearlooks, padronizando a experiência do usuário.
GNOME 40: Nova Versão e Layout Horizontal
Lançado em 24 de março de 2021, o GNOME 40 sucedeu diretamente a versão 3, adotando um novo esquema de versionamento e um ciclo de lançamentos principais fixo de seis meses. Uma das mudanças mais notáveis foi a organização horizontal dos espaços de trabalho e do painel na visão geral de atividades, contrastando com o design vertical de seus antecessores. A versão também introduziu novos gestos para o touchpad, aprimorando a interação com o sistema.
Imagem: Alkelda · BY-NC-ND · Openverse
O design do GNOME é guiado por princípios que visam a produtividade e a consistência. Desde o GNOME 2, a usabilidade é um pilar central, materializada nas Human Interface Guidelines (HIG). O GNOME Shell, a interface oficial, oferece uma experiência de usuário moderna e funcional, enquanto a compatibilidade com diferentes sistemas gráficos e operacionais garante sua versatilidade.
Human Interface Guidelines (HIG)
As Diretrizes de Interface Humana do GNOME (HIG) foram criadas para garantir que todos os programas do GNOME compartilhem um estilo coerente de interface gráfica do usuário (GUI). Baseadas em ergonomia cognitiva, as HIG orientam os desenvolvedores na criação de programas de alta qualidade, consistentes e utilizáveis, abrangendo desde o design da GUI até o layout recomendado de widgets, promovendo uma experiência unificada para o usuário.
GNOME Shell: A Interface do Usuário
O GNOME Shell é a interface oficial do ambiente de desktop GNOME. Ele apresenta uma barra superior com um botão de 'Atividades', um menu de aplicativos, um relógio e um menu de status do sistema. O botão 'Atividades' (ou a tecla Super) exibe a 'Visão Geral' (Overview), que permite alternar entre janelas, espaços de trabalho e iniciar aplicativos. O 'Dash' (Painel) à esquerda contém atalhos para aplicativos favoritos e abertos, uma barra de pesquisa e uma lista de espaços de trabalho para navegação.
Compatibilidade e Integração
O GNOME é compatível com os sistemas gráficos Wayland e X Window System, com suporte a Wayland introduzido no GNOME 3.10 e priorizado a partir da versão 3.20. É um ambiente de desktop padrão ou opcional na maioria das distribuições Linux e em coleções de portas de BSDs. A partir do GNOME 3.2, o suporte multi-terminal depende do systemd, gerando discussões sobre a compatibilidade com outras plataformas, embora o systemd seja usado apenas para funcionalidades não básicas.
Imagem: kfury · BY-NC · Openverse
O desenvolvimento do GNOME é um esforço colaborativo do Projeto GNOME, que abrange tanto o Ambiente de Desktop quanto a Plataforma de Desenvolvimento. Gerenciado de forma livre, o projeto se baseia em discussões em listas de discussão públicas e em encontros anuais como o GUADEC. Ele incorpora padrões do Freedesktop.org para interoperabilidade e é escrito principalmente em C, C++, Vala, Python e JavaScript, com diversas vinculações de linguagens disponíveis.
GUADEC: Conferência Anual
A GUADEC (GNOME Users And Developers European Conference) é a conferência anual que reúne desenvolvedores, entusiastas e usuários do GNOME. É um fórum essencial para apresentar trabalhos, discutir o estado atual e definir a direção futura do projeto. Realizada anualmente em diferentes países europeus, a GUADEC atua como um catalisador para o desenvolvimento e a evolução do GNOME.
Ferramentas de Desenvolvimento
Para facilitar o desenvolvimento de software para o GNOME, foram criadas diversas ferramentas. O GNOME Builder é o ambiente de desenvolvimento integrado (IDE) mais recente, enquanto o Anjuta é uma opção mais antiga. O Glade Interface Designer permite construir interfaces gráficas com elementos GTK, e o Devhelp é um navegador de APIs. Ferramentas de depuração como Nemiver, GtkInspector e Alleyoop também estão disponíveis, além de opções de integração com ferramentas de terceiros como NoFlo.
Plataforma de Desenvolvimento GNOME
A espinha dorsal da plataforma de desenvolvimento GNOME é composta pelas bibliotecas GLib (estrutura e utilitários de dados), GObject (sistema de objeto e tipo) e o toolkit GTK+. Essa base é expandida com a estrutura D-Bus IPC, a biblioteca de desenho vetorial 2D Cairo, a biblioteca gráfica acelerada Clutter, a biblioteca de renderização de texto Pango, a API de áudio PulseAudio, a estrutura multimídia GStreamer e bibliotecas especializadas como NetworkManager, PackageKit, Telepathy e WebKit. O ambiente de desktop GNOME é muito mais do que apenas o GTK+ e seus aplicativos principais, englobando todo esse ecossistema.
Imagem: egonwegh · BY-NC · Openverse
O ecossistema GNOME conta com uma vasta gama de programas baseados em GTK e Clutter. Desde o GNOME 3.0, o Projeto GNOME tem se concentrado no desenvolvimento de um conjunto de 'Aplicativos Principais' (GNOME Core Applications). Esses aplicativos se destacam pela aderência às diretrizes atuais do GNOME HUD e por sua profunda integração com as camadas subjacentes do GNOME, como GVfs, GOA (gnome-online-accounts) e GNOME Files, além de integração com serviços como Google Drive e Google Photos.


