Abrindo caminho a mais uma ótima discussão e um bom aprendizado dessa vez nós vamos entrar de cabeça no mundo Gnome, para tal vamos partir do mundo que diz respeito ao que eu particularmente mais gosto, o desenvolvimento. No post anterior eu falei sobre a linguagem C, disse que ela era a mãe das outras linguagens e mencionei que todos deveriam aprender. Bem, dessa vez vou mostrar em uma séria de posts onde a linguagem C se encontra na sua distro linux, ao menos na minha – Ubuntu. Na verdade eu vou falar sobre a GLib nessa séria de posts, desde o que é até como utilizá-la no seu projeto e quais os benefícios do seu uso.
GLib, e não confunda com glibc ( GNU C library ), é uma biblioteca multi-plataforma escrita em C. Essa biblioteca começou como parte do projeto GTK+ que por sua vez começou para ser utilizado no Gimp, por isso o nome Gimp toolkit (enxergaram o G-T-K ? ). Após lançamento da versão 2 do GTK+ os desenvolvedores resolveram separar o que era relacionado com GUI e o que não era. Com esse trabalho foi então lançada a GLib que hoje é utilizada por desenvolvedores para implementar partes do projeto que não dependem da parte GUI do projeto GTK+. Em um resumo bem baixo nível: Os caras pegaram toda a biblioteca do GKT+ viram que dava pra separar uma parte que não era necessariamente relacionada com as implementações de interface e então criaram a GLib. Com ela se pode implementar projetos e aplicações que não dependem das partes do GTK+ voltados a implementação de interface.
Uma das maiores vantagens de se usar a GLib é que ela é multi-plataforma, logo se você quer implementar algo em C, mas para portar ele para unix e windows você vai ter que cuidar sempre dos includes e macross, usar a GLib pode ser uma boa alternativa. Não só por isso, mas também porque essa biblioteca provê uma série de estruturas de dados já implementadas que vão facilitar e muito a sua vida. Algumas delas: listas ligadas, ligas duplamente ligadas, tabelas hashes, arrays dinâmicos, arvores binárias, e outras mais que você pode encontrar na própria documentação desse projeto [1].
Por hora eu fico por aqui. Nos próximos posts eu vou dar alguns exemplos de uso dessa lib. Além disso vou mostrar códigos de alguns projetos que usam a GLib. Se você não já tiver bem curioso vai dando uma na documentação dela, lá tem de tudo, desde exemplos de uso até como a biblioteca está implementada em C.
PS.: Prepara-se para ver algo do tipo: void * Ojb – Isso é o que chamamos de ponteiro genérico, estudando a documentação você vai entender o por quê do seu uso.
PPS.: Com GLib, para muitas aplicações, usá-la é uma boa alternativa ao C++ com STL . E foi exatamente para isso que criaram o GObject, mas isso é outra história e vai render outra série de posts =P.
