Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Effective QMLBest practices for developing with Qt Quick                                          Adenilson Cavalcanti    ...
Presentation structure    The case for QML    How to train yourself or a team    Overview on QML    Good practices    Adva...
What is this Q-Whatchamacallit?    Qt Meta Language (QML)*    Declarative vs Imperative                                   ...
A case study: QML x QGV*    Requirements:    1 top bar    1 lower bar    scrolling kinetic list in the center    re-scalab...
A case study: QML x QGV    QGV vs QML: are different, but can solve similar    problems.11/19/12                          ...
A case study: QML x QGV    Which one will be more verbose?    Which one will be faster to develop?11/19/12                ...
A case study: QML x QGV    Results                           1600                           1400                          ...
A case study: QML x QGVA difference of almost 1000% in development time  QGV: 1 ½ day (8-10 hours)*  QML: 1 hour (+ 30 min...
A case study: QML x QGV    Question: if you start a new project today, which    one will be done earlier?11/19/12         ...
QML: what it means for...    Managers x designers x developers11/19/12                                            11
Should I put C++ out of the equation?                            Porto de Galinhas (Pernambuco) - Brazil11/19/12          ...
QML and C++Relevant questions  Complexity  Functionality  Team11/19/12                       13
What about QWidgets?11/19/12                      14
How many QWidgets?11/19/12                    15
96 Widgets! Not counting all KDE widget or Qt add-ons...Relevant questions  What your app need?  Desktop x Touchscreen  An...
Right tool to the right job                       DevDays@California - 200811/19/12                                      17
Trainment    How to become QML-proficient?11/19/12                                   18
Trainment    If you are a student                              Yeah, Matrix.11/19/12                                 19
TrainmentStudents: use the power of Opensource!  Great online documentation  Qt is opensource  KDE  gSoC11/19/12          ...
TrainmentLessons for students:  Making mistakes is part of learning process    The one who make more points is also the on...
Relax time...           Ilha Bela (Sao Paulo) - Brazil11/19/12                               22
Trainment    If you are a professional/manager11/19/12                                       23
TrainmentQt has a real ecosystem  ICS (USA based)  KDAB (Europe)  Digia (owned Trolltech)  Collabora (ninja-ish guys)11/19...
Services    If you need it today!!!11!                                 Must have Star Wars reference11/19/12              ...
QML: 101QML elements Visual: Rectangle, Image, BorderImage, Text, TextEdit, TextInput,    AnimatedImage, Gradient    Posit...
QML: 101    We lack time to cover it all...11/19/12                                     27
The end?11/19/12              28
The end?           Not really...11/19/12                          29
To be continued...11/19/12                        30
Upcoming SlideShare
Loading in …5
×

Adenilson cavalcanti devdays12_part1

808 views

Published on

Qt DevDays 2012@Berlin talk: "Effective QML - part1"

  • Be the first to comment

  • Be the first to like this

Adenilson cavalcanti devdays12_part1

  1. 1. Effective QMLBest practices for developing with Qt Quick Adenilson Cavalcanti Bsc. Msc. KDE developer WebKit contributor
  2. 2. Presentation structure The case for QML How to train yourself or a team Overview on QML Good practices Advanced techniques11/19/12 2
  3. 3. What is this Q-Whatchamacallit? Qt Meta Language (QML)* Declarative vs Imperative * http://en.wikpedia.org/wiki/QML11/19/12 3
  4. 4. A case study: QML x QGV* Requirements: 1 top bar 1 lower bar scrolling kinetic list in the center re-scalable *QGV stands for QGraphicsView11/19/12 4
  5. 5. A case study: QML x QGV QGV vs QML: are different, but can solve similar problems.11/19/12 5
  6. 6. A case study: QML x QGV Which one will be more verbose? Which one will be faster to develop?11/19/12 6
  7. 7. A case study: QML x QGV Results 1600 1400 1200 1000 Lines of code 800 LOC 600 400 200 0 QGV QML11/19/12 7
  8. 8. A case study: QML x QGVA difference of almost 1000% in development time QGV: 1 ½ day (8-10 hours)* QML: 1 hour (+ 30 minutes for minor adjustments) *Assuming a ready to use KineticScrolling list and a basic Button11/19/12 9
  9. 9. A case study: QML x QGV Question: if you start a new project today, which one will be done earlier?11/19/12 10
  10. 10. QML: what it means for... Managers x designers x developers11/19/12 11
  11. 11. Should I put C++ out of the equation? Porto de Galinhas (Pernambuco) - Brazil11/19/12 12
  12. 12. QML and C++Relevant questions Complexity Functionality Team11/19/12 13
  13. 13. What about QWidgets?11/19/12 14
  14. 14. How many QWidgets?11/19/12 15
  15. 15. 96 Widgets! Not counting all KDE widget or Qt add-ons...Relevant questions What your app need? Desktop x Touchscreen Animations? Designer assets?11/19/12 16
  16. 16. Right tool to the right job DevDays@California - 200811/19/12 17
  17. 17. Trainment How to become QML-proficient?11/19/12 18
  18. 18. Trainment If you are a student Yeah, Matrix.11/19/12 19
  19. 19. TrainmentStudents: use the power of Opensource! Great online documentation Qt is opensource KDE gSoC11/19/12 20
  20. 20. TrainmentLessons for students: Making mistakes is part of learning process The one who make more points is also the one who makes more mistakes While learning, look for the best!11/19/12 21
  21. 21. Relax time... Ilha Bela (Sao Paulo) - Brazil11/19/12 22
  22. 22. Trainment If you are a professional/manager11/19/12 23
  23. 23. TrainmentQt has a real ecosystem ICS (USA based) KDAB (Europe) Digia (owned Trolltech) Collabora (ninja-ish guys)11/19/12 24
  24. 24. Services If you need it today!!!11! Must have Star Wars reference11/19/12 25
  25. 25. QML: 101QML elements Visual: Rectangle, Image, BorderImage, Text, TextEdit, TextInput, AnimatedImage, Gradient Positioner/Repeater: Column, Row, Grid, Flow, Repeater Views: ListView, GridView, PathView Utilities: Connection, Loader, Timer, WorkerScript, Path(Line/Quad/Cubic/Attribute/etc) Animations: Property, Number, Vector3d, Color, Rotation, Parent, Anchor Models: ListModel, ListElement, XmlListModel, etc11/19/12 26
  26. 26. QML: 101 We lack time to cover it all...11/19/12 27
  27. 27. The end?11/19/12 28
  28. 28. The end? Not really...11/19/12 29
  29. 29. To be continued...11/19/12 30

×