1. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Mediul de programare
multiplatformă Qt
Dragoş Acostăchioaie
http://www.unixinside.org
dragos@unixinside.org
2. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt. Code less. Create more. Deploy everywhere
✗ Qt facilitează dezvoltarea de aplicații C++ si interfete utilizator independente de platformă
✗ sunt suportate o largă varietate de platforme hardware și software, de tip desktop, mobile
şi embedded
✗ Qt suportă platformele:
✗ Linux/X11, dar şi alte UNIX flavours (ex FreeBSD, Solaris, HP-UX, AIX)
✗ MacOS
✗ Windows
✗ Embedded Linux
✗ Symbian OS (Qt este SDK standard pentru Symbian OS incepand cu 2010)
✗ Windows CE
✗ Maemo, MeeGo
✗ Qt suportă mediile integrate:
✗ Qt Creator
✗ Eclipse
✗ Microsoft Visual Studio
✗ Qt poate interactiona cu alte limbaje, cum ar fi Java (Qt Jambi), precum si cu limbaje de
scripting, cum ar fi QML, JavaScript sau Phyton
Dragoş Acostăchioaie - http://www.unixinside.org
3. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt. Code less. Create more. Deploy everywhere
✗ un singur cod sursă funcţionează fără modificări pe platforme diferite
(write once, run everywhere – vezi şi paradigma de portare a soluţiilor FOSS)
✗ performanţe superioare faţă de limbajele care rulează într-o maşină virtuală (Java),
fiindcă codul binar se execută nativ, rezultând un consum semnificativ mai redus de
resurse
✗ utilizează sistemul grafic al sistemului de operare pe care rulează; astfel, aplicaţiile au
aspectul şi comportamentul nativ al sistemului gazdă
✗ trecerea de la un sistem de operare la altul nu necesită modificări ale codului sursă, ci
doar compilarea acestuia pe fiecare platformă în parte (dacă nu s-au folosit
functionalităţi/biblioteci specifice)
✗ asigură codul sursă împotriva schimbărilor viitoare ale platformelor gazdă (la nivel
sursă sau binar; dezvoltatorii se pot astfel concentra pe dezvoltarea aplicaţiilor, nu pe
modificările API-ului
✗ pot fi atinse mai uşor pieţe multiple (dedicate diferitelor sisteme de operare)
✗ costuri mai mici de mentenanţă a codului
Dragoş Acostăchioaie - http://www.unixinside.org
4. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Biblioteca Qt
Biblioteca de clase Qt cuprinde (non-exhaustiv):
✗ interfaţă utilizator - QtGui
✗ grafică 2D
✗ grafică 3D cu OpenGL
✗ fire de execuţie multiple
✗ sistem de ferestre pentru sisteme mobile/embedded
✗ comunicaţie intre obiecte
✗ suport pentru stream-uri multimedia
✗ integrare a sistemului WebKit
✗ comunicaţii de reţea
✗ procesare XML
✗ acces la baze de date relaţionale
✗ clase template
✗ motor de scripturi ECMA
Dragoş Acostăchioaie - http://www.unixinside.org
5. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt. Instrumente pentru dezvoltare
✗ Qt Creator – mediu integrat de dezvoltare
✗ editor de cod C++ şi JavaScript
✗ instrumente pentru gestiunea proiectelor
✗ sistem de ajutor contextual integrat
✗ depanator (bazat pe GDB)
✗ proiectarea interfeţei utilizator
✗ controlul versiunilor
✗ instrumente pentru gestiunea codului sursă
suport pentru platformele desktop şi cele mobile/embedded
✗ Qt Designer – proiectarea interfeţei utilizator
✗ Qt Linguist – facilitează traducerea aplicaţiilor în mai multe limbi
✗ Qt Assistant – ajută la realizarea documentaţiei pentru aplicaţiile Qt
✗ Virtual Framebuffer – permite dezvoltarea şi depanarea aplicaţiilor embedded pe desktop
✗ instrumente ce asigură integrarea cu IDE-urile Microsoft Visual Studio şi Eclipse
Dragoş Acostăchioaie - http://www.unixinside.org
6. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt Quick
✗ Sistem integrat pentru proiectarea interfetei grafice:
✗ Qt Creator – mediu integrat de dezvoltare (permite editarea QML, proiectarea
elementelor interfetei, simularea interfeţei pentru dispozitive mobile – QML Viewer)
✗ QML – limbajul de marcare utilizat de Qt Quick, pentru a descrie interfata utilizator
(asemanator CSS si Javascript), independent de platforma
✗ Qt Quick UI Runtime – acces direct la API-urile native
✗ plugin-uri pentru Adobe Photoshop si GIMP pentru a exporta elemente de interfata
in QML
import QtQuick 1.0
Rectangle {
id: page
width: 500; height: 200
color: "lightgray"
Text {
id: helloText
text: "Hello world!"
y: 30
anchors.horizontalCenter: page.horizontalCenter
font.pointSize: 24; font.bold: true
}
}
Dragoş Acostăchioaie - http://www.unixinside.org
7. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt. Licenţe de utilizare
Qt Commercial GNU LGPL v2.1 GNU GPL v3.0
Developer License
Cost de licenţiere Taxă de licenţiere Fără costuri Fără costuri
(de la ~3000 $)
Trebuie furnizate Nu Trebuie furnizat Trebuie furnizat
modificările codului codul sursă codul sursă
sursă Qt
Pot fi realizate aplicaţii Da Da, în concordanţă Nu, aplicaţiile sunt
proprietare cu termenii LGPL sub licenţă GPL şi
trebuie furnizat codul
sursă
Sunt furnizate Da, sunt trimise Da Da
actualizări imediat notificări
celor care au
contract de suport
Este furnizat suport Da, celor cu contract Disponibil contra Disponibil contra
tehnic încheiat cost cost
Taxă pentru Pentru unele Nu Nu
executabile platforme embedded
Dragoş Acostăchioaie - http://www.unixinside.org
8. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Aplicaţii care utilizează Qt
✗ peste 450.000 de dezvoltatori care utilizează Qt
✗ mediul desktop KDE şi majoritatea aplicaţiilor KDE (KOffice, Amarok etc.)
✗ Skype
✗ Google Earth
✗ VLC
✗ Walt Disney Animation Studios
✗ Next Limit Technologies (grafica 3D şi efecte vizuale, aplicaţii CAD)
✗ Marble (hărţi)
✗ Avogadro (editor molecular)
✗ Deutsche Flugsicherung GmbH
✗ xTuple ERP
✗ numeroase companii: Nokia, Asus, Philips, Volvo, Samsung, Sony, Panasonic, Motorola,
Accton, Sharp
Dragoş Acostăchioaie - http://www.unixinside.org
9. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Dispozitive care utilizează Qt
✗ telefoane mobile, palmtop, media playere, dispozitive dedicate, …
✗ Motorola: MOTOROKR Z6, E6 si E2, MOTOMING A1200, A680, E680, A780, A760, A768
✗ Sony Mylo (PDA)
✗ Panasonic KX-WP1050 (telefoane WiFi pentru Skype)
✗ Accton (telefoane WiFi pentru Skype)
✗ ZTE U980 (telefoane mobile)
✗ Archos PMA400, 404, 604, 604WiFi (playere multimedia)
✗ Fluke Networks EtherScope series II (tester de retea)
✗ Sharp SL-5500, SL-A300, SL-C700, SL-C750, SL-5600, SL-C760, SL-6000, SL-C860
(PDA)
✗ Volvo Human-Machine Interface for buses, alte aplicaţii de tip Automotive Infotainment
✗ SDG systems TDS Recon (PDA)
✗ Samsung Techwin SRD-16700 (player multimedia)
✗ Quanta Computer videophone YE7
✗ digitalCube i-Station T43 (media player portabil)
✗ Nokia N8, N9, alte telefoane mobile bazate pe Symbian OS
✗ Asus Eee PC, Eee Note EA800; Asus DR-950 e-Reader
✗ Barco (proiectoare de film digitale)
Dragoş Acostăchioaie - http://www.unixinside.org
10. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Scurt istoric
✗ 1994 – este lansată prima versiune Qt, de către Trolltech (Norvegia)
✗28 iunie 2005 – Qt versiunea 4 (reprezintă un progres considerabil faţă de versiunile
anterioare)
✗iunie 2008 – Trolltech este cumpărat de Nokia (progres considerabil în dezvoltarea Qt pe
platforme mobile)
✗ 2011 – Digia (Finlanda) cumpără afacerea cu licenţe comerciale Qt dela Nokia
✗2012 – este în curs de finalizare achiziţia de către Digia a întregii tehnologii şi afaceri Qt
dela Nokia
✗în acest moment – zeci de mii de aplicaţii (comerciale sau open-source) sunt bazate pe
Qt
✗ peste 15 milioane de dispozitive mobile care folosesc Qt aflate pe piaţă
Dragoş Acostăchioaie - http://www.unixinside.org
11. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Biblioteca Qt. Module
Biblioteca Qt are la bază o structură modulară:
✗ QtCore ✗ QtOpenGL
✗ QtGui ✗ QtOpenVG
✗ QtMultimedia ✗ QtXmlPatterns
✗ QtNetwork ✗ Phonon
✗ QtOpenGL
✗ QtScript
✗ QtSql
✗ QtXml
✗ QtWebKit
Dragoş Acostăchioaie - http://www.unixinside.org
12. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulul QtCore
✗ operații citire-scriere
✗ manipularea obiectelor şi a evenimentelor
✗ fire de execuție multiple
✗ suport pentru plugin-uri
✗ comunicarea între obiecte, cu ajutorul semnalelor şi al slot-urilor
✗include numeroase clase template proprii: clase container, clase iterator
(stil STL sau Java), etc.
Dragoş Acostăchioaie - http://www.unixinside.org
13. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt. Semnale şi sloturi
✗ alternativă eficientă la sistemul clasic de comunicare între obiecte (event
listeners)
✗sloturile sunt funcţii membre ale claselor (derivate din QObject), care
sunt apelate ca răspuns la un anumit semnal
✗ există un set de semnale şi sloturi predefinite
✗un semnal poate fi conectat la mai multe sloturi, un slot la mai multe
semnale sau un semnal la alt semnal
✗ atunci cand se petrece un eveniment se emite un semnal
Dragoş Acostăchioaie - http://www.unixinside.org
14. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt. Semnale şi sloturi
Dragoş Acostăchioaie - http://www.unixinside.org
15. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulul QtGui
✗ conţine un set complet de widget-uri configurabile – de la butoane şi
dialoguri până la tabele şi meniuri de tip arbore
✗ widget-urile se redimensionează automat în funcţie de orientarea şi
dimensiunea ecranului sau a ferestrei
✗ sistem de layout-uri şi grid-uri pentru a uşura poziţionarea widget-
urilor
✗ suport pentru fonturi (utilizează fonturile de pe maşina gazdă) şi anti-
aliasing
✗ crearea de stiluri oferite de mecanismul QtStyleSheet (inspirat din
CSS); interfața este ușor configurabilă, cu doar câteva linii de cod
CSS
✗ suport pentru SVG (grafică vectorială scalabilă), grafică accelerată
hardware şi ieşiri video multiple
Dragoş Acostăchioaie - http://www.unixinside.org
16. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulul QtGui
✗ gestiunea şi interacţiunea cu elemente grafice 2D şi un widget pentru
vizualizarea acestor elemente, cu suport pentru rotaţie şi mărire,
transformare în perspectivă, animaţie, drag-and-drop şi suport pentru
tipărire
✗ oferă posibilitatea de a utiliza motoare grafice multiple (nativ, raster,
XRender, OpenGL, Postscript etc.)
✗ oferă suport pentru Unicode şi pentru limbaje bidirecţionale
✗ permite localizarea
aplicaţiei în mai multe limbi
fără recompilarea codului
sursă
✗ suportă OpenVG – API
pentru grafică vectorială
accelerată hardware,
regăsită pe numeroase
dispozitive embedded
Dragoş Acostăchioaie - http://www.unixinside.org
17. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulele QtMultimedia şi Phonon
● QtMultimedia oferă suport la nivel scăzut pentru audio şi video
● arhitectură independentă de platformă (chiar și pe platforme
mobile/embedded) – Phonon, care asigură utilizarea de conținut
audio și video în aplicații
● este posibilă redarea locală sau prin streaming
● abstractizează formatele native multimedia: QuickTime pe Mac,
DirectShow pe Windows și GStreamer pe Linux
● se pot citi meta-informațiile din fișiere (titlul, albumul, artistul etc.)
Dragoş Acostăchioaie - http://www.unixinside.org
18. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulele QtNetwork şi QtDBus
✗ simplifică programarea în rețea
✗ clase de nivel înalt, cum ar fi QHttp sau QFtp, care implementează
protocoalele de la nivelul aplicație
✗ clase de nivel scăzut, cum ar fi QTcpSocket,QTcpServer și
QUdpSocket
✗ suportă HTTP, FTP, DNS și HTTP 1.1 asincron
✗ suport pentru accesarea mai multor tipuri de date, de la HTML și
XML, până la imagini și fișiere media
✗ suport pentru comunicaţia intre procese (IPC) şi apeluri de proceduri
de la distanţă (RPC), prin protocolul D-BUS (doar pentru Linux)
Dragoş Acostăchioaie - http://www.unixinside.org
19. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulul QtOpenGL
✗ OpenGL este o bibliotecă utilă pentru crearea de aplicații portabile cu
grafică accelerată hardware, cu performanță ridicată
✗ include OpenGL ES – un motor de desenare – pentru platformele
Embedded Linux și Windows CE
✗ suportă Direct3D pe Windows
✗ OpenGL oferă puțin suport pentru interfețe cu utilizatorul, dar Qt face
posibilă îmbinarea conținutului OpenGL cu acestea
✗ uşurează programarea utilizând OpenGL
✗ oferă un widget special, care se comportă ca şi celelalte widget-uri
dar foloseşte OpenGL
Dragoş Acostăchioaie - http://www.unixinside.org
20. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulul QtScript
✗ Qt include un motor de
scripturi ECMA, bazat pe
JavaScriptCore
✗ face posibilă integrarea
obiectelor Qt (derivate din
QObject) şi utilizarea
sistemului de semnale şi sloturi
în scripturi, deci integrarea
între C++ şi scripturi
✗ include un depanator pentru
scripturi Qt, deci poate raporta
erorile din scripturi şi poate
ajuta la localizarea acestora
Dragoş Acostăchioaie - http://www.unixinside.org
21. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulul QtSql
✗ oferă conectivitate cu cele mai importante sisteme de baze de date
relaţionale
✗ suportă ODBC, MySQL, PostgreSQL, SQLite, ibase, Oracle,
Sysbase, DB2 (drivere modulare)
✗ oferă o interfaţă independentă de sistemul de baze de date utilizat,
asigurând o bună portabilitate
✗ se poate folosi împreună cu modelul de programare Model-View-
Controller
Dragoş Acostăchioaie - http://www.unixinside.org
22. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Arhitectura Model-View-Controller
✗ arhitectura Model-View-Controller este
folosită pentru afişarea şi manipularea datelor
provenite din orice sursă (inclusiv SQL)
✗ gestionează relaţia dintre informaţii şi modul
de afişare a acestora
✗ datele pot fi reprezentate vizual în tabele,
liste, liste arborescente, form-uri sau după
dorinţa programatorului
Dragoş Acostăchioaie - http://www.unixinside.org
23. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulele QtXml şi QtXmlPatterns
✗ sistem pentru scrierea şi citirea documentelor XML şi implementări
ale protocoalelor SAX și DOM
✗ include XQuery, un limbaj asemănător SQL, cu ajutorul căruia se
poate parcurge un document XML, din care se pot alege unele
elemente pentru export în alt XML sau în alt format
✗ suportă XPath 2.0, limbajul de transformare XSLT şi validarea
schemelor XML
Dragoş Acostăchioaie - http://www.unixinside.org
24. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Modulul QtWebKit
✗ conține un motor de
browser HTML – WebKit
- care simplifică
includerea de conținut
web în aplicații
✗ suportă HTML, XHTML,
SVG, CSS şi JavaScript
✗ suportă includerea de
fişiere Flash şi elemente
audio sau video
✗ permite conectarea
JavaScript cu obiecte Qt
Dragoş Acostăchioaie - http://www.unixinside.org
25. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt Installer
✗ arhitectură care oferă un set de instrumente şi utilitare pentru
realizarea de sisteme de instalare ale aplicaţiilor
✗ funcţionează pe Linux, MacOS şi Windows şi au aspectul nativ al
platformei utilizate
✗ sistemul de instalare este configurabil, putându-se adăuga noi
widget-uri şi crea scripturi pentru a realiza operaţiuni noi
✗ sistemul de instalare poate fi offline (conţin toate componentele
necesare) sau online (conţinutul poate fi descărcat de pe un server
Web)
✗ oferă şi posibilitate de actualizare ulterioară a conţinutului aplicaţiei
Dragoş Acostăchioaie - http://www.unixinside.org
26. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Mediul integrat de dezvoltare Qt Creator
✗ wizard pentru creare/import proiecte Qt
✗ editor avansat de cod C++/QML/JavaScript
✗Qt Designer pentru proiectarea elementelor
ce compun interfaţa utilizator, integrat
✗ Help Qt integrat
✗sistem de compilare a proiectelor (qmake
şi CMake)
✗ sistem de gestiune a fişierelor din proiect
✗ sisteme de control al versiunilor
✗ depanarea aplicaţiilor
Dragoş Acostăchioaie - http://www.unixinside.org
27. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Mediul integrat de dezvoltare Qt Creator
✗ Wizard pentru proiecte Qt
✗ realizarea de proiecte noi Qt
✗ generează automat proiectul şi fişierele de bază
✗ Editor avansat de cod sursă C++/Javascript
✗ syntax highlighting
✗ completare automată a claselor membre, metodele şi argumentele funcţiilor, pentru
clasele Qt şi cele definite de programator
✗ marcarea automată a erorilor de sintaxă în timpul editării
✗ auto-indentare
✗ posibilitatea de expandare/restrângere a funcţiilor
✗ căutare incrementală a cuvintelor-cheie în timpul editării
✗ comutarea uşoară între declaraţia şi definiţia unei metode
✗ posibilitatea de a face semne de carte în cadrul codului sursă
✗ posibilitatea de a lucra fără mouse şi de a deschide ferestre de editare multiple
Dragoş Acostăchioaie - http://www.unixinside.org
28. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Mediul integrat de dezvoltare Qt Creator
✗ Qt Designer integrat pentru proiectarea elementelor interfeţei utilizator
✗ se bazează pe editarea de form-uri, sunt generate fişiere de tip XML
✗ tehnologie de tip drag-and-drop pentru widget-uri
✗ nu este necesară recompilarea intregului proiect
✗ permite conectarea
semnalelor şi sloturilor
✗ permite definirea acţiunilor
pentru widget-uri
✗ pot fi utilizate layout-urile
pentru a nu defini
dimensiunea şi poziţia
widget-urilor
✗ permite previzualizarea
aspectului form-urilor
Dragoş Acostăchioaie - http://www.unixinside.org
29. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Mediul integrat de dezvoltare Qt Creator
✗ Help pentru biblioteca Qt integrat
✗ poate fi accesat în timpul editării prin poziţionarea pe un cuvânt-cheie
✗ sistem de compilare a proiectului
✗ prin intermediul sistemului qmake propriu Qt sau prin Cmake
✗ sistem de gestiune a fişierelor din proiect
✗ permite localizarea uşoară a unui fişier din proiect după tipul şi numele acestuia
✗ sisteme de control al versiunilor
✗ sunt suportate: Git, Subversion (SVN), CVS şi Perforce
Dragoş Acostăchioaie - http://www.unixinside.org
30. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Mediul integrat de dezvoltare Qt Creator
✗ compilarea şi depanarea aplicatiei
✗ sunt suportate gcc şi gdb, precum si Microsoft Visual Studio compiler/debugger
✗ pot fi stabilite puncte de întrerupere, rula aplicaţia linie-cu-linie sau instrucţiune-cu-
instrucţiune, examina conţinutul variabilelor locale şi globale (variabilele compuse pot
fi vizualizate în formă arborescentă)
✗ compilarea unei aplicaţii pentru dispozitive mobile
✗ permite compilarea şi execuţia unei aplicaţii pentru un anumit tip de dispozitiv mobil
(modulul QTestLib)
✗ Qt Simulator
✗ Permite executia şi testarea aplicaţiei în condiţii similare rulării pe dispozitivul mobil
Dragoş Acostăchioaie - http://www.unixinside.org
31. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Instrumente pentru localizare
✗ Qt Linguist – set de instrumente pentru localizarea aplicaţiilor Qt
✗ aplicaţie dedicată traducerii textelor din elementele de interfaţă, uşor de utilizat
şi de persoanele fără cunostinţe tehnice
✗ suportă Unicode 5.0
✗ pot fi manipulate mai multe limbaje într-un singur document
✗ cuvintele sau frazele sunt introduse în codul sursă într-o limbă prestabilită utilizând
sintaxa tr(“frază de tradus”)
✗ traducerile sunt stocate în fişiere
dedicate, nefiind necesară modificarea
codului sursă
✗ permite şi utilizarea formatelor XLIFF
(XML Localization Interchange File
Format) şi gettext (po)
Dragoş Acostăchioaie - http://www.unixinside.org
32. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Arhitectura Qt Mobility
✗ colecţie de API-uri destinate dispozitivelor mobile/embedded
✗ cuprinde:
✗ Connectivity – facilitează comunicaţia între dispozitive locale
✗ Contacts – transferul de informaţii din agendă între dispozitive locale sau la distanţă
✗ Document Gallery – navigarea prin documente şi obţinerea de meta-informaţii
✗ Feedback – oferă utilizatorilor răspunsuri tactile şi audio
✗ Location API – servicii de localizare, hărţi şi navigare
✗ Messaging – accesul la servicii de mesagerie
✗ Multimedia – navigarea, rularea şi înregistrarea de conţinut media
✗ Organizer – calendar, planificator şi alte date personale
✗ Publish and Subscribe – publicarea de conţinut
✗ Qt Service Framework – permite utilizarea de servicii diverse
✗ Qt Mobility QML Elements – elemente QML pentru dispozitive mobile
✗ Qt Mobility QML Plugins – plugin-uri QML pentru proiectul Qt Mobility
✗ Sensors – acces la senzorii dispozitivelor
✗ System Information – acces la informaţii privind sistemul
Dragoş Acostăchioaie - http://www.unixinside.org
33. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt în viitor
✗ este în curs de dezvoltare Qt versiunea 5 (a fost lansată versiunea alpha)
✗ noutăţi principale:
✗ simplificarea (unificarea) arhitecturii generale a sistemului Qt
✗ îmbunătăţirea portabilităţii Qt
✗ compatibilitate la nivel binar şi sursă cu Qt 4
✗ se va pune accent cu prioritate pe dispozitive mobile/embedded
✗ se va pune accent pe dezvoltarea capabilităţilor grafice 2D şi 3D ale Qt (Qt Quick
2, Qt 3D, Qt Graphical Effects)
✗ dezvoltarea QML, accentul va fi pus pe JavaScript (Qt JS V8, Qt JSON DB, Qt
WebKit 2) şi QML
✗ conectivitate şi cu alte limbaje decât QML, C++ şi JavaScript
Dragoş Acostăchioaie - http://www.unixinside.org
34. Şcoala de vară “Informatică la castel”, Macea, 27 aug.-1 sep. 2012
Qt. În loc de concluzie
Qt – soluţie completă
desktop, mobile, embedded
Dragoş Acostăchioaie - http://www.unixinside.org