Pergunta

Pros. e contras? quanto tempo você usá-lo? E sobre Jambi?

Foi útil?

Solução

Eu usei Qt em um par de projectos que fiz em c ++ em várias plataformas ao longo de um período de sete anos. Eu acho que funciona muito bem e definitivamente foi mais rápido para eu desenvolver um aplicativo GUI decente no Mac do que se arrastando através de uma língua que eu não sabia (Objective-C) no momento.

Eu acho que o mecanismo de sinal / slot é um pouco funky, mas não é horrível. Quando estiver usá-lo para um pouco, não é um show rolha. O material de ligação é fácil de estragar-se (ou pelo menos era) e é sempre bom verificar o retorno sobre aqueles porque a sua aplicação vai alegremente em seu caminho e não dizer-lhe que não funcionou.

Eu nunca usei Jambi.

Outras dicas

Eu tenho usado o Qt há vários anos para o desenvolvimento comercial e têm sido muito feliz com isso.

Uma das coisas agradáveis ??com Qt é que ele oferece um grande conjunto de bibliotecas, bem como o material GUI (por exemplo, análise XML, fios, redes), tudo em um estilo consistente e todos os multi-plataforma. Isso significa que raramente precisa usar outras bibliotecas, embora nós fazer uso impulso para algumas coisas.

Outro fator muito importante para nós foi internacionalização. Em um pedido anterior, com base MFC tivemos que manter 2 versões localizadas, para as duas línguas que apoiamos. Em nosso aplicativo baseado em Qt só temos a versão.

  • O sistema de tradução Qt, usando linguista é fácil de usar e faz suportar vários idiomas fácil (é claro que você ainda tem que traduzir as cordas que é um monte de trabalho!)
  • O sistema de layout GUI onde os widgets-se redimensionar de acordo com um layout torna tudo muito mais fácil. Em diferentes línguas o comprimento das cordas são diferentes. Com widgets de tamanho fixo (como MFC) cada caixa de diálogo precisa ser ajustado para cada idioma, caso contrário, partes de etiquetas ficar cortada. Com Qt que redimensionar próprios. Claro, há casos em que ele não funciona exatamente certo, mas ainda torna tudo muito mais fácil.
  • QString faz tudo em Unicode e lida com as conversões de diferentes codecs muito facilmente.

Uma coisa que tem sido muito valioso é o acesso à fonte, embora e isso certamente não é exclusivo para Qt. Em várias ocasiões, a capacidade de verificar a fonte Qt explicou algum comportamento estranho ou dado uma pista como para conseguir algo.

Temos encontrado alguns bugs em Qt, alguns dos quais foram corrigidos depois de informar a Trolltech. Em outros casos, eles sugeriram um trabalho em torno. Estes foram todos bastante obscura e não teve um grande impacto no nosso desenvolvimento.

Uma das principais desvantagens para Qt seria a falta de bibliotecas 3o partido para uso em aplicações comerciais. No entanto, Qt é bastante completo então para nós não foi um grande problema, no entanto, que vai depender de qual tipo de aplicação que você está desenvolvendo.

Eu não usei Jambi quer.

Aqui estão alguns dos meus prós e contras com Qt:

Pros:
Cruz-plataforma
Eu sei que este é sempre usado, mas depois de ir e voltar entre Windows e Linux com Qt, é incrível o quão pouco eu tenho que fazer para se levantar e correr. Eu acho que isso é ajudado pelo fato de eu só uso Vim com o Qt Designer.

QMake
Este é um dos meus aspectos favoritos Qt. Depois de fazer o trabalho em wxWidgets, FLTK, etc., eu fico tão cansado de andar com diferentes sistemas de compilação e eu não quero criar manualmente os meus makefiles. Eu uso atualmente CMake em outra coisa senão Qt agora, mas eu acho que eu estou movendo-se lentamente até Qt até CMake. No entanto, é tão fácil para começar com QMake.

QTestLib
I olhou para algumas outras C ++ estruturas de teste de unidade e quando criei meus ensaios utilizando QTestLib, ela sentiu muito semelhante ao NUnit (C #) e dentro de minutos, tinha vários testes passageiras. Notei também que seria muito fácil criar minha própria ambiente de integração contínua.

Mais próximo para Java e .Net da produtividade
A maior ouvir coisa I / ler as pessoas dizem sobre C ++ é, "eu posso ser mais produtivo com Java ou .Net". A partir da experiência pessoal, posso obter um protótipo de um aplicativo em execução em Qt usando Vim e Qt Designer, antes de Eclipse ou Visual Studio uniforme da carga. Eu também obter um conjunto muito semelhante de bibliotecas em Qt que tenho em .Net ou Java e se ele não estiver lá eu posso aproveitar o código existente C ++ lá fora.


Contras :
preço
Este é o fator mais importante que eu posso pensar agora. No entanto, o custo vale a pena cada centavo, um se eu soubesse quantos centavos que eu tinha que salvar-se sem fazer uma chamada para um representante de vendas. Eu comprei um back licença no dia em que teve seu desconto pequeno negócio e que valeu a pena, então, eu teria pago três vezes mais e eu acho que é o preço atual.

Desenvolver em qualquer lugar com licença
comercial Eu adoraria ser capaz de desenvolver em qualquer plataforma, mas construir e vender para outra plataforma. Por exemplo, se desenvolvem em Linux, em seguida, construir e implantar no Windows se você só tem a licença comercial do Windows. Pelo que eu sei, você só pode desenvolver e construir uma aplicação comercial na plataforma você tem uma licença para.

Vendor lock-in
Bem mais ou menos, este é mais um golpe pessoal. Eu não gosto de estar preso a um fornecedor específico, porque eu recebo o lado seguido pela direção da empresa e direcionamento do produto. TrollTech foi comprada pela Nokia, isso é bom ou ruim eu não sei, mas uma empresa desse tamanho pode fazer mal as coisas.


Eu acho que eu sou feito por agora :). Oh, eu não usei Jambi mas estou realmente interessado em fazer um par de protótipos projectos para descobrir como é fácil usar um plugin desenvolvido em C ++ com Jambi. Especialmente usando Jambi como uma interface web com encaixes C ++.

Para ser honesto eu não li muito sobre ele, por isso pode ser impossível ou muito fácil.

Eu costumava Qt em um trabalho anterior. Eu só tinha tido um breve absoluta de contacto com Qt vários anos antes disso, então eu estava muito bonito um newb Qt.

Quando eu comecei a me disseram para escolher a minha linguagem e ambiente, mas o suporte multi-plataforma era desejável. Tentei Qt e Java, e até deu C # ir apenas para os pedaços dele. Eu me deu dois dias para avaliar cada opção.

Talvez eu estivesse um pouco tendenciosa com a minha história como um desenvolvedor C ++, mas depois de passar tempo em cada opção Qt foi o único que mostrou todas as sugestões em ser útil sem uma longa curva de aprendizado.

A documentação fornecida com Qt e as aplicações exemplo, é muito fácil para um desenvolvedor experiente, mas Qt iniciante a se levantar e correr muito rapidamente. Eu tive UI Protótipo / maquetes da aplicação final feito até o final do meu período de teste. Com Java / Eclipse, Java / SunStudio e C # / VS.net I teve problemas como se qualquer coisa acontecer não trivial nesse tempo.

Sinais / ranhuras levou algum tempo para se acostumar, mas não foi muito ruim, e eu escrevi alguns invólucros simples de afirmar quando as conexões não conseguiu parar erros bobos de parar o aplicativo. de trabalho.

A outra coisa que eu gostei é que Qt tinha quase tudo que eu precisava. Você nome dele - armazenamento, networking, GUI, threading, contentores - Qt tem uma classe para lidar com ele. Que IMHO é importante porque misturar bibliotecas às vezes pode causar problemas.

Tendo o código fonte para o Qt foi uma grande vantagem, uma por causa do interesse simplesmente, mas também me permitiu compilar Qt usando o compilador e as configurações de minha escolha, incluindo uma versão de depuração para uso durante o desenvolvimento.

Eu também encontrou apoio da Trolltech a ser muito boa. Eu levantei um par de erros em Qt, um dos quais foi imobilizado e liberados, enquanto eu ainda estava trabalhando no projeto (somente um emprego seis meses).

O recall posso único aspecto negativo foi a dificuldade na depuração Qt objetos (usando VS) - existe um plugin Qt para VS que pode examinar Qt objetos, mas eu estava usando a versão gratuita do VS e plugins não funcionam para isso . Mas isso não foi culpa do Qt.

Eu não usei Jambi assim não pode comentário.

Em C ++ suas únicas outras alternativas são MFC e wxWidgets. QT / wxWidgets é em grande parte uma preferência pessoal. Eu acho QT é um design limpo com boa documentação.
custa QT cerca de um mês de salário desenvolvedor, se você não estiver usando-o para GPL.

Eu tenho usado o Qt por mais de dois anos.

Coisas que eu gosto em Qt são:

  • Fácil programação GUI (em comparação com MFC), Qt Designer
  • classes container agradáveis ??
  • Nice quadro cena gráficos
  • Excelente documentação com exemplos úteis
  • Suporte de tradução
  • bom suporte técnico

I podem altamente recomendar o Qt Desenvolvedores . Se você tem uma chance de participar, em seguida, fazê-lo! Muito de Nice e palestras muito interessantes lá.

O Qt é uma biblioteca muito agradável, mas tem uma licença de desenvolvedor assentos per caro, por isso nem sempre é útil para todos os projetos.

Não usá-lo, no entanto ...

Pro: QT tem um layout de 3 fase opcional, onde, como WX permite apenas 2 atualmente (eu acredito que eles pretendem fazer 3 fase, apenas não funcionaram-lo em ainda).

Um dos maiores problemas com o uso de layouts é um texto estático e de embrulho. WX pergunta como grande é seu min largura / altura e porções para fora da tela, QT tem a opção de dizer o quão grande você quer, o quão alto você precisa ser se o seu X largura. Isso permite que você expressar o fluxo de uma página muito melhor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top