I tre metodi di creazione delle interfacce con le QT, pregi e difetti per i settori embedded e desktop application

[Voti: 36    Media Voto: 4.2/5]

Le QT sono un framework che consente di realizzare applicazioni desktop o embedded multipiattaforma.

Al link Qt in Use o al link QT showroom è possibile vedere alcune delle aziende che utilizzano questo framework per sviluppare i loro prodotti e degli screenshot di prodotti sviluppati con questo framework.

Le possibilità offerte da questo framework sono molte, ad esempio per quanto riguarda l’interfaccia utente si può scegliere tra tre modalità di sviluppo per la realizzazione delle interfacce utente Uomo-Macchina. Nel seguito analizziamo le tre modalità una per una.

Approccio Imperativo – Qt Widgets

La libreria QT widgets inclusa nel framework QT permette di realizzare applicazioni con controlli e bottoni tipici delle interfacce desktop. Con questo approccio si realizzano applicazioni con un look and feel reso in modo nativo sulle varie piattaforme desktop ovvero su Windows i bottoni e gli elementi dell’intefaccia avranno lo stile di Windows, su Mac appariranno con lo stile e la grafica del Mac e su Linux avranno lo stile e la grafica del Window Manager utilizzato.

Questo approccio è molto simile a quello utilizzando in tool RAD come il designer di Visual Studio o il Borland C++ Builder ed è particolarmente indicato per creare applicazioni desktop su larga scala. Inoltre, l’ambiente di sviluppo Qt Creator fornisce un tool RAD (Rapid Application Development) chiamato Qt Designer per disegnare le interfacce con semplici operazioni di Drag & Drop.

Caratteristica interessante è la possibilità di estendere e personalizzare i componenti dell’interfaccia. Al sito QT Apps ad esempio è possibile scaricare widget aggiuntivi oltre a quelli già presenti nelle QT.

I widget delle QT sono stati progettati secondo il pattern Model View Controller che consente di organizzare la propria applicazione in modo che abbia un’interfaccia capace di gestire grandi quantità di dati in modo trasparente.

Approccio Dichiarativo – Qt Quick con QML

Qt Quick è un modo innovativo nel campo delle applicazioni native per realizzare le interfacce utente. Lo strato di UI o di presentazione dei dati è realizzato e personalizzato con un linguaggio dichiarativo simile a CSS e a Javascript chiamato QML. I file QML possono essere realizzati in modo indipendente dallo sviluppatore o direttamente dal grafico, evitando così la necessità di dover implementare a codice le interfacce realizzate dal grafico. Con il liguaggio QML il grafico o chi progetta la UI può realizzare animazioni e transizioni esteticamente accattivanti. Inoltre, questo approccio è consigliato per realizzare interfacce scalabili per dispositivi mobili con schermi piccoli. Qt Quick utilizza direttamente la scheda video tramite le librerie OpenGL per sfruttare al massimo l’accelerazione video dei dispositivi e quindi garantire la bellezza e la fluidità delle interfacce.

Qt Quick Controls è una libreria di controlli e di widget già pronti per Qt Quick. Anche con questo approccio è possibile utilizzare il designer e l’ambiente Qt Creator per disegnare la propria interfaccia utente in modo intuitivo.

Approccio con tecnologia Web – Qt con HTML5

Questo approccio è poco conosciuto nell’ambito dello sviluppo di interfacce con le QT e noi di Garda Informatica siamo pionieri.
Pochi sanno infatti che le QT supportano la realizzazione di interfacce HTML5 in modo nativo. Questo vuol dire che è possibile realizzare un’interfaccia utente come se fosse una normale pagina web, pur mantenendo il controllo completo dell’applicazione desktop.

In questo caso l’approccio ha tutti gli stessi vantaggi di quello Dichiarativo, ma non richiede l’uso di un linguaggio ulteriore come il QML. Infatti, per realizzare l’interfaccia, è possibile utilizzare direttamente i linguaggi tipici del web come: HTML, Javascript e CSS. Questo vuol dire poter utilizzare tutte le librerie web pensate per i dispositivi mobile come ad esempio jQuery Mobile.

Il componente delle QT che rende possibile questo approccio è Qt WebKit, ovvero il motore di rendering di browser come Google Chrome o Safari. Con questo componente e le potenti API delle QT è possibile collegare con il meccanismo dei Signal e degli Slot il codice Javascript con il codice C++/Python di Qt per poter gestire anche dispositivi non comunemente supportati dai browser (es. I/O su RS232 per controllare Motori e Attuatori).

Le tecnologie HTML5 sono un elemento importante e sono molto utilizzate nei settori industriali come quello dell’automotive e dei così detti Set-top box.

Utilizzando le QT con il loro web engine è possibile sfruttare il meglio dei due mondi: interfacce realizzate con tecnologie come HTML5 affidabili, robuste e riusabili e il pieno controllo dell’hardware e del dispositivo su cui gira l’applicazione grazie alle potenti API native delle QT.

Hai qualche domanda a cui non abbiamo dato risposta? Contattaci senza impegno!

Garda Informatica

Garda Informatica

Garda Informatica sviluppa software su misura nella forma di Web Application, App Ibride per iOS/Android/Windows Phone, Crawler Web, Gestionali Web o semplici Connettori per l'integrazione tra software di terze parti.
Garda Informatica

Un commento su “I tre metodi di creazione delle interfacce con le QT, pregi e difetti per i settori embedded e desktop application”

I commenti sono chiusi.