Autor Tópico: APIs para C++  (Lida 2815 vezes)

Offline ded3p

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
APIs para C++
« Online: 18 de MAR?O de 2012, 23:59 »
Bom, eu estou estudando C++ há um tempinho, mas apenas a parte mais simples da programação e tal, e decidi começar a fazer testes com APIs, para aprender a mexer melhor melhor as janelas e para começar a criar programas um pouco mais complexos, para ficar mais fácil de estudar o C++.

Porém, fiquei um pouco em dúvida em relação de qual API escolher. Eu sei que já existem vários tópicos sobre isso, mas alguns são muito antigos e citam pontos que não são mais válidos hoje em dia e por isso, continuo na dúvida entre as APIs.

As que eu encontrei como principais são: GTK, QT e wxWidgets, com uma vantagem para as duas primeiras...
Então, queria saber quais são os pontos fortes e pontos fracos de cada API (qual possibilita mais interação com o programa que será criado, qual possui mais interação com outras libs, qual é mais simples de rodas em múltiplos SOs, etc...). Pois em alguns locais, encontrei informações de que GTK é mais rápido que QT e em outros diziam que eram igualmente velozes e tal, então não sei qual é a melhor escolha.

Outra coisa que me deixa em dúvida, é a questão do GTK, se é melhor usar GTK+ ou gtkmm para C++, pois o GTK+ é escrito em C e o gtkmm é escrito em C++, porém algumas pessoas dizem que mesmo em C++, o GTK+ leva vantagem sobre o gtkmm.

Darcamo

  • Visitante
Re: APIs para C++
« Resposta #1 Online: 19 de MAR?O de 2012, 12:18 »
Já brinquei um pouco com GTKmm e com Qt. Escolhi a GTKmm no início já que uso Ubuntu (e portanto Gnome). QT já foi sim mais pesada do que a GTK e o visual de programas feitos em QT também não era tão bom em ambientes que usam GTK como o Gnome.

Mas depois que a QT4 foi lançada acho que a coisa mudou. Hoje em dia programas em QT ficam bons mesmo quando executados em ambientes GTK. Além disso, acho que não dá mais para dizer com certeza se uma das duas é mais rápida que a outra. Hoje em dia prefiro a QT4, mas essa é a opinião de quem apenas brincou com essas bibliotecas. Nada muito sério ou complexo.

GTK e QT têm algumas diferenças filosóficas em seu design. GTK tenta se limitar ao toolkit gráfico enquanto que a QT também implementa outras coisas úteis. Por exemplo, em GTKmm você certamente usará std::string enquanto que em QT você usa a QString, só para dar um exemplo simples. Cada abordagem tem vantagens e desvantagens, mas acho que no final das contas fica um pouco mais fácil trabalhar com a QT (já que ela já implementa tudo do que você precisa).

Quanto a diferença entre GTK e GTKmm, GTKmm é apenas um "binding" da GTK para C++. É impossível portanto GTKmm ser mais rápida que a GTK já que é apenas uma camada de API para C++. Mas também não acho que seja mais lenta e prefiro trabalhar com uma API C++ do que uma API em C.

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: APIs para C++
« Resposta #2 Online: 19 de MAR?O de 2012, 18:20 »
Antigamente também tinha a questão da licença. Hoje, considerando o desenvolvimento de aplicativos tradicionais pra desktop, as duas estão em pé de igualdade. Teste e fique com a que mais gostar.

Offline ded3p

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Re: APIs para C++
« Resposta #3 Online: 20 de MAR?O de 2012, 16:08 »
Hmm...
E alguém tem alguma lista de programas feitos com GTK+ ou gtkmm?
Eu encontrei uma lista do QT: http://en.wikipedia.org/wiki/Category:Software_that_uses_Qt e uma lista do wxWidgets: http://en.wikipedia.org/wiki/Category:Software_that_uses_wxWidgets, mas não encontrei nenhuma lista referente ao GTK...