+ All Categories
Transcript

Adenilson CavalcantiAdenilson CavalcantiBsc. Msc.Bsc. Msc.

KDE developerKDE developerWebKit contributorWebKit contributor

Effective QMLEffective QMLBest practices for developing with Qt QuickBest practices for developing with Qt Quick

11/19/12 2

Presentation structure

The case for QML

How to train yourself or a team

Overview on QML

Good practices

Advanced techniques

11/19/12 3

What is this Q-Whatchamacallit?

* http://en.wikpedia.org/wiki/QML

Qt Meta Language (QML)*Declarative vs Imperative

11/19/12 4

A case study: QML x QGV*

Requirements: 1 top bar1 lower barscrolling kinetic list in the centerre-scalable

*QGV stands for QGraphicsView

11/19/12 5

QGV vs QML: are different, but can solve similar problems.

A case study: QML x QGV

11/19/12 6

Which one will be more verbose?

Which one will be faster to develop?

A case study: QML x QGV

11/19/12 7

Results

A case study: QML x QGV

QGV QML0

200

400

600

800

1000

1200

1400

1600

LOC

Line

s of

cod

e

11/19/12 9

A difference of almost 1000% in development timeQGV: 1 ½ day (8-10 hours)*QML: 1 hour (+ 30 minutes for minor adjustments)

A case study: QML x QGV

*Assuming a ready to use KineticScrolling list and a basic Button

11/19/12 10

Question: if you start a new project today, which one will be done earlier?

A case study: QML x QGV

11/19/12 11

Managers x designers x developers

QML: what it means for...

11/19/12 12

Should I put C++ out of the equation?

Porto de Galinhas (Pernambuco) - Brazil

11/19/12 13

Relevant questionsComplexityFunctionalityTeam

QML and C++

11/19/12 14

What about QWidgets?

11/19/12 15

How many QWidgets?

11/19/12 16

Relevant questionsWhat your app need?Desktop x TouchscreenAnimations?Designer assets?

96 Widgets! Not counting all KDE widget or Qt add-ons...

11/19/12 17

Right tool to the right job

DevDays@California - 2008

11/19/12 18

Trainment

How to become QML-proficient?

11/19/12 19

Trainment

If you are a student

Yeah, Matrix.

11/19/12 20

Trainment

Students: use the power of Opensource!Great online documentationQt is opensourceKDEgSoC

11/19/12 21

Trainment

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

Relax time...

Ilha Bela (Sao Paulo) - Brazil

11/19/12 23

Trainment

If you are a professional/manager

11/19/12 24

Trainment

Qt has a real ecosystemICS (USA based)KDAB (Europe)Digia (owned Trolltech)Collabora (ninja-ish guys)

11/19/12 25

Services

If you need it today!!!11!

Must have Star Wars reference

11/19/12 26

QML: 101

QML elementsVisual: 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, etc

11/19/12 27

We lack time to cover it all...

QML: 101

11/19/12 28

The end?

11/19/12 29

The end?

Not really...

11/19/12 30

To be continued...


Top Related