CRUD C++ e WxWidgets

55 views
Skip to first unread message

Bruno Sanches

unread,
Apr 14, 2025, 11:51:20 AMApr 14
to ccppb...@googlegroups.com
Pessoal,

não quero entrar no mérito do vale a pena ou não. Mas estou ensaiando com uma ferramenta que tenho aqui e estou precisando fazer um CRUD aqui para um desktop. 

Estou considerando seriamente fazer em C++ (Geralmente isso tenho feito em C#) pq fica mais fácil integrar com algumas coisas aqui. 

Como não é algo comum em C++ (ao menos nos projetos que trabalhei), alguma sugestão de arquitetura e possíveis bibliotecas? Até onde cheguei aqui já vi que o caminho é usar diretamente a biblioteca do postgres (BD que trabalhamos) para fazer o acesso ao banco e uma camada para abstrair isso (e não encher o código todo de SQL) e vida que segue.

Alguma sugestão? (não vale use outra linguagem :P )

Obrigado

Bruno Sanches
========================
https://github.com/bcsanches

Josué Andrade Gomes

unread,
Apr 14, 2025, 12:07:30 PMApr 14
to ccppb...@googlegroups.com

--
http://ccppbrasil.github.io/
https://twitter.com/ccppbrasil
 
[&] C & C++ Brasil - http://www.ccppbrasil.org/
Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "ccppbrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para ccppbrasil+...@googlegroups.com.
Para ver esta conversa, acesse https://groups.google.com/d/msgid/ccppbrasil/CAKG6imcErgw3m3TYBxU%2BQ1hPXETFhY3_s%3DD6G%3D3O8%2BtRRSk4WA%40mail.gmail.com.

Bruno Sanches

unread,
Apr 14, 2025, 3:47:09 PMApr 14
to ccppb...@googlegroups.com

Fabrício Cabral

unread,
Apr 14, 2025, 4:41:19 PMApr 14
to ccppb...@googlegroups.com
Desculpe,

Mas eu estou meio por fora do WxWidgets. Mas será que o gtkmm (https://gtkmm.gnome.org/en/index.html) não é uma opção?

Outro ponto: eu particularmente não gosto muito da licença do QT. Mas se quiser seguir por ela, é um outro caminho a ser olhado....

At.te.

--
http://ccppbrasil.github.io/
https://twitter.com/ccppbrasil
 
[&] C & C++ Brasil - http://www.ccppbrasil.org/
Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "ccppbrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para ccppbrasil+...@googlegroups.com.
Para ver esta conversa, acesse https://groups.google.com/d/msgid/ccppbrasil/CAKG6imcErgw3m3TYBxU%2BQ1hPXETFhY3_s%3DD6G%3D3O8%2BtRRSk4WA%40mail.gmail.com.


--
--fx

Bruno Sanches

unread,
Apr 14, 2025, 6:04:55 PMApr 14
to ccppb...@googlegroups.com
Eu não gosto da licença do Qt e nem da forma de uso. Da ultima vez q fui ver os docs, era mais focado no sistema de script do que no framework.

gtk acho horrível pois você poe no windows e fica com cara de GTK, não de windows. A WxWidgets usa a API nativa e suporta GTK.

Obrigado

Bruno Sanches
========================
https://github.com/bcsanches


Josué Andrade Gomes

unread,
Apr 14, 2025, 6:16:09 PMApr 14
to ccppb...@googlegroups.com
Qt e wxWidgets são duas bilbiotecas maduras. E ambas têm a mesma licença: LGPL. Alguns módulos da Qt são GPL.
Se for um projeto para consumo interno, acredito que não tem problema.
Qt também tem uma licença proprietária.

Mas, de fato, wxWidgets é mais leve. A Qt desenha os elementos da interface, o que mantém a consistência entre plataformas.
A wxWidgets usa os controles nativos de cada OS.


Marcelo Geyer

unread,
Apr 14, 2025, 6:39:55 PMApr 14
to ccppb...@googlegroups.com

Vai de Qt, a documentação é incrível e extremamente madura.


Fabrício Cabral

unread,
Apr 14, 2025, 6:46:39 PMApr 14
to ccppb...@googlegroups.com
Me corrija se estiver errado, mas *antigamente* tinha-se apenas duas licenças para o QT: GPL e comercial. Assim, se você fosse desenvolver alguma aplicação comercial, precisava pagar a licença. Diferente da GTK/GTKmm, que é toda LGPL.

Se o QT mudou para LGPL/GPL ótimo! Mas quais os módulos que são GPL? É preciso ver isso direito para não acabar consumindo estes módulos por engano.

Em tempo: sou fã do GTK+, embora muita gente não goste do look-and-feel (que eu saiba dá pra mudar para algo windows-like).

At.te.



--
--fx

Marcelo Geyer

unread,
Apr 14, 2025, 6:51:58 PMApr 14
to ccppb...@googlegroups.com

São módulos específicos que estão somente sob a GPL ou comercial no Qt6. Pode dar uma olhada aqui: https://doc.qt.io/qt-6/licensing.html


Fabrício Cabral

unread,
Apr 14, 2025, 7:02:03 PMApr 14
to ccppb...@googlegroups.com
Eu dei uma olhada aqui e os módulos que são GPL não me pareceram algo "vital", por assim dizer:

image.png



--
--fx

Bruno Sanches

unread,
Apr 15, 2025, 9:24:10 AMApr 15
to ccppb...@googlegroups.com
Eu particularmente nunca gostei de trabalhar com Qt, ter que usar compilador próprio, aquele sistema de anotações, acho complicado o build....

wxWidgets só linkar como qualquer outra biblioteca, posso trabalhar do visual studio, etc

Bruno Sanches
========================
https://github.com/bcsanches


Rafael Dias

unread,
Apr 15, 2025, 9:29:20 AMApr 15
to ccppb...@googlegroups.com
há uma lista de bibliotecas para banco de dados na página de bibliotecas do cppreference: https://en.cppreference.com/w/cpp/links/libs

nunca usei, mas pode ser que tenha algo útil. =) 




--
Rafael Dias Menezes
tel.:
+436507008854

Bruno Sanches

unread,
Apr 15, 2025, 9:53:57 AMApr 15
to ccppb...@googlegroups.com
nussa, nem sabia dessa lista!

Bruno Sanches
========================
https://github.com/bcsanches


Julio Cezar Novais Raffaine

unread,
Apr 17, 2025, 3:12:26 PMApr 17
to ccppb...@googlegroups.com
Rapaz, muito tempo que não olho pra isso, em termos de arquitetura, se a aplicação é basicamente um front-end para o BD então recomendo investir em criar um layer que faça a abstração dos "Objetos" que vc está armazenando (em geral denominado Object Relational Mapping, ou ORM), basicamente ele faz o trabalho sujo de apresentar o objeto para a aplicação abstraindo de como isso se reflete no banco de dados (quais tabelas ou views estão envolvidas e como fazer inserção e busca). Dessa forma, a aplicação fica menos presa à uma implementação específica do BD (podendo mudar para Oracle, MySQL e enfim) e vc evita ter a lógica da aplicação repleta de SQL (ou de um código que é idiomaticamente focado no BD). 

Uma busca rapida me mostrou ODB (https://codesynthesis.com/products/odb/) e TinyORM (https://www.tinyorm.org/tinyorm) como possíveis opções mas eu particularmente nunca usei nenhuma.

Com relação à UI ... WinUI (https://learn.microsoft.com/en-us/windows/apps/winui/winui3/)? Não sei se a aplicação precisa ser multiplataforma ou não mas é a mais recente tentativa nesse espaço (RIP UWP). 



--
Julio Cezar Novais Raffaine

Bruno Sanches

unread,
Apr 17, 2025, 3:25:02 PMApr 17
to ccppb...@googlegroups.com
A ideia é essa mesma. A poco que um colega postou tem uma camada bem interessante que vou testar aqui.

Obrigado
Bruno Sanches
========================
https://github.com/bcsanches


Reply all
Reply to author
Forward
0 new messages