Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

1. Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

Henrique Moura
Henrique123

(usa Outra)

Enviado em 05/11/2020 - 07:16h

Qual a melhor linguagem para desenvolver apps GNOME/GTK? As informações que encontrei ficaram de certa forma mto confusas, ent, recorri aq, Python, C, C++ ou Vala?


  


2. Re: Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

Ruan
ru4n

(usa Debian)

Enviado em 05/11/2020 - 09:25h

Oficialmente, parece ser Vala para aplicações GNOME.

Porém, muitas aplicações GTK+ que não dependem necessariamente do GNOME são escritos em Python e C/C++


3. Re: Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 05/11/2020 - 17:34h

GTK foi originalmente escrita pra criar aplicações multiplataforma com janelas em C, mas tem os "bindings" feitos pra outras linguagens e esse monstro ai chamado Vala (me deuso).
Tem também uma IDE RAD chamada Glade, mas ela salva tua aplicação como xml, não existe código até onde eu vi.
Existe bastante tutoriais de GTK, uns que eu usei uma vez foi o do zetcode:
(NOTA é pra gtk2 tá muito velho esse tutorial.)
http://zetcode.com/gui/gtk2/
Nesse site ai existe uma pancada de tutoriais, mas tudo em inglês.

____________________________________________
https://nerdki.blogspot.com/ acessa aí vai lá, é grátis!
Acesse meu GitHub:
https://github.com/cpusam
Capeta (demo) do meu trabalho:
https://cpusam.github.io/


4. Re: Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

Ruan
ru4n

(usa Debian)

Enviado em 05/11/2020 - 18:11h

SamL escreveu:

GTK foi originalmente escrita pra criar aplicações multiplataforma com janelas em C, mas tem os "bindings" feitos pra outras linguagens e esse monstro ai chamado Vala (me deuso).
Tem também uma IDE RAD chamada Glade, mas ela salva tua aplicação como xml, não existe código até onde eu vi.
Existe bastante tutoriais de GTK, uns que eu usei uma vez foi o do zetcode:
(NOTA é pra gtk2 tá muito velho esse tutorial.)
http://zetcode.com/gui/gtk2/
Nesse site ai existe uma pancada de tutoriais, mas tudo em inglês.


Aproveitando... nesse caso, qual vc acha mais "prático" pra quem precisa desenvolver interfaces em GTK+ para o mundo Linux? C, Python, ou ainda C# com Mono?

Do lado Qt, as coisas parecem ser mais simples; existe o QML para criar interfaces, que facilita muito. Antigamente existia o Kommander, que infelizmente não foi portado para Qt4 e morreu na praia...

Pra Linux e outros SOs, eu costumo usar Electron + React.js, pois utiliza tecnologias que já uso no meu dia dia para trabalho... porém acho Electron pesado.
Cheguei a criar uma interface gráfica para o youtube d l com Electron, só que achei que consome muita ram para pouca coisa...


5. Re: Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 05/11/2020 - 18:36h

ruankl escreveu:

Aproveitando... nesse caso, qual vc acha mais "prático" pra quem precisa desenvolver interfaces em GTK+ para o mundo Linux? C, Python, ou ainda C# com Mono?

Do lado Qt, as coisas parecem ser mais simples; existe o QML para criar interfaces, que facilita muito. Antigamente existia o Kommander, que infelizmente não foi portado para Qt4 e morreu na praia...

Pra Linux e outros SOs, eu costumo usar Electron + React.js, pois utiliza tecnologias que já uso no meu dia dia para trabalho... porém acho Electron pesado.
Cheguei a criar uma interface gráfica para o youtube d l com Electron, só que achei que consome muita ram para pouca coisa...

Olha, apesar de eu ter ai 12 anos de estrada como programador (sou um velhim de 32 anos hihihi), eu acho que, depende dos seus objetivos.
Por exemplo, umas boas perguntas que tu pode usar é tipo essas:
1-quais são meus objetivos com criar aplicações (responda listando tudo que considerar como seus objetivos)
2-Esses objetivos, são fazer apenas aplicações para desktop? Se sim, então C com GTK, ou C++ com Qt, C# com mono tá de boa pra vc, posso incluir até java mesmo sendo pesado as vezes.
3-Se meus objetivos não são desktop, o que posso fazer?
Dai eu sugiro fortemente criar aplicações com javascript. Como tu sabe Reactjs pode ser melhor pra ti fazer aplicações voltadas para um público mais "amplo". Exemplo, criadores de exercícios (eu fiz um desses), gerenciador de lista de supermercado, jogos, aplicações estilo app de exibir dados de loteria, etc.

Às vezes, pode ser que te falte apenas um pouco de inspiração, eu estou escrevendo um artigo específico para criatividade, voltado para TI em geral.
Exemplo, sabe aqueles probleminhas do dia a dia que passam despercebido por nossa mentes?
"Tipo, onde existe uma petshop mais próxima?", "como marcar um lembrete pro dia tal?", essas coisas pequenas, eu não sei listar muitas porque é algo que me escapa da mente. Mas esses pequenos problemas tu pode encaixar numa aplicação, que nada mais é que a solução prática pro problema específico.

E voltando, como eu disse, depende muito dos seus objetivos, "Ah, mas eu não tenho nenhum..." então invente alguns!
Existe tantos problemas que ainda não existe solução em software quanto conchas vazias na praia.
Se tu se dispor a pesquisar a ver o que as pessoas dizem e a perceber o que tu mesmo acha de algum, tu pode encontrar ideias para criar apps melhores.
Por exemplo, sabe quais são os melhores comentários da googleplay? (na minha opinião, claro)
São justamente o que dão menos de 3 estrelas.
Por que isso?
-porque eles muitas vezes dizem quais são as falhas dos apps. Desde os melhores, até os piores apps tem avaliação de <=3 estrelas.
O que as <=3 estrelas nos ensina?
-Ensina como NÃO fazer um aplicativo! E é justamente esse o valor delas.

Tipo, experimente ai pra ver o que to falando. Entre na play store, pegue um app qualquer, leia algumas avaliações <=3 estrelas, e pronto, sinta como é NÃO fazer um aplicativo e se quiser, faça um app justamente evitando estes erros.

Quanto a linguagem em si, ela também depende dos seus objetivos, se você quer fazer apps pra linux, seria interessante que aprendesse programar em C ou C++
Dai com certeza o seu app seria muito mais veloz e economico de memória que se usar javascript com electron, que eu sei que é realmente um comedor de memória porque, ainda estamos com PCs não tão potentes em mamioria para algo como esta tecnologia.

Mas é como eu disse, se for fazer apps, veja se não sai mmelhor pra você fazer eles online mesmo, mais do que para desktops.

____________________________________________
https://nerdki.blogspot.com/ acessa aí vai lá, é grátis!
Acesse meu GitHub:
https://github.com/cpusam
Capeta (demo) do meu trabalho:
https://cpusam.github.io/


6. Re: Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

Ruan
ru4n

(usa Debian)

Enviado em 05/11/2020 - 19:38h

No caso minha pergunta era para ser mais específica, mas acabou sendo mais genérica. Explicando: pretendo criar alguns utilitários em GTK+ que eu acho que estão em falta na maioria dos desktops Linux e que seriam muito úteis (por ex: um bom gerenciador da área de transferência).

Eu queria usar alguma IDE RAD para GTK+, vi que vc comentou sobre o Glade, mas de fato ele usa arquivos xml e eu achei muito ruim a integração que é feita em C.

No Windows, por exemplo, temos o Visual Studio com Windows Forms que facilita a criação de interface gráfica, e por isso também citei o Kommander que havia a possibilidade de criar GUIs com Qt usando libs do KDE.

obs: fuçando no github, acabei encontrando um framework que usa React + GTK+:
https://github.com/codejamninja/react-gtk

obs²: para ajudar no teu artigo, dê uma olhada nesse repositório para ideias de apps:
https://github.com/florinpop17/app-ideas


7. Re: Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 05/11/2020 - 20:47h

ruankl escreveu:

No caso minha pergunta era para ser mais específica, mas acabou sendo mais genérica. Explicando: pretendo criar alguns utilitários em GTK+ que eu acho que estão em falta na maioria dos desktops Linux e que seriam muito úteis (por ex: um bom gerenciador da área de transferência).

Eu queria usar alguma IDE RAD para GTK+, vi que vc comentou sobre o Glade, mas de fato ele usa arquivos xml e eu achei muito ruim a integração que é feita em C.

Entendo, então, nesse caso, tu pode trocar o GTK+ pelo wxWidgets com o codeblocks, porque este tem um editor de GUI de forma bem simples. Eu já usei algumas vezes mas acabei deixando de lado devido outras prioridades. Esse é um dos poucos editores para linux que eu conheço no estilo RAD.



No Windows, por exemplo, temos o Visual Studio com Windows Forms que facilita a criação de interface gráfica, e por isso também citei o Kommander que havia a possibilidade de criar GUIs com Qt usando libs do KDE.

Sim, eu conheci o kommander, também gostava muito da praticidade do programa. Eu sei também que o Qt5 tem um editor de GUI's como o que falei acima no codeblocks. Mas ai tu precisa aprender C++ pra usar o Qt.
Cuidado com esses frameworks menos conhecidos, porque vamos supor, tu crie um aplicativo e ele fica com 10 mil linhas. E se de repente o framework menos conhecido for abandonado? Seu app vai ficar perdido, ou muito difícil de adapatar pra outro. Nesse caso, o GTK com C me parece algo no mínimo "melhor" em sentido de longo termo de suporte.

NOTA: wxWidgets é bem suportado pela comunidade e também é multiplataforma como o GTK e Qt


obs: fuçando no github, acabei encontrando um framework que usa React + GTK+:
https://github.com/codejamninja/react-gtk

obs²: para ajudar no teu artigo, dê uma olhada nesse repositório para ideias de apps:
https://github.com/florinpop17/app-ideas

Opa, valeu ai os links, vou já olhar essas ideias.

____________________________________________
https://nerdki.blogspot.com/ acessa aí vai lá, é grátis!
Acesse meu GitHub:
https://github.com/cpusam
Capeta (demo) do meu trabalho:
https://cpusam.github.io/


8. Re: Qual o melhor caminho e a melhor línguagem para desenvolver aplicações GTK

Ruan
ru4n

(usa Debian)

Enviado em 05/11/2020 - 21:05h

SamL escreveu:

Entendo, então, nesse caso, tu pode trocar o GTK+ pelo wxWidgets com o codeblocks, porque este tem um editor de GUI de forma bem simples. Eu já usei algumas vezes mas acabei deixando de lado devido outras prioridades. Esse é um dos poucos editores para linux que eu conheço no estilo RAD.


Hmm vou dar uma olhada no codeblocks + wxWidgets.


Sim, eu conheci o kommander, também gostava muito da praticidade do programa. Eu sei também que o Qt5 tem um editor de GUI's como o que falei acima no codeblocks. Mas ai tu precisa aprender C++ pra usar o Qt.
Cuidado com esses frameworks menos conhecidos, porque vamos supor, tu crie um aplicativo e ele fica com 10 mil linhas. E se de repente o framework menos conhecido for abandonado? Seu app vai ficar perdido, ou muito difícil de adapatar pra outro. Nesse caso, o GTK com C me parece algo no mínimo "melhor" em sentido de longo termo de suporte.

NOTA: wxWidgets é bem suportado pela comunidade e também é multiplataforma como o GTK e Qt


Rapaz, vc resumiu a realidade da maioria das bibliotecas e frameworks JavaScript! kkkk
Tô experto com essas libs que surgem da noite pro dia, tem que ter cuidado mesmo para aplicar em um projeto real.

Como dito, estou percebendo que o melhor mesmo é usar C/GTK+ para o meu caso. E como a maioria dos ambientes desktops Linux são em GTK+, acho que nem compensa investir tempo em Qt por ora.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts