Qt, il toolkit multipiattaforma di Nokia, diverrà presto uno dei componenti integrati di default in Ubuntu.

Creato il 23 gennaio 2011 da Hugor @msdiaz61
Con un annuncio pubblicato sul suo blog personale, il fondatore di Canonical - Mark Shuttleworth - ha rivelato che Qt, il toolkit multipiattaforma di Nokia, diverrà presto uno dei componenti integrati di default in Ubuntu. Grazie a questa novità, le applicazioni sviluppate utilizzando Qt potranno essere rese immediatamente operativo sulla distribuzione Linux sponsorizzata dall'azienda di Shuttleworth.
I numerosi vantaggi tecnici di Qt, tra i quali la già citata caratteristica di prodotto multipiattaforma e la posizione di primo piano guadagnata in campo "mobile", stanno rendendo il toolkit di Nokia una scelta di grande interesse per gli sviluppatori. L'inclusione di Qt all'interno di Ubuntu (si parla della versione 11.10) potrebbe facilitare l'arrivo di nuovi programmatori ed accelerare la realizzazione di un più elevato numero di nuove applicazioni.
Qualche polemica potrebbe ingenerarsi dal momento che Ubuntu è una distribuzione basata sull'impiego del desktop environment GNOME, storicamente vicino alle librerie GTK+. Le applicazioni destinate all'ambiente desktop di Linux sono infatti solitamente realizzate utilizzando GTK+ oppure Qt, i due toolkit in grado di facilitare la creazione di interfacce grafiche.
Da quando Nokia, nel 2009 (ved. questa notizia), ha modificato le condizioni di licensing di Qt redistribuendo il prodotto sotto forma di software libero governato dalle condizioni della LGPL (GNU Lesser General Public License), il toolkit ha fatto registrare un'impennata per ciò che riguarda l'interesse mostrato dagli sviluppatori. Tanto che tra le società che impiegano Qt per lo sviluppo "cross-platform" ci sono nomi quali Google, Amazon, Skype, Adobe e Rovio, produttore del famoso videogioco "Angry Birds", disponibile per i device mobili di Apple, per Android e Symbian^3.
Canonical si è già attivata per lavorare sullo sviluppo di quei legami che permetteranno ad Ubuntu, che per il momento resta una distribuzione "GNOME-based", di eseguire senza problemi applicazioni Qt le quali potranno, tra l'altro, condividere le impostazioni con i prodotti GTK+.

In programmazione, Qt è una libreria multipiattaforma per lo sviluppo di programmi con interfaccia grafica tramite l'uso di widget (congegni o elementi grafici). Qt, ampiamente utilizzato nell'ambiente desktop KDE, viene sviluppato dall'azienda Qt Software (meglio conosciuta come Trolltech o Quasar Technologies).

Qt si dovrebbe pronunciare come l'inglese cute, cioè "carino". La pronuncia in grafia italiana è chiùt, anche se la pronuncia più intuitiva cuttì non è rara (parallelamente, esiste la pronuncia inglese chiuttì).

Qt usa il linguaggio C++ standard con un estensivo uso del preprocessore C per arricchire il linguaggio, ma esistono interfacce per Java, Python, C, Perl e PHP. Gira sulle piattaforme principali ed integra funzioni per l'accesso ai database SQL, parsing di documenti XML ed API multipiattaforma per l'uso dei file.

Compilare Qt Simulator e le sue dipendenze è un po’ noioso al momento. Se desideri solo usarlo raccomandiamo di installare Nokia Qt SDK. Se vuoi compilarlo da sorgente, segui questa guida. Nota che l’ordine dei passaggi è importante.


Repository

Il simulatore richiede Qt e il codice contenuto in questi repository

  • Qt Simulator [qt.gitorious.org], il ramo 1.1
  • Remote Control Widget [qt.gitorious.org], il ramo simulator
  • Qt Messaging Framework [qt.gitorious.org], il ramo master

Per compilare applicazioni destinate a funzionare all’interno di Qt Simulator, ti servono:

  • Simulator Qt [qt.gitorious.org], il ramo 4.7.2
  • Simulator Qt Mobility [qt.gitorious.org], il ramp 1.1.1

Preparazione

Crea due cartelle:

  • (simulator-qt-mobility-prefix)
  • (simulator-depends)

Imposta le variabili d’ambiene in questo modo:

  • QT_NOKIA_SDK_PATH=(cartella sorgente di Simulator Qt)
  • QT_MOBILITY_SOURCE_PATH=(cartella sorgente di Simulator Qt Mobility)
  • QMF_INCLUDEDIR=(cartella sorgente di QMF)/src/libraries/qmfclient
  • QMF_LIBDIR=(simulator-qt-mobility-prefix)/lib
  • SIMULATOR_DEPENDENCY_PATH=(simulator-depends)

L’applicazione

  • Ottieni la versione 4.7.x di Qt. La chiameremo Desktop Qt. Usiamo solo questa in questo passaggio.
  • Lancia qmake -r QMF_INSTALL_ROOT=(simulator-depends) dentro QMF in una build directory a scelta.
  • Compila e installa (QMF)/src/libraries/qmfclient.
  • Compila e installa (QMF)/src/plugins/contentmanagers/qmfstoragemanager
  • Compila e installa Qt Mobility. Passa -modules “contacts versit organizer” -prefix (simulator-depends) a configure.
  • Compila e installa (Remote Control Widget)/library. Passa PREFIX=(simulator-depends) a qmake.
  • Compila simulator.

Dipendenze per le applicazioni client

  • Compila Simulator Qt, passando -simulator and -developer-build a configure. Su linux, passa -opengl if se lo desideri. Usa solo questa particolare Qt qui.
  • Lancia qmake -r QMF_INSTALL_ROOT=(simulator-qt-mobility-prefix) su QMF in una build directory a scelta diversa dalla precendete.
  • Compila e installa (QMF)/src/libraries/qmfclient.
  • Compila e installa (QMF)/src/plugins/contentmanagers/qmfstoragemanager.
  • Compila e installa Simulator Qt Mobility. Passa -prefix (simulator-qt-mobility-prefix) a configure.

Applicazioni Client.

Registra Simulator Qt in Qt Creator e scegli il target Qt Simulator per creare applicazioni. Alternativamente, usa il qmake di Simulator Qt direttamente.

Sviluppo.Rami

I rami sono categorizzati in:

  • rami di mantenimento: Mantenimento della versione rilasciata. Può essere fsuco con il ramo di sviluppo.
  • rami di sviluppo: Qui andranno le nuove funzioni
  • ramo di staging per X: Sarà fuso e separato da X alternativamente.
  • rami attivi: Rami stabili usati per release future. Non devono essere applicati cambiamenti ad essi. Il manager dei rilasci provvederà ai fix.
  • rami inattivi: Rami precedentemente attivi. Non cabieranno.

Questi sono i rami attuali:

  • simulator/1.1: ramo di mantenimento
  • simulator/master: ramo di sviluppo, simulator/1.1 è fuso regolarmente
  • simulator-qt/4.7: ramo di sviluppo, qt/4.7 è fuso regolarmente
  • simulator-qt/4.7.2: ramo di rilascio attivo, qt-releases/4.7.2 è fuso regolarmente
  • simulator-mobility/1.1: ramo di mantenimento e di staging per qt-mobility/1.1
  • simulator-mobility/1.1.1: ramo di rilascio attivo, qtmobility-releases/1.1.1 è fuso regolarmente
  • simulator-mobility/master: ramo di sviluppo e di staging per qt-mobility/master
  • remotecontrolwidget/simulator: ramo di mantenimento (usare con simulator/1.1)
  • remotecontrolwidget/simulator-master: ramo di sviluppo (usare con simulator/master), remotecontrolwidget/simulator è fuso regolarmente

Rami inattivi:

  • simulator/1.0.1: ramo inattivo
  • simulator-qt/4.7.0: ramo di rilascio inattivo
  • simulator-qt/4.7.0-beta2: ramo di rilascio inattivo
  • simulator-qt/4.7.0-beta1: ramo di rilascio inattivo
  • simulator-qt/4.7.1: ramo di rilascio inattivo
  • simulator-mobility/1.0: ramo di rilascio e di staging per qt-mobility/1.0
  • simulator-mobility/1.0.2: ramo di rilascio e di staging per qt-mobility-releases/1.0.2
  • simulator-mobility/1.0.1: ramo di rilascio e di staging per qt-mobility-releases/1.0.1
  • simulator-mobility/1.0.0: ramo di rilascio e di staging per qt-mobility/1.0.0
fonte: QT

Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:



Potrebbero interessarti anche :

Possono interessarti anche questi articoli :