SlideShare a Scribd company logo
Qt Roadmap:
the future of Qt




     Giovanni Bajo
 (rasky@develer.com)
Sommario
   Nokia, Microsoft e Digia
   Feature highlight per il 2011
   Qt 5.0
   Stato sviluppo moduli




                                    2
Accordo con Microsoft
   Accordo preso dal CdA
   Smartphone fascia alta: WP7
   Symbian: 18-24 mesi di vita (150 milioni di device con
    accesso ad Ovi store)
   MeeGo: 1 SKU
   Qt Department: nessun licenziamento (BU: Mobile
    Solutions...)




                                                             3
Open Governance
   Progetto “Open Governance” da ~10 mesi
   “Processo Libero” vs “Codice Libero”
   Contribuzioni più facili e maintainer esterni
   Nokia rimane leader dello sviluppo
   In generale: “community driven”




                                                    4
Focus di Nokia
   Sviluppo di Qt
   Creazione e ampliamento community Qt
           Qt Developer Network
           Sponsorizzazioni
           Relazioni con sviluppatori
           Qt Developer Meeting
   Licenza GPL/LGPL: utilizzo gratuito di Qt




                                                5
Digia e le licenze
   Digia: Qt Alliance Partner (qt.digia.com)
   Discussioni tra Nokia e Digia già in corso dall'anno
    scorso
   Digia ha rilevato:
           Business licenza commerciale
           Business pacchetti supporto
           Portafoglio clienti
           Sales dept




                                                           6
Focus di Digia
   Supporto ai clienti con licenze commerciali
   Supporto per versioni di Qt ufficialmente obsolete.
   Supporto per piattaforme obsolete/nicchia.
   In generale, “commercial driven”




                                                          7
Sommario
   Nokia, Microsoft e Digia
   Feature highlight per il 2011
   Qt 5.0
   Stato sviluppo moduli




                                    8
Project Lighthouse
   Platform abstraction layer di QtGui
   Facilità porting su nuove piattaforme
   Integrazione con windowing system nativo
   Ottima news per il mondo embedded




                                               9
QML: Scene Graph

    QML             QML



QGraphicsView

  QPainter       Scene Graph

 OpenGL 2.0
 Paint Engine



OpenGL 2.0 ES   OpenGL 2.0 ES




                                10
Qt Quick Components




                      11
Qt Quick tooling
   Supporto per Qt Quick Components
   Debugging misto QML/C++ (già in Qt Creator 2.2)
   Runtime property changes
   … e molto altro in arrivo in Qt Creator 2.3




                                                      12
Qt WebKit
   Modulo indipendente
   Supporto multiprocess (WebKit 2)
   Feature più nuove HTML5/CSS3 (web workers, web
    sockets, ecc.)
   Touch & gestures




                                                     13
Qt/3D
   Esperimenti di API 3D
   Caricamento mesh, animazioni
   Effetti 3D
   Integrazione completa Qt Quick




                                     14
Altri progetti R&D
   Rendering in multithreading con OpenGL
   Miglioramenti performance :
           File I/O (riscrittura?)
           Threading, Sockets, HTTP engine
   C++11




                                              15
Sommario
   Nokia, Microsoft e Digia
   Feature highlight per il 2011
   Qt 5.0
   Stato sviluppo moduli




                                    16
Perché Qt 5
   Qt 4: progetto Giugno 2004, rilascio Giugno 2005
   Cosa è cambiato da allora?
           Dispositivi mobili / connected devices
           UI fluide
           Web
   Qt si è aggiornata in ampiezza, ma non in profondità
   E' necessario un cambio più profondo
   ETA: Q2 2012



                                                           17
Visione
   Focus su QtQuick / QML come paradigma più moderno
    per sviluppare UI
   Focus su JavaScript come linguaggio di
    prototipizzazione/realizzazione GUI e business logic
   Qt/C++ e Widget sempre disponibili in Qt 5
   C++ sempre più come linguaggio di backend (moduli
    performance-critical, librerie, ecc.)




                                                           18
Obiettivi Qt 5
   Migliorare uso GPU
   Creazione semplificata UI
   Network transparency & embedding di servizi web
   Semplificazione porting
   Porting semplificato da Qt 4 (no BC)
   Sviluppo tramite open governance




                                                      19
Graphic Stack
   Qt Quick & Scenegraph al centro di tutto
   Qt richiederà OpenGL ES 2.0 (ANGLE se necessario)
           Disegno ottimizzato, rendering vsync-based
   QPainter sarà API di secondo livello
           Utilizzo per rendering offscreen (raster/ogl)
           Utilizzo per rendering dei classic widget




                                                            20
Graphic Stack
               Qt Components
WebKit                         QWidget
                    QML


QtGuiCore

              Scene Graph      QPainter



             OpenGL surface



               Lighthouse



                                          21
Porting semplificato
   Ligthouse come unica API di porting
   Primi port di Qt 5: Windows, Linux/Wayland, Mac Cocoa
   Supportare dispositivi multipli sarà sempre più
    importante




                                                            22
Widgets modularizzati
   QtGui non conterrà più widget
   Nuovo modulo: QtWidgets
   Focus su Qt Quick
   Qt Quick Components come bridge tra i mondi




                                                  23
Altre modifiche in Qt 5

   QtScript basato su V8 (invece di JSC)
   Uso di Webkit2 (multi process / sandbox)
   Merge QtNetwork in QtCore
   Isolamento di WebKit da QWidget




                                               24
Sommario
   Nokia, Microsoft e Digia
   Feature highlight per il 2011
   Qt 5.0
   Stato sviluppo moduli




                                    25
Novità
   Progetto in corso da mesi (open governance)
   Prima pubblicazione: 12 Maggio 2011
   Stati di maturità:
            ACTIVE: sviluppi nuovi e bugfix
            DONE: nessuna nuova feature, bugfix gravi
            DEPRECATED: verranno rimossi/dismessi




                                                         26
ACTIVE
   QtCore
   QtDeclarative
   QtNetwork
   QtScript
   QtWebKit
   Port: Windows, Linux (X11/Lighthouse), Mac OSX Cocoa,
    Symbian, MeeGo
   Cosa manca? :)




                                                        27
DONE
   ActiveQt
   Phonon (esternalizzato => QtMultimediaKit)
   qmake
   Qt Designer
   QGraphicsView (+ QML su QGraphicsView)
   Supporto per la stampa
   Qpainter
   QStyle e stylesheet
   Widgets

                                                 28
DONE
   QtSql
   QtXml
   QtXmlPatterns
   Port: Mac OSX on Carbon, HP-UX, AIX, Solaris, QWS,
    Windows CE
   Static builds




                                                         29
DEPRECATED
   Qt3Support
   Graphic effects framework
   Postscript support
   QPicture
   QSound
   QHttp/QFtp (= QnetworkAccessManager)
   QtSvg (= QtWebkit... +?)




                                           30
Any Questions?




 ?               31
GRAZIE !
                                Develer S.r.l.
                             Via Mugellese 1/A
                         50013 Campi Bisenzio
                                Firenze - Italia




Contatti
Mail: info@develer.com
Phone: +39-055-3984627
Fax: +39 178 6003614
http://www.develer.com

More Related Content

PDF
Qt Platform Abstraction
PDF
Framework per la realizzazione di ria
PDF
Che cosa è il Qt Framework
PDF
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi
PDF
Qt Creator: the secret weapon of any c++ programmer
PDF
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
PDF
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
PDF
Qt Lezione0: uso del C++ per scrivere applicazioni Qt
Qt Platform Abstraction
Framework per la realizzazione di ria
Che cosa è il Qt Framework
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi
Qt Creator: the secret weapon of any c++ programmer
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Qt Lezione0: uso del C++ per scrivere applicazioni Qt

Similar to Qt roadmap: the future of Qt (20)

PDF
Hybrid development using Qt webkit
PDF
Develer - Qt Embedded - Introduzione
PDF
Develer - Qt Embedded - Intro
PDF
Qt Mobile: Sviluppo mobile con Python e Qt Framework
PDF
Qt mobile PySide bindings
ODP
Ubuntu Touch: Sviluppo App e Convergenza
PDF
Qt 4.5.3 con Visual C++ Express 2008 (edizione gratuita!)
PDF
Installazione Qt 4.5.3 per Ms Windows
PDF
Ubuntu Phone: the community smartphone
PDF
Installazione Eclipse Cdt Per Qt
PDF
Qtday Introduzione a qt quick
PDF
Qt Lezione1: Creare una dialog Window con Qt Creator in 10 semplici passi
PDF
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
PPT
8. Architetture web
PDF
Qt Quick for dynamic UI development
PDF
Installazione Qt/Qt Quick per target Android
ODP
Mobile platforms development overview
PPSX
Glossario tecnologico 2011
PDF
MonoTouch, un anno dopo
KEY
Node.js – Convincing the boss
Hybrid development using Qt webkit
Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Intro
Qt Mobile: Sviluppo mobile con Python e Qt Framework
Qt mobile PySide bindings
Ubuntu Touch: Sviluppo App e Convergenza
Qt 4.5.3 con Visual C++ Express 2008 (edizione gratuita!)
Installazione Qt 4.5.3 per Ms Windows
Ubuntu Phone: the community smartphone
Installazione Eclipse Cdt Per Qt
Qtday Introduzione a qt quick
Qt Lezione1: Creare una dialog Window con Qt Creator in 10 semplici passi
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
8. Architetture web
Qt Quick for dynamic UI development
Installazione Qt/Qt Quick per target Android
Mobile platforms development overview
Glossario tecnologico 2011
MonoTouch, un anno dopo
Node.js – Convincing the boss
Ad

More from Develer S.r.l. (16)

PDF
Sw libero rf
PDF
Engagement small
PDF
Farepipi
PDF
Cloud computing, in practice ~ develer workshop
PDF
Workshop su Android Kernel Hacking
PDF
BeRTOS Embedded Survey Summary 2011
PDF
Qt Quick in depth
PDF
Qt licensing: making the right choice
PDF
Qt everywhere a c++ abstraction platform
PDF
PyQt: rapid application development
PDF
Smashing the bottleneck: Qt application profiling
PDF
Crossing the border with Qt: the i18n system
PDF
BeRTOS: Sistema Real Time Embedded Free
PDF
BeRTOS: Free Embedded RTOS
PDF
Develer - Company Profile
PDF
Bettersoftware Feedback 2009
Sw libero rf
Engagement small
Farepipi
Cloud computing, in practice ~ develer workshop
Workshop su Android Kernel Hacking
BeRTOS Embedded Survey Summary 2011
Qt Quick in depth
Qt licensing: making the right choice
Qt everywhere a c++ abstraction platform
PyQt: rapid application development
Smashing the bottleneck: Qt application profiling
Crossing the border with Qt: the i18n system
BeRTOS: Sistema Real Time Embedded Free
BeRTOS: Free Embedded RTOS
Develer - Company Profile
Bettersoftware Feedback 2009
Ad

Qt roadmap: the future of Qt

  • 1. Qt Roadmap: the future of Qt Giovanni Bajo (rasky@develer.com)
  • 2. Sommario  Nokia, Microsoft e Digia  Feature highlight per il 2011  Qt 5.0  Stato sviluppo moduli 2
  • 3. Accordo con Microsoft  Accordo preso dal CdA  Smartphone fascia alta: WP7  Symbian: 18-24 mesi di vita (150 milioni di device con accesso ad Ovi store)  MeeGo: 1 SKU  Qt Department: nessun licenziamento (BU: Mobile Solutions...) 3
  • 4. Open Governance  Progetto “Open Governance” da ~10 mesi  “Processo Libero” vs “Codice Libero”  Contribuzioni più facili e maintainer esterni  Nokia rimane leader dello sviluppo  In generale: “community driven” 4
  • 5. Focus di Nokia  Sviluppo di Qt  Creazione e ampliamento community Qt  Qt Developer Network  Sponsorizzazioni  Relazioni con sviluppatori  Qt Developer Meeting  Licenza GPL/LGPL: utilizzo gratuito di Qt 5
  • 6. Digia e le licenze  Digia: Qt Alliance Partner (qt.digia.com)  Discussioni tra Nokia e Digia già in corso dall'anno scorso  Digia ha rilevato:  Business licenza commerciale  Business pacchetti supporto  Portafoglio clienti  Sales dept 6
  • 7. Focus di Digia  Supporto ai clienti con licenze commerciali  Supporto per versioni di Qt ufficialmente obsolete.  Supporto per piattaforme obsolete/nicchia.  In generale, “commercial driven” 7
  • 8. Sommario  Nokia, Microsoft e Digia  Feature highlight per il 2011  Qt 5.0  Stato sviluppo moduli 8
  • 9. Project Lighthouse  Platform abstraction layer di QtGui  Facilità porting su nuove piattaforme  Integrazione con windowing system nativo  Ottima news per il mondo embedded 9
  • 10. QML: Scene Graph QML QML QGraphicsView QPainter Scene Graph OpenGL 2.0 Paint Engine OpenGL 2.0 ES OpenGL 2.0 ES 10
  • 12. Qt Quick tooling  Supporto per Qt Quick Components  Debugging misto QML/C++ (già in Qt Creator 2.2)  Runtime property changes  … e molto altro in arrivo in Qt Creator 2.3 12
  • 13. Qt WebKit  Modulo indipendente  Supporto multiprocess (WebKit 2)  Feature più nuove HTML5/CSS3 (web workers, web sockets, ecc.)  Touch & gestures 13
  • 14. Qt/3D  Esperimenti di API 3D  Caricamento mesh, animazioni  Effetti 3D  Integrazione completa Qt Quick 14
  • 15. Altri progetti R&D  Rendering in multithreading con OpenGL  Miglioramenti performance :  File I/O (riscrittura?)  Threading, Sockets, HTTP engine  C++11 15
  • 16. Sommario  Nokia, Microsoft e Digia  Feature highlight per il 2011  Qt 5.0  Stato sviluppo moduli 16
  • 17. Perché Qt 5  Qt 4: progetto Giugno 2004, rilascio Giugno 2005  Cosa è cambiato da allora?  Dispositivi mobili / connected devices  UI fluide  Web  Qt si è aggiornata in ampiezza, ma non in profondità  E' necessario un cambio più profondo  ETA: Q2 2012 17
  • 18. Visione  Focus su QtQuick / QML come paradigma più moderno per sviluppare UI  Focus su JavaScript come linguaggio di prototipizzazione/realizzazione GUI e business logic  Qt/C++ e Widget sempre disponibili in Qt 5  C++ sempre più come linguaggio di backend (moduli performance-critical, librerie, ecc.) 18
  • 19. Obiettivi Qt 5  Migliorare uso GPU  Creazione semplificata UI  Network transparency & embedding di servizi web  Semplificazione porting  Porting semplificato da Qt 4 (no BC)  Sviluppo tramite open governance 19
  • 20. Graphic Stack  Qt Quick & Scenegraph al centro di tutto  Qt richiederà OpenGL ES 2.0 (ANGLE se necessario)  Disegno ottimizzato, rendering vsync-based  QPainter sarà API di secondo livello  Utilizzo per rendering offscreen (raster/ogl)  Utilizzo per rendering dei classic widget 20
  • 21. Graphic Stack Qt Components WebKit QWidget QML QtGuiCore Scene Graph QPainter OpenGL surface Lighthouse 21
  • 22. Porting semplificato  Ligthouse come unica API di porting  Primi port di Qt 5: Windows, Linux/Wayland, Mac Cocoa  Supportare dispositivi multipli sarà sempre più importante 22
  • 23. Widgets modularizzati  QtGui non conterrà più widget  Nuovo modulo: QtWidgets  Focus su Qt Quick  Qt Quick Components come bridge tra i mondi 23
  • 24. Altre modifiche in Qt 5  QtScript basato su V8 (invece di JSC)  Uso di Webkit2 (multi process / sandbox)  Merge QtNetwork in QtCore  Isolamento di WebKit da QWidget 24
  • 25. Sommario  Nokia, Microsoft e Digia  Feature highlight per il 2011  Qt 5.0  Stato sviluppo moduli 25
  • 26. Novità  Progetto in corso da mesi (open governance)  Prima pubblicazione: 12 Maggio 2011  Stati di maturità:  ACTIVE: sviluppi nuovi e bugfix  DONE: nessuna nuova feature, bugfix gravi  DEPRECATED: verranno rimossi/dismessi 26
  • 27. ACTIVE  QtCore  QtDeclarative  QtNetwork  QtScript  QtWebKit  Port: Windows, Linux (X11/Lighthouse), Mac OSX Cocoa, Symbian, MeeGo  Cosa manca? :) 27
  • 28. DONE  ActiveQt  Phonon (esternalizzato => QtMultimediaKit)  qmake  Qt Designer  QGraphicsView (+ QML su QGraphicsView)  Supporto per la stampa  Qpainter  QStyle e stylesheet  Widgets 28
  • 29. DONE  QtSql  QtXml  QtXmlPatterns  Port: Mac OSX on Carbon, HP-UX, AIX, Solaris, QWS, Windows CE  Static builds 29
  • 30. DEPRECATED  Qt3Support  Graphic effects framework  Postscript support  QPicture  QSound  QHttp/QFtp (= QnetworkAccessManager)  QtSvg (= QtWebkit... +?) 30
  • 32. GRAZIE ! Develer S.r.l. Via Mugellese 1/A 50013 Campi Bisenzio Firenze - Italia Contatti Mail: info@develer.com Phone: +39-055-3984627 Fax: +39 178 6003614 http://www.develer.com