32
Qt Roadmap: the future of Qt Giovanni Bajo ([email protected])

Qt roadmap: the future of Qt

Embed Size (px)

DESCRIPTION

Qt roadmap: the future of Qt

Citation preview

Page 1: Qt roadmap: the future of Qt

Qt Roadmap:the future of Qt

Giovanni Bajo([email protected])

Page 2: Qt roadmap: the future of Qt

2

Sommario Nokia, Microsoft e Digia

Feature highlight per il 2011

Qt 5.0

Stato sviluppo moduli

Page 3: Qt roadmap: the future of Qt

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

Page 4: Qt roadmap: the future of Qt

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”

Page 5: Qt roadmap: the future of Qt

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

Page 6: Qt roadmap: the future of Qt

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

Page 7: Qt roadmap: the future of Qt

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”

Page 8: Qt roadmap: the future of Qt

8

Sommario Nokia, Microsoft e Digia

Feature highlight per il 2011

Qt 5.0

Stato sviluppo moduli

Page 9: Qt roadmap: the future of Qt

9

Project Lighthouse Platform abstraction layer di QtGui

Facilità porting su nuove piattaforme

Integrazione con windowing system nativo

Ottima news per il mondo embedded

Page 10: Qt roadmap: the future of Qt

10

QML: Scene Graph

QML

QGraphicsView

QPainter

OpenGL 2.0Paint Engine

OpenGL 2.0 ES

QML

Scene Graph

OpenGL 2.0 ES

Page 11: Qt roadmap: the future of Qt

11

Qt Quick Components

Page 12: Qt roadmap: the future of Qt

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

Page 13: Qt roadmap: the future of Qt

13

Qt WebKit Modulo indipendente

Supporto multiprocess (WebKit 2)

Feature più nuove HTML5/CSS3 (web workers, web sockets, ecc.)

Touch & gestures

Page 14: Qt roadmap: the future of Qt

14

Qt/3D Esperimenti di API 3D

Caricamento mesh, animazioni

Effetti 3D

Integrazione completa Qt Quick

Page 15: Qt roadmap: the future of Qt

15

Altri progetti R&D

Rendering in multithreading con OpenGL

Miglioramenti performance :

File I/O (riscrittura?) Threading, Sockets, HTTP engine

C++11

Page 16: Qt roadmap: the future of Qt

16

Sommario Nokia, Microsoft e Digia

Feature highlight per il 2011

Qt 5.0

Stato sviluppo moduli

Page 17: Qt roadmap: the future of Qt

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

Page 18: Qt roadmap: the future of Qt

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

Page 19: Qt roadmap: the future of Qt

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

Page 20: Qt roadmap: the future of Qt

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

Page 21: Qt roadmap: the future of Qt

21

QtGuiCore

Graphic Stack

WebKitQML

Qt ComponentsQWidget

OpenGL surface

QPainterScene Graph

Lighthouse

Page 22: Qt roadmap: the future of Qt

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

Page 23: Qt roadmap: the future of Qt

23

Widgets modularizzati

QtGui non conterrà più widget

Nuovo modulo: QtWidgets

Focus su Qt Quick

Qt Quick Components come bridge tra i mondi

Page 24: Qt roadmap: the future of Qt

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

Page 25: Qt roadmap: the future of Qt

25

Sommario Nokia, Microsoft e Digia

Feature highlight per il 2011

Qt 5.0

Stato sviluppo moduli

Page 26: Qt roadmap: the future of Qt

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

Page 27: Qt roadmap: the future of Qt

27

ACTIVE QtCore

QtDeclarative

QtNetwork

QtScript

QtWebKit

Port: Windows, Linux (X11/Lighthouse), Mac OSX Cocoa, Symbian, MeeGo

Cosa manca? :)

Page 28: Qt roadmap: the future of Qt

28

DONE ActiveQt

Phonon (esternalizzato => QtMultimediaKit)

qmake

Qt Designer

QGraphicsView (+ QML su QGraphicsView)

Supporto per la stampa

Qpainter

QStyle e stylesheet

Widgets

Page 29: Qt roadmap: the future of Qt

29

DONE QtSql

QtXml

QtXmlPatterns

Port: Mac OSX on Carbon, HP-UX, AIX, Solaris, QWS, Windows CE

Static builds

Page 30: Qt roadmap: the future of Qt

30

DEPRECATED Qt3Support

Graphic effects framework

Postscript support

QPicture

QSound

QHttp/QFtp (= QnetworkAccessManager)

QtSvg (= QtWebkit... +?)

Page 31: Qt roadmap: the future of Qt

31

Any Questions?

??

Page 32: Qt roadmap: the future of Qt

GRAZIE !GRAZIE !

Contatti

Mail: [email protected]

Phone: +39-055-3984627

Fax: +39 178 6003614

http://www.develer.com

Develer S.r.l.Via Mugellese 1/A

50013 Campi BisenzioFirenze - Italia