gennaio 23, 2011

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

| 1 Comment
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.

Haavard Nord e Eirik Chambe-Eng (rispettivamente lo sviluppatore originale di Qt al CEO e il presidente della Trolltech) iniziarono lo sviluppo di "Qt" nel 1991. Tre anni prima la società era stata fondata come Quasar Technologies, poi cambiò il nome in Troll Tech, e infine in Trolltech.

Il toolkit fu chiamato Qt perché la lettera Q appariva bella nel carattere di Emacs Haavard, e la T fu ispirata dal Xt, il tool X. Un altro fattore può essere stato che la lettera Q non viene usata in norvegese, che sostituisce sistematicamente kv- a qu- in tutte le parole (in accordo con l'effettiva pronuncia): ciò rende la lettera Q "esotica", un po' come la K in italiano.

In norvegese, l'acronimo Qt si pronuncia cü-té: in grafia norvegese, potrebbe scriversi "kute", e, per quanto strano, è una parola composta che significa "tè di mucca".



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.


Le librerie Qt sono disponibili per queste piattaforme:
  • Qt/X11 — Qt per X Window System;
  • Qt/Mac — Qt per Mac OS X di Apple;
  • Qt/Windows — Qt per Microsoft Windows;
  • Qt/Embedded — Qt per piattaforme embedded (palmari e simili).

Attualmente vengono offerte in quattro edizioni, disponibili per ciascuna delle piattaforme:

  • Qt Console — versione embedded per lo sviluppo senza interfaccia grafica;
  • Qt Desktop Light — versione base per applicazioni con interfaccia grafica, senza supporto rete e SQL;
  • Qt Desktop — la versione completa;
  • Qt Open Source Edition — la versione completa, per sviluppo di software libero.

Le prime tre versioni sono rilasciate sotto con una licenza commerciale; la versione libera, invece, viene rilasciata sotto licenza GPL. A partire da Qt 4 inoltre, a differenza di Qt 3.3, Qt viene rilasciato sotto doppia licenza (GPL e commerciale) anche su Windows.

L'edizione commerciale per Windows supporta Visual Studio; tutte supportano comunque il compilatore C++ GCC.

La squadra di KDE ha anche rilasciato un'edizione di Qt, chiamata Qt/Windows Free Edition — basata sul codice sorgente della versione Qt/X11 e licenziata sotto GPL, viene rilasciata per il progetto KDE via Cygwin. Questo era stato ispirato dal fatto che le versioni di Qt precedenti alla 4.0 non erano disponibili come software libero sotto Windows.


Compilare Qt Simulator.

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

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

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

"Symbian non-touch and Maemo devices"

Delle polemiche scoppiarono attorno al 1998 quando divenne chiaro che KDE stava per diventare uno dei più importanti ambienti desktop per GNU/Linux. Poiché KDE era basato su Qt, molte persone nei movimenti open source e free software si preoccupavano che una parte essenziale del loro sistema operativo fosse non libera.


Per contrastare la situazione iniziarono due ambiziose iniziative: Harmony, che cercò di duplicare Qt sotto una licenza di software libero, e l'ambiente GNOME, che si basava sulle librerie GTK+ nel 1997.


Fino alla versione 1.45, Qt usò la licenza FreeQt — che non era né open source né free software perché, sebbene il codice sorgente fosse disponibile, non ne era consentita la ridistribuzione di versioni modificate. Con il rilascio della versione 2.0 della libreria, la licenza diventò la Q Public Licence (QPL), una licenza free software ma considerata dalla Free Software Foundation come incompatibile con la licenza GPL. Furono cercati dei compromessi tra KDE e la Trolltech in cui si decise che Qt non sarebbe potuto essere sotto una licenza più restrittiva della QPL, anche se la Trolltech fosse stata acquistata o fosse fallita. Questo consentì la creazione della KDE Free Qt foundation, la quale garantì che Qt sarebbe stato sotto la licenza BSD se nessuna versione open source di Qt fosse rilasciata nell'arco di 12 mesi.


Infine, la libreria Qt fu rilasciata sotto la licenza GPL a partire dalla versione 2.2 (per X11), con l'alternativa di scegliere la QPL. Per motivi legali la QPL è ancora disponibile come licenza per X11, ma la Trolltech la considera obsoleta e ne sconsiglia l'uso. Il 18 gennaio 2008 è stato annunciato il rilascio di QT 3 e QT 4 sotto licenza GPL.

Dopo l'acquisizione nel 2008 di Trolltech (ora Qt Development Frameworks) da parte di Nokia, il 14 gennaio 2009 l'omonima azienda annuncia il rilascio delle QT 4.5 anche con licenza LGPL.

fonte: QT & Wikipedia



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



Trovato questo articolo interessante? Condividilo sulla tua rete di contatti Twitter, sulla tua bacheca su Facebook o semplicemente premi "+1" per suggerire questo risultato nelle ricerche in Google, Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie! CONDIVIDI SU!

stampa la pagina
, , ,

1 commento:

  1. Salve,
    sono uno dei promotori di sParrot, il nuovo aggregatore di feed per gli appassionati di informatica e tecnologia.

    Il suo portale è stato visionato dal nostro staff che l’ha ritenuto di ottima qualità. Pertanto, sarebbe un piacere accoglierla nella nostra community.

    Iscriversi a sParrot è facile e gratuito; siamo certi che lo troverà interessante in quanto le assicurerà maggiore visibilità ed importanti link di ritorno. Siamo in cerca di persone che vogliano mettersi in mostra e far così pubblicità ai loro siti web.

    Per tutte le informazioni la invito a visitare la pagina http://it.sparrot.com/info/ o http://it.sparrot.com/entra-in-sparrot/ per l'iscrizione in sParrot.

    In attesa di un suo riscontro le porgo i miei cordiali saluti.

    Nel caso decidesse di non partecipare, mi farebbe piacere se potesse comunicarmi il motivo della sue decisione.

    --
    Cordiali saluti,
    Christian Trotta

    RispondiElimina

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.

Ultimi post pubblicati

Archivio

Etichette

Ubuntulandia in Pinterest

Post Più Popolari