Qt roadmap: the future of Qt

Preview:

DESCRIPTION

Qt roadmap: the future of Qt

Citation preview

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

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

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”

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

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

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”

8

Sommario Nokia, Microsoft e Digia

Feature highlight per il 2011

Qt 5.0

Stato sviluppo moduli

9

Project Lighthouse Platform abstraction layer di QtGui

Facilità porting su nuove piattaforme

Integrazione con windowing system nativo

Ottima news per il mondo embedded

10

QML: Scene Graph

QML

QGraphicsView

QPainter

OpenGL 2.0Paint Engine

OpenGL 2.0 ES

QML

Scene Graph

OpenGL 2.0 ES

11

Qt Quick Components

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

13

Qt WebKit Modulo indipendente

Supporto multiprocess (WebKit 2)

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

Touch & gestures

14

Qt/3D Esperimenti di API 3D

Caricamento mesh, animazioni

Effetti 3D

Integrazione completa Qt Quick

15

Altri progetti R&D

Rendering in multithreading con OpenGL

Miglioramenti performance :

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

C++11

16

Sommario Nokia, Microsoft e Digia

Feature highlight per il 2011

Qt 5.0

Stato sviluppo moduli

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

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

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

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

21

QtGuiCore

Graphic Stack

WebKitQML

Qt ComponentsQWidget

OpenGL surface

QPainterScene Graph

Lighthouse

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

23

Widgets modularizzati

QtGui non conterrà più widget

Nuovo modulo: QtWidgets

Focus su Qt Quick

Qt Quick Components come bridge tra i mondi

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

25

Sommario Nokia, Microsoft e Digia

Feature highlight per il 2011

Qt 5.0

Stato sviluppo moduli

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

27

ACTIVE QtCore

QtDeclarative

QtNetwork

QtScript

QtWebKit

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

Cosa manca? :)

28

DONE ActiveQt

Phonon (esternalizzato => QtMultimediaKit)

qmake

Qt Designer

QGraphicsView (+ QML su QGraphicsView)

Supporto per la stampa

Qpainter

QStyle e stylesheet

Widgets

29

DONE QtSql

QtXml

QtXmlPatterns

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

Static builds

30

DEPRECATED Qt3Support

Graphic effects framework

Postscript support

QPicture

QSound

QHttp/QFtp (= QnetworkAccessManager)

QtSvg (= QtWebkit... +?)

31

Any Questions?

??

GRAZIE !GRAZIE !

Contatti

Mail: info@develer.com

Phone: +39-055-3984627

Fax: +39 178 6003614

http://www.develer.com

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

50013 Campi BisenzioFirenze - Italia