Introdução ao desenvolvimento do Gnome

O construtor de desenvolvimento do Gnome ajuda a resolver problemas e criar GUIs em tempo real. O Gnome Builder é um ecossistema sólido que você pode querer experimentar antes de começar qualquer outra coisa. Dá aos desenvolvedores mais poder e flexibilidade. Anteriormente, o desenvolvimento de aplicativos gnome era limitado pelo AÇÚCAR devido à indisponibilidade de ligações python e à falta de manutenção e empacotamento.

Vamos estudar muito mais sobre o desenvolvimento do Gnome em detalhes:

Oi pessoal. Então, hoje estaríamos falando sobre o infame desenvolvimento do Gnome. Portanto, se você é novo no python e no Linux, este não é o lugar perfeito para você. Você precisa voltar e esclarecer algumas noções básicas. Mas, se você é um programador básico de python e se sabe pelo menos como trabalhar no fedora ou no ubuntu, este tutorial é exatamente para você.

Pessoas que têm um histórico de outras linguagens de programação, este blog pode ajudá-las, mas ter pelo menos o básico certo proporcionará uma compreensão clara de como exatamente isso funciona. Então, começamos?

Desenvolvimento Gnome

A primeira coisa que precisaríamos é de um ambiente python estável. O que eu estou usando e eu sugiro usar é o Python 2.7. Embora atualmente as pessoas usem o Python 3.3 ou 3.4, eu sugeriria o uso do 2.7, porque ainda é a versão do python mais amplamente usada no mundo e extremamente estável e compatível. O Python 3.4 é compatível, mas há algumas coisas que ainda quebram o python 3.4, o que obviamente não queremos.

A segunda coisa seria um Python GTK adequado. A versão mais recente e estável a partir de agora é o Python GTK +. Embora antes de prosseguir, é preciso ler o GNOME HIG, que é o Human Interface Guidelines, sobre como criar um aplicativo Gnome eficaz com a ajuda do python. Mas, novamente, se fosse tão fácil, você não estaria aqui em primeiro lugar.

O Gnome HIG não é tão fácil de entender. Assim, neste blog, tentarei oferecer o melhor entendimento possível e torná-lo o mais simples possível. Mas uma vez, você entendeu tudo neste blog e, quando digo tudo, quero dizer isso. Então, depois de concluir este blog, eu certamente sugeriria que você leia as Diretrizes da interface humana do GNOME.

Para começar com o GTK +, forneça um número n de possibilidades, bem como padrões de design comuns, para criar uma interface de usuário eficaz. Portanto, supondo que você saiba como criar e tocar arquivos python, prosseguirei. A introdução aos aplicativos gnome no Windows é extremamente fácil. Portanto, como eu tinha um bom entendimento da criação de aplicativos GUI python usando pyqt e Tkinter, pensei que seria fácil desenvolver aplicativos GUI gnome, mas era exatamente o contrário.

A parte mais difícil foi começar. Todos os tutoriais que vi quando aprendi foram apenas uma entrada direta para a maneira GUI, mas sem uma maneira fácil para iniciantes. Eu estava ficando cada vez mais irritado com a forma como os códigos que eu tinha perdido quando eu comecei a entender a GUI do Gnome. Portanto, depois de uma longa pesquisa, finalmente decidi pelo PyGTK / GTK + e Glade.

Ambos são multiplataforma, portanto, trabalhar, instalar e compilá-los exatamente não é grande coisa. Mas, como este é um blog para iniciantes, não entrarei em muitos detalhes sobre o Glade e outras coisas. Eu sugeriria ir com uma ferramenta Visual Grep, que é muito simples. Quando eu estava aprendendo a desenvolver aplicativos gnome, não sabia sobre o V-Grep. Mas agora, eu simplifiquei isso para você. Você também pode usar grep em uma linha de comando. Mas, às vezes, você só precisa de algo simples, em vez de ser extremamente impressionante e complicado.

Cursos recomendados

  • Treinamento de certificação on-line no VB.NET
  • Treinamento em Certificação de Ciência de Dados
  • Treinamento ISTQB
  • Curso profissional de Kali Linux

Não posso simplificar, do que usar a citação de Albert Einstein:

"Se você não pode explicar isso para uma criança de seis anos, não entende por si mesmo."

Obviamente, a citação é um conceito amplo, mas não estamos aqui para falar sobre a citação, estamos?

A próxima coisa que você precisa entender é o conceito de IDE. Obviamente, você precisaria de um IDE adequado. Então, como iniciante, sugiro usar o PyCharm Community Edition. O Pycharm é um ambiente de desenvolvimento integrado extremamente robusto, com suporte completo à conclusão de guias e códigos, refatoração e depuração.

Embora existam outros IDEs como Adjuta e Eclipse, eles também podem ser usados ​​para a pilha de desenvolvimento GTK + Gnome, mas nenhum deles é tão robusto no desenvolvimento quanto o PyCharm.

O GTK3 usa ligações introspectivas que podem ser problemáticas para alguns IDEs. Mas Pycharm lida com charme gerando um esqueleto que também é conhecido como seus módulos. Mas, caso essa não seja a nossa escolha, você sempre pode usar um pacote chamado faker que faz a mesma coisa.

Mas se você tentar executar um aplicativo no PyCharm usando o Faker, ele falhará, o motivo pelo qual os arquivos mais falsificados substituem o aplicativo GTK real. Mas ainda assim, é um comércio justo. Você não pode obter tudo o que deseja sem perder algo.

Uma maneira alternativa seria usar o IDE do construtor de desenvolvimento do Gnome. É um IDE que torna a criação da base do Gnome extremamente simples.

A seguir, é apresentado o construtor de desenvolvimento do Gnome: Uma captura de tela do meu PC:

Uma olhada no construtor de desenvolvimento do Gnome e você saberá que isso funciona extremamente próximo ao GNOME3 HIG com uma interface mínima. Mesmo com uma interface minimalista, ele inclui muitos recursos que farão com que os aplicativos gnome se pareçam com Loki na frente do Hulk. Entenda a ideia. sim! É exatamente assim que é.

E por falar em PyGTK, que também é incrível, mas não exatamente do tipo iniciante, contém o projeto PyGObject que é extremamente interessante. O PyGTk também suporta a capacidade de mover-se entre Python e C, o que significa que você pode criar rapidamente protótipos em python e simplesmente compilá-lo em C para aprimoramentos de desempenho.

Os módulos executados sobre o código principal do PyGObject não precisam se preocupar em oferecer suporte às APIs do C Python. Eles só precisam entender os conceitos básicos do GObject Introspection, como APIs de anotação e modelagem, para que possam ser agrupados. Na verdade, esse entendimento básico faz com que os desenvolvedores do GObject criem APIs públicas mais claras, restringindo o uso ou confinando-se a APIs privadas, alguns dos padrões de código mais esotéricos que C permite.

Isso é importante para entender o poder que o Introspection traz para os desenvolvedores de aplicativos e módulos. Agora, se você deseja fornecer um novo módulo Python, não precisa entender a API C Python; você pode simplesmente usar seu conhecimento do GObject para criar uma API acessível a partir do Python ou de qualquer outro idioma com suporte ao Introspection, como JavaScript. O Vala ainda oferece suporte ao Introspection, para que você possa escrever objetos no Vala e acessá-los através do Python.

Como não temos um tempo de execução único, infelizmente, você não pode misturar linguagens de script, mas a maioria dos projetos que usam introspecção será escrita exclusivamente em uma linguagem de script ou usará uma linguagem compilada para sua base e uma linguagem de script para uma rápida prototipagem, como uma linguagem de cola ou para plugins. O maior desafio foi coordenar com as diferentes bibliotecas e aplicativos que suportam ou são suportados pelo PyGObject.

A introspecção é muito nova e com isso surgem dores crescentes. Antes que os desenvolvedores de ligação pudessem trabalhar em uma bolha, alcançando o que quer que os desenvolvedores da API adicionassem ou alterassem, no entanto, eles viam melhor. No entanto, agora tudo é tão altamente integrado que os desenvolvedores de ligação precisam trabalhar em estreita colaboração com os desenvolvedores de API.

Isso pode causar muita frustração e um pouco de trabalho extra para todos os envolvidos, mas, a longo prazo, a colaboração mais próxima se revelará em uma melhor experiência para o usuário final.

Se eu aprendi alguma coisa no GNOME ao longo dos anos, é o usuário final que importa e o uso do Introspection ajuda a alcançar esse objetivo.

Falando sobre o usuário final, chegamos ao fim deste blog. Para ser preciso, quanto mais eu digo, mais fica confuso pensar em qual deles usar exatamente quando começar a aprender. O construtor de desenvolvimento do Gnome é simples e possui muitos recursos. Mas o Python tem suporte extremo e eu sugiro que continue com isso, embora às vezes possa ficar um pouco confuso.

Artigos recomendados

Aqui estão alguns artigos que ajudarão você a obter mais detalhes sobre o desenvolvimento do Gnome via Python Programming, basta acessar o link.

  1. Carreiras em Python
  2. Novo futuro do Python: você deve usá-lo (melhor)
  3. Python ou Go
  4. Recursos surpreendentes do Kali Linux vs Ubuntu
  5. 10 dicas simples e úteis sobre programação em Python (truques)