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
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