2010-03-03 15 views
10

Qt è una piattaforma interessante per lo sviluppo di applicazioni aziendali, al di fuori dei telefoni Nokia?
Perché? Punti forti ?
GrazieUso reale per Qt (al di fuori di Nokia)

+0

Per essere chiari: NON sto sollevando una polemica. Mi chiedo solo, e spero che le risposte saranno utili per le altre persone. –

+0

È scritto Qt e pronunciato come "carino" –

+0

grazie a tutti. Molto difficile scegliere una risposta vincente su questo. –

risposta

20

Mi piace Qt perché:

  • quadro molto ben progettato, per esempio signal-slot, model-view, graphics view/scene/item/proxy, painter/paint device/paint engine ..., troppi per essere elencati qui!
  • Ottima documentazione!
  • API/linguaggio cross platform, oltre a strumenti come UI designer, creatore e così via.
  • Funzioni avanzate, ad es. quadro grafico, libreria di rete, motore di database e così via.
  • Comunità attiva e sviluppo attivo.

Ci dovrebbe essere di più. Se l'hai mai usato, scoprirai che è facile costruire il tuo framework su Qt.

Non ho avuto alcun reclamo a Qt. Se devo dire almeno uno svantaggio qui, "convenzione". Devi adottare la convenzione di Qt, ad es. Devi usare moc per creare il meta oggetto dei tuoi oggetti, ed è più facile per gli sviluppatori usare il vettore, l'elenco, auto_ptr di Qt rispetto a STL, tr1. Ma non ho mai riscontrato alcun problema causato da questo. Al contrario, funziona molto bene.

A mio parere, Qt è lo stato dell'arte del framework C++ in questo mondo moderno!

P.S. Ci sono un sacco di applicazioni commerciali costruite su Qt. Puoi trovarlo sotto il sito ufficiale di Qt. Ma vorrei aggiungere un altro qui: Perforce, uno dei principali strumenti di gestione del codice sorgente commerciale, ha costruito il suo strumento client su Qt per Windows/Linux/Mac.

20

sì, è .. basta guardare a applicazioni di KDE :)

further reading

Può essere questo non è così legata alla domanda ... ma il mio primo contratto con Qt è stato solo grande a partire dalla loro documentazione ben organizzata per le loro grandi widget

il GraphicsView è solo AMMAZING! :)

+0

È un modo economico (abbastanza) facile da indovinare le tue app desktop per (quasi) qualsiasi sistema operativo. – cazlab

13

Si tratta dell'unico archivio di libreria di C++ corrente/moderno su Windows.

MFC è così vecchio che devi scrivere commenti in latino
WTL sarebbe bello se lo avessero finito prima di abbandonarlo.
Winforms/WPF + gestito C++/CLR - tutto il divertimento di diverse nuove tecnologie incompatibili contemporaneamente.

punti negativi:
per stare su un sacco di piattaforme che hanno inventato le proprie soluzioni per le cose che sono ora nella STL/Boost
Il meccanismo del segnale/Slot - difficile da eseguire il debug e silenziosamente fallisce (senza errori) con semplici errori di battitura.
Sebbene tutto sia possibile a volte è molto difficile fare cose semplici (adorano MVC) rispetto a Winforms.

+0

C'è anche wxWidgets, che è anche abbastanza buono e ha una licenza in stile BSD. Ma dal momento che Qt è LGPLed lo preferirei anch'io. –

+0

"Preferisco usare un sacco di ratti morti per una libreria della GUI rispetto all'MFC." una citazione che ho letto prima di –

+1

@Axel - ho menzionato wx ma ha semplicemente confuso la domanda e non volevo dire cose brutte a riguardo. Nota wx e Qt sono entrambi LGPL, ma wx ha un'esenzione per consentire il collegamento statico. In pratica questo significa che puoi usarlo ovunque ma non è BSD, in particolare qualsiasi modifica che devi dare. –

9

Forse avete sentito parlare di Google Earth che si verifica anche in Qt.

A parte questo, mi piace Qt per il mio sviluppo in-house perché

  • è molto ben supportato e documentato,
  • mi permette di scrivere applicazioni semplici e dignitosi dall'aspetto che sono
  • opere cross-platform per Windows e Linux con poco sforzo, e
  • contiene bello avere componenti per l'accesso ai database, espressioni regolari, GUI, XML, ...

Uso anche i widget Qwt per un facile tracciamento in tempo reale su Qt.

+0

Ho già sentito questo, è vero solo per la versione di Linux o anche per le versioni di Windows e OS x? –

+0

Ho controllato con ldd sulla mia versione di Linux. Non ho altra versione di Google Earth.Ma quali ragioni dobbiamo credere che terrebbero tre basi di partenza? –

+2

Google Earth non è un buon esempio per QT perché l'unica vera azione si verifica in un widget OpenGL (o DirectX - qualunque). Come con Opera che usa anche QT ma non è un buon esempio in quanto usa solo una finestra di base e disegna tutto il contenuto stesso. Mi chiedo perché non ci sia alcun vero elaboratore di testi o IDE scritto in QT, questa sarebbe una GUI intensiva. – Lothar

4

Pixar usa Qt (o almeno, usato, a partire dal 2005) internamente per alcune parti del loro suite di tool (chiamato "Marionette" del marketing) chiamati collettivamente Menv, ("uomini-V" per la modellazione Ambiente) --- almeno per il loro strumento di illuminazione Lumos.

6

Non ho davvero capito che senso ha sottovalutare strumenti/framework che rende le cose facili per i programmatori. Qt è troppo buono per lo sviluppo di GUI, direi che è molto meglio di qualsiasi attuale suite di sviluppo di app crossplatform esistente.

Tanti vantaggi, lo uso da più di tre anni per un prodotto da distribuire in ambienti Linux/Win. L'app è ad alta intensità di thread e inizialmente abbiamo avuto difficoltà nell'usare pthreads e il suo componente per Windows. Poi passammo a Qt (e QThreads alla fine) e le cose furono un gioco da ragazzi ... Sostenuto da uno sviluppo attivo, una comunità di grande aiuto e supporto insieme a documentazione, formazione, programmi di certificazione, video, forum ... è facile, veloce ed efficace da sviluppare in Qt. Dovresti vedere il video che creano un browser web in soli cinque minuti! È davvero "multipiattaforma" e non ha un wrapper software (come Java) per abilitare ciò che lo rende più veloce. Cmon, sappiamo tutti che le app java hanno pulsanti che impiegano un secondo per rispondere anche a un semplice "clic".

Spero che un giorno Qt faccia un tentativo su Java. : D

dopo tutto, gli sviluppatori 350000 non possono sbagliare quando hanno scelto Qt.

+0

QT ha una libreria Java chiamata Qambi, penso. Lo stavo considerando per un progetto a cui sto lavorando (sono principalmente un ragazzo Java). Il progetto su cui sto lavorando deve interfacciarsi con troppi componenti C++, quindi non ne valeva la pena. –

+0

@Chris, è QJambi, è stato interrotto. – CMircea

+1

Questo è un peccato. : -/ –

12
  • Qt è semplice
  • Qt è potente
  • Qt è nativamente-CROSS-PLATFORM
  • Qt è VERAMENTE-CROSS-PLATFORM
  • Qt è completa (ma il lato mezzi di cui ha bisogno ancora per crescere)
  • Qt non richiede Garbage Collection, ma incorpora un modello di gestione della memoria GRANDE che ti fa dimenticare la deallocazione della memoria
  • Qt è solido
  • Qt è moderno
  • Qt propone qualche nuovo paradigma di programmazione che sono veramente buoni (Segnali-slot)
  • Qt gestisce un sacco di software di grande successo: (Skype, Google Earth ...)

Questi punti sono abbastanza forti?

+1

Sì! Grazie. ;-) –

+1

Standard C++ ha anche un modello di memoria che ti fa dimenticare la deallocazione della memoria :) Scappare via veloce ... – EFraim

+0

Sì, anche VLC media player! – Nianliang