2014-11-12 25 views
6

Attualmente sto avendo qualche paralisi di analisi nel decidere quale è meglio per me tra C++ usando il framework Qt, o C# usando il framework .NET per lo sviluppo di un progetto da piccolo a medio I attualmente progettando.C++ QT contro C# .NET per lo sviluppo di Windows

Ho una piccola esperienza in entrambe le lingue, leggermente più in C++, ma probabilmente sarebbe ancora considerato un novizio.

Tutte le informazioni che ho letto sono state la relatività obsolete (essendo di almeno un paio di anni) e mi chiedevo se ci fossero stati aggiornamenti che avrebbero fatto vacillare il vantaggio in un modo o nell'altro, o se fosse davvero solo un questione di preferenza.

QT sembra sostenere le mie esigenze particolari esigenze un po 'meglio ma la difficoltà aggiuntiva di lavorare in C++ può compensare che mi riporta al punto di partenza 1.

I miei requisiti sono abbastanza semplice, ho bisogno ricchi di supporto del testo, le connessioni al database , la possibilità di esportare in vari tipi di file e avere una GUI abbastanza dinamica.

Chiunque ha esperienze o raccomandazioni personali che desidera condividere?

+3

Se la vostra applicazione è solo per Windows:. C#/NET. Se la tua app è multipiattaforma: C++/Qt. – Tay2510

risposta

8

vi consiglio di utilizzare Qt perché:

  • E 'cross-platform e copre un'ampia gamma di sistemi operativi (compresi i mobili)
  • scrittura in C++ ti dà la possibilità di utilizzare le librerie come STL, Boost, ecc;
  • con C++ ti dà il vantaggio di correre la vostra applicazione ad alta velocità
  • E 'opensource e ha una velocità rapida per ottenere una migliore
  • Ha la una bella GUI designer e un IDE molto capace (Qt Creator)
  • il design API è eccellente e facile da usare
  • ha una ottima documentazione, che è facile da leggere
  • ha il sistema di traduzione Qt che permette di avere un'applicazione multilingue
  • il sistema di layout GUI in cui il i widget ridimensionano il in base a un layout rende tutto molto più semplice
  • Il QML ti dà la possibilità di creare una GUI fantastica con grafica e animazioni fantastiche
  • Ha un ottimo supporto per il networking e la connettività (socket, SSL, www, IPC, ...)
  • Ha QTestLib per testare il codice
  • Ha molti lingua vincolante se non si desidera utilizzare C++
+3

Ho usato entrambi per creare GUI e .Net è molto più semplice, più conciso e meglio documentato (msdn rocks). È anche multipiattaforma se usi Xamarin C#. Anche C# e .Net è open source ora. –

+0

@kami C++ e C# sono entrambi linguaggi di programmazione pesantemente documentati, inoltre C++ non è più difficile o più semplice di C#, che è completamente basato sulla persona che programma con quelle lingue. Inoltre non paragoni le lingue dicendo che una è "più semplice" dell'altra, elevi vantaggi come longevità, compatibilità, manutenibilità, ecc. Anche solo perché una lingua/piattaforma è open source non significa necessariamente nulla per un programmatore . –

+1

@ thedanny09 Ho detto che C# è open source perché nel post precedente l'autore ha consigliato Qt perché è open source. Inoltre, essere open source può essere un vantaggio o uno svantaggio ed è un punto valido per decidere quale lingua utilizzare ed è importante per alcune aziende (alcune di esse hanno anche una politica in merito). Inoltre hai detto "... che è completamente basato sulla persona ...". Non sono assolutamente d'accordo. contro campione: il codice macchina è ovviamente più difficile dello Sketch per quasi tutte le persone. –

2
  1. Si può imparare Qt facilmente se si conosce C++

  2. Tutti i requisiti che avete dato sono completamente fattibile e facile da fare in Qt

  3. Non richiede alcuna macchina virtuale per la distribuzione, ma .NET ha bisogno di questo.

  4. L'applicazione sarà cross-platform

  5. Creazione di interfaccia utente personalizzata è molto possibile in Qt. È possibile creare quasi ogni tipo di interfaccia utente in Qt.

+0

.NET non richiede una VM (macchina virtuale?) – DaveInCaz

+0

QT richiede la libreria da eseguire. La libreria QT è grande (oltre 500 Mb) –

+0

@DaveInCaz .NET * è * una VM (macchina virtuale), proprio come Java. – aaa90210

Problemi correlati