Qt Contest 2008: che Trolltech sia con te


Eccomi qua di nuovo. Oggi mi va si scrivere e subito approfitto a mettere nero su bianco alcune notizie. Siccome sono un fan sfegatato delle Qt di Trolltech mi sono messo di buona lena e ho partecipato al Qt Contest 2008. Ah, qualcuno fa cenno di fermarmi. Non ha capito di cosa parlo. Ok, le Qt sono un toolkit, ovvero un insierme di strumenti per creare applicazioni grafiche e non. In pratica sono un insieme di librerie che mettono a disposizione nel linguaggio C++ (anche in Java se si pensa al QtJambi, ma quest’articolo non focalizza su QtJambi) una serie di classi per svolgere i più svariati compiti: operare su file XML, usare SQL, thread, creare elementi grafici vari, creare browser web, visualizzare immagini vettoriali SVG, operare con interfacce di rete, …

Sì, questa serie di classi sono molto potenti, inoltre sono multi piattaforma, ovvero funzionano per Microsoft Windows, Mac OS X, GNU/Linux, FreeBSD, OpenBSD, NetBSD e Unix vari. Ovvero si ha la comodità di scrivere il codice una volta e di ricompilarlo sulle varie piattaforme. Qt ha due licenze. Una licenza libera (GPL, LGPL, …) e una commerciale. La prima permette di usare le Qt per una applicazione che sarà rilasciata con una licenza libera di cui si rende disponibile tutto il codice sorgente. La seconda è per coloro che non vogliono mettere a disposizione i sorgenti, ma desiderano vendere l’applicazione e rilasciare solo il file eseguibile. Qt è disponibile anche per Windows CE e permette di creare applicazioni per diversi dispositivi embedded, ovvero “computer” di piccola dimensione di limitate prestazioni (poca memoria, processore “lento”). Sul sito di Trolltech troverete tutte le informazioni: www.trolltech.com. Trolltech, inoltre, è stata acquisita da Nokia e il che fa ben sperare. La qualità e la versatilità del codice renderà disponibili le Qt anche per dispositivi Nokia di ultima generazione che sono a metà strada tra un cellulare e un palmare dove si annotano appuntamenti, si naviga su internet, ci si può collegare a una rete wireless ecc…

Il contest 2008

Ritorniamo a parlare di questo famoso Contest 2008. In pratica la Trolltech/Nokia mette a disposizione dei premi per il miglior codice C++ scritto con le Qt. Una bella sfida. Ci sono varie categorie. Programmare con Qt è una cosa davvero rilassante. Si fanno tante cose con poco codice. Per esempio, mostrai come creare un browser elementare a dei ragazzi a Open Mind con tre linee di codice grazie a QtWebKit.

Al contest ho presentato QRunner. Ancora non scaricabile da nessuna parte. L’idea è venuta fuori a un mio collega di lavoro quando circa due anni fa ci ritrovavamo a fare dei test per un gateway/router basato su una distribuzione GNU/Linux. Eravamo costretti a fare sempre clic e clic e clic. Allora il mio collega pensò a organizzare una serie di script per testare le funzionalità Web con cui si configurava il gateway/router multifunzione e pensò anche di farmi realizzare una interfaccia grafica per gestire gli stessi script. Organizzarli in gruppi e sottogruppi. Abilitare e disabilitare alcuni di essi senza rimuoverli dal progetto. Associare delle proprietà a ogni singolo script in modo indipendente dagli altri. Proprietà come l’esecuzione ripetuta di uno script per N volte, possibilità di avere una linea di comando per lo script e un proprio ambiente di esecuzione (assegnando delle variabili d’ambiente). Mi misi con interesse perché prima di allora avevo programmato solo con Qt3, quindi era un buon motivo per mettere mano alle Qt4 e ne restai travolto. Le Qt3 mi piacevano, ma le Qt4 sono ancora meglio. Hanno rivoluzionato la programmazione C++ anche se oggi nessuno, in ambito lavorativo, le usa… Non sanno cosa si perdono😉 (Tutti si rivolgono a Java, Java e Java, anche per mettere su applicazioni che una volta si facevano con M$ Visual Studio in C++).

L’applicazione salva il progetto in XML, carica il progetto riassegnando tutte le proprietà agli script e durante l’esecuzione degli stessi si producono dei file di log accessibili sia all’atto dell’esecuzione dello script sia in seguito alla chiusura dello stesso. Si può decidere di non eseguire l’intero progetto ma un solo sottogruppo di script, o anche uno solo. Si possono immette parametri a tempo di esecuzione se lo script ne necessita. L’attività e l’evoluzione dei processi è resa anche in modalità grafica, ovvero uno script in esecuzione diventa arancione e diventa rosso se per qualche motivo si sono verificati errori o verde se è terminato correttamente.

Il contest è interessante perché mi ha dato la possibilità di imparare e giocare molto con il Drag & Drop, infatti gli script vengono immessi nel progetto trascinandoli direttamente dal file system, inoltre il codice verrà valutato da un serie di esperti e finalmente potrò capire quanto sono bravo/pessimo nello scrivere in C++🙂 .

In attesa dei risultati, se volete e se vi ho sufficientemente incuriositi, è possibile scaricare da KDE Italia una presentazione per imparare le basi minime per operare con Qt. Sono un semplice punto di partenza, ma sono sufficienti per cominciare con piccole applicazioni.

6 thoughts on “Qt Contest 2008: che Trolltech sia con te

  1. Ehi! Come sarebbe “Hanno rivoluzionato la programmazione C++ anche se oggi nessuno le usa…”! Mi fai sentire una mosca bianca!😉

    Bella l’idea del contest, non ne conoscevo l’esistenza! Thx!!!

  2. @masci: intendevo “in ambito lavorativo” e infatti l’ho aggiunto all’articolo. Chi usa Qt si vede😉 siamo “pochi ma buoni”. Al solito all’estero usano moltissimo Qt, in Italia… beh… C’è solo Java🙂 . Ho conosciuto una paio di società che producono software e usano Qt. spero che mi assumano prima o poi🙂 .

  3. @kslacky
    Anche io intendevo in ambito lavorativo!
    Ad ogni modo il fatto che in Italia “c’è solo Java” non sarebbe di per sè una limitazione nell’uso di Qt, basti pensare a Jambi.
    Il problema è che in Italia il livello tecnico è generalmente basso e le aziende mediamente piccole e poco strutturate; in questo contesto non tanto Java, quanto un modo molto approssimativo di approcciarsi allo sviluppo software (che con Java purtroppo va a braccetto) si traducono nell’adottare i primi strumenti che capitano, spesso pure senza detenerne la licenza!

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...