Pergunta

Se você tivesse o diferencial de se aventurar na terra do Delphi ou na terra do Qt, qual você escolheria?Eu sei que eles não são totalmente comparáveis.Eu, pelo menos, tenho experiência em desenvolvimento Windows com Builder C++ (quase Delphi) e MFC (quase Qt), com um pouco mais de tempo trabalhando com Builder C++.Por favor, retire a capacidade multiplataforma do Qt em sua análise.

Espero respostas de pessoas que trabalharam com ambos e como elas comparariam a estrutura, o ambiente, etc.?

Agradeço desde já pelas suas respostas.

Foi útil?

Solução

Editar:Esta resposta foi escrita em 2008.Provavelmente não é mais tão adequado, embora provavelmente não seja totalmente inútil.Tome com sal.

Eu usei os dois e acabei seguindo a rota do Qt.Estas são as razões:

  • Trolltech oferece suporte rápido e individual por e-mail
  • Qt inova e introduz novos recursos poderosos regularmente
  • A documentação do Qt é incrível e, nos raros casos em que não é, você pode ler o código-fonte
  • Ter o código-fonte do Qt também permite que você depure dentro de suas bibliotecas base, o que tem salvado minha vida em muitas ocasiões
  • A API é muito consistente e bem projetada.Colocamos novas pessoas no projeto e em um mês elas demonstram profundo conhecimento do kit de ferramentas e podem aprender novas aulas muito rapidamente
  • Possui ligações para outros idiomas, por exemplo.Rubi e Python.

C++ é uma desvantagem, por exemplo.tempos de compilação, empacotamento e um IDE menos integrado.No entanto, o Qt faz com que o C++ pareça mais uma linguagem de nível superior.QStrings elimina toda a dor do manuseio de strings, por exemplo.Assim, os problemas adicionais com C++ que você normalmente enfrentaria, por exemplo.códigos com mais bugs são menos prevalentes em minha experiência ao usar o Qt.

Além disso, existem mais bibliotecas para Delphi do que para Qt, mas isso é atenuado devido ao fato de você poder usar apenas uma biblioteca c ou c++ em um projeto Qt, e também porque o Qt é tão completo que muitas vezes você não precisa procurar nenhum avançar.

Seria uma situação estranha onde eu escolheria Delphi em vez de Qt para um novo projeto.

Outras dicas

Se você está falando de frameworks de UI, então você deve comparar o Qt com o VCL, não com o IDE (Delphi neste caso).Eu sei que estou sendo um defensor, mas Delphi é o IDE, Object-Pascal é a linguagem e VCL é a estrutura gráfica.

Dito isto, não acho que haja nada que chegue perto de igualar o poder e a simplicidade do VCL.Qt é ótimo, mas não é VCL.

Eu escolheria Delphi.É claro que você pergunta a qualquer pascalólico e ele certamente responderá da mesma forma.;)

Qt novamente está bem, mas o VCL parece mais polido.Mas então esses podem ser meus anos de trabalho com isso, então parece certo.Minha experiência com Qt foi limitada a um projeto de curta duração que acabou sendo reescrito em Delphi depois que foi determinado que a plataforma cruzada não era realmente necessária graças ao poder do Go Global que pode transformar qualquer aplicativo win32 em um aplicativo da web e, portanto, rodar em qualquer plataforma.

Realmente depende de suas necessidades e experiência.Eu trabalhei com ambos (embora deva dizer que a última versão do Delphi com a qual realmente trabalhei foi o Delphi 6, e atualmente estou trabalhando com o Qt 4.4).

O idioma

Prós de C++:

  • C++ é mais "padrão", por ex.você encontrará mais códigos, bibliotecas, exemplos etc., e poderá usar livremente o STL e boost, enquanto Object Pascal é uma linguagem mais exótica
  • Qt compila em diferentes plataformas e compiladores (Kylix é baseado em Qt, BTW)

Prós do Object Pascal:

  • algumas propriedades dinâmicas são incorporadas diretamente na linguagem, nenhuma solução alternativa feia como o MOC é necessária
  • o compilador é altamente otimizado para a linguagem e, de fato, muito rápido
  • a linguagem é menos complexa que C++ e, portanto, menos propensa a erros

O IDE

Prós do Qt:

  • Falando estritamente, não há IDE para Qt além do Designer, mas ele se integra perfeitamente ao seu IDE preferido (pelo menos Visual Studio e Eclipse)
  • o designer faz um trabalho melhor com layouts do que com formulários Delphi (Nota:Isso é baseado na experiência Delphi 6 e pode não ser verdade nas versões atuais)

Prós do Delphi:

  • O IDE é realmente polido e fácil de usar agora, e supera claramente o Visual Studio, IMO (não tenho experiência com Eclipse)
  • não há ponto 2...mas se eu tivesse que atribuir a palavra-chave "integrado", eu a atribuiria ao IDE Delphi

O quadro

Vou deixar uma comparação com outros, pois não conheço o VCL mais novo o suficiente.Tenho algumas observações:

  • ambas as estruturas cobrem a maior parte da funcionalidade necessária
  • ambos têm o código-fonte disponível, o que é obrigatório na IMO
  • ambos têm uma estrutura mais ou menos consistente - eu prefiro o Qt, mas isso depende das suas preferências (observação:Eu nunca diria que o Qt é quase MFC - eu uso o MFC há muito tempo, e tanto o Qt quanto o Delphi - e o .NET, aliás - são muito melhores)
  • a VCL possui funcionalidades mais orientadas ao banco de dados, principalmente a conexão com os componentes visuais
  • Qt tem mais funcionalidades orientadas para pintura (2D/3D/OpenGL)

Outras razões que falam a favor do Qt IMO são o excelente suporte e o licenciamento, mas isso depende das suas necessidades.Existem grandes comunidades para ambas as estruturas,

Uma grande diferença entre Delphi e Qt é o sistema de sinais/slots Qt, que torna muito fácil criar relacionamentos N-para-N entre objetos e evitar acoplamentos rígidos.

Não creio que tal coisa exista no Delphi (pelo menos não existia quando eu o usava).

Acabei de começar a experimentar o Qt/C++/Qt Creator e devo admitir que fiquei surpreso que esse "bastardinho fofo" esteve logo abaixo do meu nariz por muitos anos e estou prestando atenção nele agora.

Ele (a estrutura) parece limpo e completo em recursos (até mesmo coisas que faltam no .NET, como suporte XQuery integrado).

Parece que a maioria dos aplicativos Qt escritos lidam com 2D/3D/Jogos.

Acredito que as desvantagens são apenas:ter que conhecer C++ e a falta de recursos do DevExpress como QuantumGrid.

Estou pensando seriamente em portar um dos meus aplicativos simples (um visualizador de imagens como o ThumbsView).

E REALMENTE roda na mesma base de código.SÉRIO!

Esqueça Kylix, Mono, Lazarus, Free Pascal.Essa coisa do Qt supera todos eles em 10 vezes.

Qt Creator está longe de ser IDE.Mas espero que no futuro eles adicionem um depurador mais poderoso, visão de código e refatoração (pelo menos o "Renomear") e erros de compilador mais significativos.

Eu recomendaria seriamente a alguém sem experiência em Pascal/C++ que fizesse a curva de aprendizado do Qt.

Eu escolheria Delphi, mas provavelmente é porque já o programei antes.Parece que ainda existem várias empresas que o utilizam, e quase todas as pessoas com mais de 8 anos de experiência já o encontraram em algum lugar.Parece que a maioria dos programadores se identifica com seu uso ou pelo menos com o aprendizado de Pascal.Sem mencionar o fato de que linguagens mais recentes (C#) são baseadas nele (pelo menos parcialmente).

Escolha Delphi se sua preocupação for a velocidade nativa do Win32, um ambiente RAD de primeira classe e tamanho executável.Escolha QT se você precisar de uma estrutura verdadeiramente multiplataforma juntamente com uma política de licenciamento agora flexível e não se importar com códigos um pouco inchados.

Eu portei um antigo programa Delphi para QT/C++, e devo dizer que QT é o framework que mais se aproxima do VCL em termos de facilidade de uso e potência (IMHO)

Eu escolheria Delphi.Só porque tenho mais experiência com isso.Não creio que existam outros critérios razoáveis.

Qt é multiplataforma, Delphi não muito se contarmos com Kylix.Lazarus é multiplataforma, mas ainda não possui recursos completos.

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