80
Qt. Cross platform. But still easy. It wi l l be we ba n d Qt fo r N o k i a . pe kka . kos o n e n @ n o ki a . c om Slides will be available in http://www.slideshare.net/pkosonen

Cutest technology of them all - Forum Nokia Qt Webinar December 2009

  • Upload
    nokia

  • View
    7.349

  • Download
    0

Embed Size (px)

DESCRIPTION

Qt now and in the future - overview of Qt and the plans for Nokia platforms. Newest features of Qt including animation framework, gestures etc. Qt for Symbian and Maemo. Qt Mobility APIs. Hybrid Applications.

Citation preview

Page 1: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt. Cross platform.

But still easy.It will be web and Qt for [email protected]

Slides

will

be

available

in

http://www.slideshare.net/pkosonen

Page 2: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

DesktopOSs

S60 on SymbianPlatform

maemoPlatform

Symbian Linux

Qt Mobility APIs

Native APIs

Qt and Web is the way to go

Qt

Native APIs

Qt UI Extensions

UI

Engine

MobileFeatures

Low

levelNative

accessNative

APIs

85% of use

cases

**

15% of use

cases

**

** Not

based

in any

realiable

statistics

;)

For native

Developers

Web developersWeb Runtime

Page 3: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

3

What is Qt about? •

QuickTime player? Programming language? A platform? Yet another runtime?  •

A new Japanese car model?

Qt is Cross‐platform application framework•

Differentiated user experience across hardware platforms•

Hybrid development: convergence of web and native applications•

Cross‐platform software across desktops and mobile devices. Qt supports major 

desktop OSs

already and will extend it’s reach to Nokia platforms.•

Qt is not a runtime

– no perf

issues or sandbox restrictions. You can stand out with 

your native development skills to fulfill the use cases offered by Qt. 

Qt Mobility APIs will bring in the easy to use APIs for mobile use cases. 

Shorter time to market•

Productive

APIs

and comprehensive

documentation

with

great

examples•

Delivering functionality faster and maximizing efficiency by placing focus on 

innovation

All the great tools offered free of charge ‐

commercial services available as well

Why Qt?

Page 4: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

What is Qt?

Qt is set of C++ libraries …

4

Page 5: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

What is Qt?

… which allows you to design applications …

5

#include <QtGui>

int main(int argc, char *argv[]){

QApplication application(argc, argv);QPushButton hello("Hello world!");hello.show();return application.exec();

}

Page 6: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

What is Qt?... that comes with a UI designer: Qt Designer …

6

Page 7: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

What is Qt?...and an IDE: Qt Creator …

7

Page 8: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

What is Qt?

...that works on all these platforms:

8

Example: Google Earth

on Mac, Windows and Linux

Page 9: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

The new offering is the only

native

mobile dev

environment

to work

on Mac,

Windows and Linux. Develop your

way.

The offering

will

be

based

on Qt, the development

tool

used

to create

applications

such

as Skype, Adobe Photoshop

Elements

and Google

Earth.

The tools

will

allow

developers

to use

Windows, Mac OS X and Linux for their

mobile development

work.

Simplified development - PC, Mac, Linux

Page 10: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Who uses Qt?

10

From embedded devices to 

desktop applications

From embedded devices to 

desktop applications

By companies from 

many industries

By companies from 

many industries

Page 11: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Why use Qt?

11

*

* Original image from: http://diddo‐chan.deviantart.com/

Page 12: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

User experience•New animation framework

•Declarative expression of user interfaces

•Gestures & multitouch

support

User experience•New animation framework

•Declarative expression of user interfaces

•Gestures & multitouch

support

Qt Everywhere•Qt ported to Symbian

S60, Windows 7, Mac OS X 

10.6, Maemo

5, Real‐time OS (QNX, VxWorks)

•Qt applications can be deployed on millions of 

devices

Qt Everywhere•Qt ported to Symbian

S60, Windows 7, Mac OS X 

10.6, Maemo

5, Real‐time OS (QNX, VxWorks)

•Qt applications can be deployed on millions of 

devices

Performance•OpenVG

graphics engine

•Optimizations to resource use 

•Architecture‐specific improvements to ARM devices

Performance•OpenVG

graphics engine

•Optimizations to resource use 

•Architecture‐specific improvements to ARM devices

In research•XML Schema Validation

• Icon theming

ability

•Further embedded and smartphone

improvements

In research•XML Schema Validation

• Icon theming

ability

•Further embedded and smartphone

improvements

Introducing Qt 4.6 and Beyond

12

Page 13: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• Apply graphical effects to graphics items or widgets • Add highlight or accentuation to create visually

appealing user interfaces

• Key features: – Apply effects to any paint device

– Enables effects on both QGraphicsItem

and QWidget

– Extend with your own effects

– Common effects built in …

Colorize, Blur, DropShadow,

Opacity

13 13

New in Qt 4.6: Graphic Effects

Page 14: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• A robust state chart implementation based on Harel

state-charts and SCXML

• Key benefits:

– Simplify application semantics

– Use states to improve maintainability

– Write verifiable application logic

– Makes event-driven programming robust and reusable

14 14

New in Qt 4.6: States and Transitions

Page 15: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• Allow users to create dynamic UIs

• Integrates with States and Transitions

• Key features:

– Animate any QObject

property

– Combine animations in groups

– Use easing curves

– Synchronized timer for better

CPU utilization

15

New in Qt 4.6: Animation API

Page 16: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• Combine sequential touch inputs to a ‘gesture’

• Key benefits

– Allow users to interact with applications in better ways

– Simplify finger-based interaction with UI components

– Allowing common basic gestures …as well as multi-touch gestures

– Enable extensibility

16 16

New in Qt 4.6: Gestures

Page 17: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• As more of Qt and applications built on Qt go 3D, API’s are provided to simplify this

• Key benefits:

– Simplifies creating 3D applications with OpenGL

– API for vertex and fragment Shaders, GLSL/ES

– Math primitives for matrix multiplication, vectors, quaternions

(client-side)

• Future research on

Stencils, vertex buffers and arrays,

texture manipulation, geometry shaders

17

New in Qt 4.6: Qt3D enablers

Page 18: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• Qt includes a rich selection of features for web and hybrid development

– QtWebKit

module: embed web content from servers, local files

or application’s resources into Qt applications, implement user interfaces in web technologies.

– QtWebKit

has a rich API to interact with the web content from

C++, e.g. QWebElement

can be used with the DOM

– QtScript

module: make Qt applications scriptable

– QtXmlPatterns

module: shape and mash up XML data yielding

HTML output

– QNetworkAccessManager: interact with server URL APIs

18

Hybrid Development with Qt 4.6

Page 19: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Weather Info

19

lines of Qt/C++ code?___

Page 20: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Weather Info

20

lines of Qt/C++ code411

Page 21: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Ray Casting

21

lines of Qt/C++ code?___

Page 22: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Ray Casting

22

lines of Qt/C++ code215

Page 23: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Google Chat Client

23

lines of Qt/C++ code?___

Page 24: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Google Chat Client

24

lines of Qt/C++ code140

Page 25: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Start today : you can soon get your Qt app running on more than + 130 000 000

smartphones!

in addition to all major desktop OSs

Page 26: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt Mobility Project – new Qt APIs

•Technology preview -

package of new Qt APIs

•The full release of these APIs is scheduled for 1st half of 2010

•Standard mobile functionality for applications•Evolving all the time!

•Download Tech Preview 2: •http://qt.nokia.com/developer/new-

qt-apis

http://qt.nokia.com/developer/new-qt-apis

Page 27: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Be the “Qtst” –

Forum Nokia Code

CompetitionGrand Prize Winner will receive a trip to the upcoming Nokia 2010 Developer Summit to be held in San Francisco, USA during June 9th

and 10th! Top winners will also be selected to receive nominations as Forum Nokia Champion program as well as getting the coolest Nokia devices free of charge!

For details go to http://wiki.forum.nokia.com/index.php/Qt_Mobility_Contest

Entries to the contest will be open from Dec 7th, 2009 until January 31, 2010.Register

by

latest

30th

of December

2009!

THANK YOU!

Page 28: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Pop the hood. Details of Qt.

Instead of just powerpoint marshmallow…

Page 29: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

What’s in SDK?

29

Licensing Options:

Commercial

LGPLQt Designer

GUI Layout &

Forms Tool

Qt Assistant

Help file/documentation browser

Qt Linguist

Translation/I18n Tool

qmake

Cross‐platform build tool

Qt Development Tools

Qt Libraries

Qt SDK

Page 30: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt Creator: Cross Platform IDE• Lightweight cross-platform IDE for Qt

–An advanced C++ code editor–Integrated, context sensitive help system–Integrated visual debugger (based on gdb)–Integrated source code management–Project and build management tools–Qt developer tools integrated

• Benefits–New developers get up and running faster–Boosts developer productivity–Tailored to the needs of Qt developers

Page 31: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Building Qt

Applications

qmake!

• Tool to simplify

the build

process

across

different

platforms

• Automates the generation of Makefiles

• Generates Makefile

based on the information in a project file

• MOC and UIC invoke

Projectinformation

file (.pro/.pri)

Platformspecific

Makefiles

ApplicationBinarymake

qmake-project

qmake

Page 32: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt Modules

Qt provides native look-and-feel in all platformsCross-platform Qt consists of 12 modules

• A little bit less than 700 API classes, all modules depend on QtCore

Enables pure Qt applications, but

• Possibility to use platform APIs• Possibility to embed native

elements, including UI widgetsDevelopment Tools included like Qt Creator, Qt Designer, Qt Assistant, Qt Linguist

Page 33: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt GUI Classes

QtCore

QtGui QtNetworkQtSql QtXml

QtOpenGl QtSvg Qt3Support

Phonon

QtWebKit

QtScript

QtXmlPatterns• Extends QtCore

with GUI functionality• UI application base class• UI components : set of widgets and dialogs• Widget layout management and classes for UI Events

• All

the UI components

usually

needed• Not

enough? • Customized

components

can

be

done

and integrated

with

Qt

Creator

• Provides rich set of GUI components

and supporting functionality

• Model-View-Controller (MVC) Item views• Styles

ensuring native or custom look

and feel on target platforms

• Font-aware layout system• Accessibility classes• Canvas component with Widget support

Page 34: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt –

Modules

(Network)

•Classes for writing TCP/IP clients and servers • Makes network programming

easier and portable

•Support for • Lower level protocols (TCP and UDP)

and higher level application protocols (FTP and HTTP)• Seamless integration with progress widgets and any IO device

• Host Name resolving services and URL parsing, SSL support and much more

QtCore

QtGui QtNetworkQtSql QtXml

QtOpenGl QtSvg Qt3Support

Phonon

QtWebKit

QtScript

QtXmlPatterns

QHttp http;

connect(http, SIGNAL(done(bool)), this, SLOT(done(bool)));

http->get( “http://overtheair.org/amazingApi.jsp?action=doGreatThings”);

void MyClass::done(bool error)

{ QString data = http->readAll(); //handle data }

Page 35: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt –

Modules

(Sql)

• Provides database integration to Qt applications• Divided to three layers

1.

UI Layer• Provides classes to link the data from database to

data-aware widgets• Designed to work with Qt's model/view framework

2.

API layer• Provides

Qt’s

abstracted

database-independent SQL API

3.

Driver layer • Provides low-level bridge between the specific

databases and the SQL API layer• Uses driver plugins

to communicate with the different databases

• Several drivers are supplied with Qt

QtCore

QtGui QtNetworkQtSql QtXml

QtOpenGl QtSvg Qt3Support

Phonon

QtWebKit

QtScript

QtXmlPatterns

QSqlDatabase db =

QSqlDatabase::database("sales");

QSqlQuery query

("SELECT Lastname, City FROM Names", db);

Page 36: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt –

Modules

(XML)

•QtXml• Provides C++ implementation of SAX and DOM style

XML parsers• Provides a stream reader and writer for XML

documents• XSLT support

•QtXmlPatterns• XQuery

support

for Qt• Simple SQL-like query language for traversing XML

documents• Can select and aggregate XML elements of interest

and transform them for output as XML or in some other format

QtCore

QtGui QtNetworkQtSql QtXml

QtOpenGl QtSvg Qt3Support

Phonon

QtWebKit

QtScript

QtXmlPatterns

QXmlStreamReader xml;

xml.addData( data );

while (!xml.atEnd())

{

xml.readNext(); ...

// do processing

}

Page 37: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt –

Modules

(WebKit)

•Classes for displaying and editing Web content

•Web content can be enhanced with native controls

•Based on open-source WebKit

engine• Ported to use Qt

• Rendering• Text Handling• Network Access

• Integrated part of WebKit

project, uses WebKit’s

platform abstraction

•Qt Style API to engine:• QWebView, QWebPage

and QWebFrame

QtCore

QtGui QtNetworkQtSql QtXml

QtOpenGl QtSvg Qt3Support

Phonon

QtWebKit

QtScript

QtXmlPatterns

QWebView *view = new QWebView(parent);

view->load(QUrl("http://qt.nokia.com/"));

view->show();

Page 38: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt for Symbian

38

Page 39: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt supports future native development on Symbian

*Qt for early preview, to invite feedback

2011 2010•

Planned for Symbian^3

Qt as part of Symbian platform

Significance of Qt as developer offering grows

Planned for Symbian^4 and future releases

Qt and new UI framework in Symbian

Qt as primary native developer offering

2H09•

Symbian

OS, S60 3.1, 3.2 and 5.0

Qt for Symbian, installed together with Qt applications

Qt available for commercial development

1H09•

Technology Preview Garden for Nokia Symbian device (S60 3.1+)

Part of Qt 4.5 functionality on Symbian

Native Symbian as primary developer offering

Page 40: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt for Symbian

current

status (Dec

-09)

•Qt 4.6.0 supports

Symbian. It’s

~ feature complete

but

we’re

not stopping

here. December

and January

will

be

solely

spent

on optimization.

•Qt 4.6.1

will

be

ready

early

2010. That

will

be

the version to

release your Qt

applications

against!

•At the same time

we’ll

have

a tool

called

smart

installer

ready. The tool solves

the problem

of distributing

Qt

and

dependencies to devices

on the market

(3.1, 3.2, 5.0)

Page 41: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Smart Installer

The opportunity+130M

Symbian

devices could run cross-platform Qt applications already during

this year

The problemQt libraries need to be post installed –

most consumers might not

bother

The solutionA Smart Installer tool that checks whether needed Qt version is available on the device –

and if not, it will handle the installation

Details•Nokia is working on a tool called Smart Installer for Symbian

devices

•The expected availability is 1Q 2010

•A piece of code is to be packaged together with the Qt application targeted for Symbian

devices (when creating the .sis file)

•The Smart Installer will download OTA the needed Qt version to the handset if it is not already present

Page 42: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

The facts•Qt

applications

on Symbian

are

Symbian

applications

• Platform security

and signing

rules

apply

•Symbian UI based

on Avkon

will

disappear

soon

All

Symbian

applications will

be

rewritten

using

Qt!

•Qt is supported

in S60 3rd Edition FP1 onwards

• Will be

preinstalled

in in

Symbian^3 based

devices

in 2010 *

•Distribute your

Qt

for Symbian

applications

with

Qt

4.6.1 and smart

installer (both

available

early

2010)

* according

to Symbian

Foundation

announcements

Page 43: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Developer resources

• http://wiki.forum.nokia.com/index.php/Qt_Mobility_Contest• For general questions there is a public 'discussion board

http://discussion.forum.nokia.com/forum/forumdisplay.php?f=231

monitored by Forum Nokia experts.• Qt main page http://qt.nokia.com/• Qt Mobility project http://qt.nokia.com/developer/new-qt-apis• Symbian

SDKs http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Platforms/S60_Platform_SDKs/• Qt for Symbian

http://qt.nokia.com/products/platform/symbian• Qt main page in Forum Nokia http://www.forum.nokia.com/Qt• http://qt.nokia.com/products/whats-new-in-qt Qt 4.6• Qt for Maemo

preview http://qt.nokia.com/developer/qt-for-maemo-developers• Forum Nokia Library http://library.forum.nokia.com/• Qt 4.6 online documentation http://doc.qt.nokia.com/4.6/• Symbian

and Qt examples mapping to Qt Mobility APIs• http://wiki.forum.nokia.com/index.php/Qt_Mobility_API_Mapping

• Qt

4.6 mobile demos

on Maemo

and Symbian

http://www.youtube.com/watch?v=PCx8RfNhhXk

• Ancestor

of Mobility

Project http://wiki.forum.nokia.com/index.php/Mobile_Extensions

Page 44: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt for Maemo

44

Page 45: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Maemo -

Why

should

I care?

• Coming

from

desktop? • The importance

of mobile clients

is widely

recognized

already

not

gonna

sell

it

here…• With

Qt

and

Mobility

APIs

you

can

easily

extend

your

application

to cover

smartphone

features

and utilize

f.ex

location, contacts, messaging

etc.• With

maemo

and Symbian

you

can

reach

more

than

100 million

devices

with

your

Qt

application

already

with

Qt

4.6!• Maemo

is and will

be

very

important

for Nokia– get a head

start

to maemo

which

we

believe

will

be

one

of the most

interesting

platforms!

• With

Ovi store

you

have

a ready

channel

to sell

your

application

to hundreds

of millions

of users

Page 46: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• Maemo is an open-source

development

platform

for Internet Tablets

and maemo

mobile computers

(f.ex

N900)• 90% of source

code

is open-source• Maemo

5 contains

GSM and 3G functionality

(i.e

standard

smartphone)

• In maemo

5 GTK is still

supported

as development

framework

not

officially

supported

in maemo

6 anymore

• We’re

bringing

in Qt

for maemo

and encourage

all

developers

to use

Qt

as the long term

solution

• http://qt.nokia.com/developer/qt-for-maemo-developers

From geek(ish) gizmos

to mainstream

devices

Page 47: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Maemo 5

Linux based operating system for N900•

Optimized for pocket sized devices

and finger use•

Panorama desktop•

Multitasking with dashboard•

New UI style•

Animated UI•

Compositing window manager•

Accelerated graphics with OpenGL-ES2

N900

TI OMAP 3 processor, ARM Cortex-A8 600 MHz

HSPA/3G support –

online anywhere 3G connectivity

High definition camera support (integrated Image Signal Processor) 5 megapixel camera (2584 ×

1938 pixels)

HW acceleration for OpenGL ES 2.0

3.5 inch touch-screen 800 ×

480 pixel resolution

High-speed USB 2.0

Integrated GPS with A-GPS

WLAN IEEE 802.11b/g32 GB internal

storage

http://www.forum.nokia.com/devices/N900

Page 48: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Hildon UI – simple and customizable

Taskbar to navigate applications

Status bar indicating device state

Widgets and RSS feeds for up-to-date information

Consistent controls across applications

Page 49: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt for maemo• Maemo

is and will

be

very

important

platform

for Nokia

• Qt

4.6 will

be

officially

supported

on maemo

5• Maemo

6 is built

on Qt

• With

Qt

and mobility

APIs

you

can

make

true

mobile applications

that

work

accross

different

platforms

• Develop

now!• How

to get

information

when

official

releases

are

coming

• Distribute

when

Qt

4.6 for maemo

is ready

-

Q1 2010!

http://qt.nokia.com/maemo

Slides

will

be

available

in

http://www.slideshare.net/pkosonen

Page 50: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

N900 apps for Ovi

Page 51: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Developer Resources

•http://qt.nokia.com/developer/qt-for-maemo-developers• http://wiki.maemo.org/Qt4_Hildon#Using_the_Qt_4.6_tech_preview

_in_Fremantle

•http://wiki.maemo.org/

•Maemo 5 documentation

http://wiki.maemo.org/Documentation

•Qt for Maemo

developers

guide

: beta

http://wiki.forum.nokia.com/index.php/Qt_for_Maemo_Developers_Guid e

•Targeting to get

Qt

Creator

support

for Maemo

development!

Page 52: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt Mobility project

52

Page 53: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

What is it?

– New Qt APIs enabling cross-platform mobile application development and service access

What is the value?– Easier to create applications targeting many platforms

– Reuse of code between the mobile platforms

– Bring existing Qt developers as well as new ideas

– Bring Symbian

and Nokia developers to new platforms

Supported

Platforms-

Symbian

3rd Ed FP1, Symbian

3rd Ed FP2, Symbian

5th Edition, Maemo, Windows CE, Windows XP/Vista, Linux, Mac OS X

!

53

2010: Qt Mobility Project

http://qt.nokia.com/developer/new-qt-apis

Page 54: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• Service Framework

Launch, discover, and communicate with services

Use services natively or through Javascript

etc

Control access to services

• Context Framework

Share context information between applications

• Contacts API

Access stored contacts or create new contacts

• Location API

Query current location

API hides underlying Location source (GPS, Cell ID, etc)

54

2010: Qt Mobility Project

http://qt.nokia.com/developer/new-qt-apis

Page 55: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• System Information APIAccess to platform and/or device information

Determine status of available resources

• Bearer ManagementManage available network connections

Use the best available connection

• Messaging APISend and receive a variety of message types

• Multi-Media APIPlay and record audio/video

!

55

2010: Qt Mobility Project

http://qt.nokia.com/developer/new-qt-apis

Page 56: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Mobility APIs

per platform

http://qt.nokia.com/developer/new-qt-apis

Maemo

5 support

will

be

implemented

as well!

Page 57: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

More to come

•There are

still

many

enabler

missing

from

Mobility

• Sensors, Calendar, Telephony, …•Good

things

:

• We’re bringing

those

in as well!

• Even without

these

APIs

you

can

access

all

the features

of the

device from

Qt

applications

as Qt

applications

are

native

you

can

use the OS specific

APIs

seamlessly

within

your

Qt

application

•Stay tuned

: http://qt.nokia.com/developer/new-qt-apis

•Provide your

input for us :

• http://discussion.forum.nokia.com/forum/forumdisplay.php?f=232•Remember

the contest

:

http://wiki.forum.nokia.com/index.php/Qt_Mobility_Contest

http://qt.nokia.com/developer/new-qt-apis

Page 58: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Taking Mobility

APIs

into usage

on Symbian

•Prerequisites : Qt for Symbian 4.6.0 installed on your development

environment and device•Download

and extract

the Mobility

package

•Copy the zip file to your Symbian SDK

• next to \epoc32 folder•Configure

the examples

• configure.bat -examples

•Build the examples

and install

to your

device

• cd examples

• qmake [example].pro

• make release-gcce• createpackage

-i [example]_template.pkg

release-gcce

\symbianinstall.txt\install_to_SDK

Qt_Mobility_tech_preview_libraries.zip\install_to_device

Qt_Mobility_tech_preview.sis

http://qt.nokia.com/developer/new-qt-apis

Page 59: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Still up to more?

59

Page 60: Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Page 61: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Our vision: Web

into any application

Web Runtime widgetWeb browser

Widget +

platform services Native application

Open source WebKit

is the

foundation and common

engine

Now Now

Now Next

Page 62: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Interact with Web Services•QtWebKit

allows• Intuitive use of network resources• Exposing QWidget

to HTML and QObject

to JavaScript• Calling JavaScript from Qt and vice versa

•Based on the Open Source WebKit

engine

JS

Qt

OS specific APIs

Page 63: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

QWebView and QWebPage

classes

QWebView inherited from QWidget

• Renders the content in QWebPage• Easy to embed wherever widget could be used

QWebPage provides access to the document

structure in a page• Frames• Navigation history• Undo/redo stack for editable content

Each QWebpage has one QWebFrame

object as its

main frameHTML documents can be nested using frames

QWebView

QWebPage

QWebFrame

QWebView *view = new QWebView( parent );view->load(QUrl(“http://www.nokia.com”));view->show();

Page 64: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Hybrid -

combining

the best

of both

worlds

So you

can

run

JS and HTML inside Qt

application…

What are

the differences

compared

to a WRT widget?

WRT Widget

running

on top of webkit

Webkit

Widgets HTML, CSS,

JavaScript

Platform Services

Native APIsPlatform Services

implementation

Qt

application

QWebView

running webkit

Same HTML, CSS,

JavaScript

Native APIs incl. Qt Mobility APIs

“Platform Services”

implementation

Page 65: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Key selling points

in the hybrid

approach

•No feature restrictions! •Asset

is protected

widgets

are

essentially

open

source•Works where

ever

Qt

is available

(symbian, maemo, windows, linux, mac, …), huge

install

base•Utilize

web

developer

skills

to make

native

applications• Qt

native

skills

to implement”platform

services”• Qt script generator http://labs.trolltech.com/page/Projects/QtScript/Generator

•Mixing

native

and HTML UI• Interesting

scenarious

coming

f.ex

with

Orbit

widgets• Tools

might

be

problematic

(migrating

web

tools

and native

(Qt

Creator))•We

can

make

hybrid

approach

even

for compelling

by

providing

ready

framework

where

existing

widgets

can

be

plugged

in

•We

are

working

on a framework

to make

this

as easy

as possible

for web

developers

Page 66: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Still up to more?

66

Page 67: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• Allow developers and designers to create flexible and visually appealing user interfaces using intuitive code or GUI designer

• Key benefits

– Declarative UI

programming

– Encourages developer-designer collaboration

– Faster time-to-market with rapid prototyping

– Expressive language (QML)

– Exposes Qt objects and properties via JavaScript

– Transitions and manipulations

67 67

2010: Qt Kinetic Project

Page 68: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• Utilizing declarative UI technology• For programmers and designers, visual and code• Target mobile/embedded and desktop platforms• Create state-of-the-art, visually appealing

user interfaces

68

2010: Declarative UI Designer

Page 69: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

– Express a UI the way we think about it: components, views, states, transitions, animations and effects

– Connect the UI to real data and back-end functionality

– Everything should be fast and easy

– It’s so simply and intuitive that designers and developers can work directly together

QML is a new declarative language extension to Qt

Flexible and Visual Appealing UI? QML

69

Page 70: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

• QML is fundamentally a hierarchy of of

elements with properties

– Single root element

– Parent reference

• Can bind element properties

• Think of a scene graph

70

QML Hierarchy

Page 71: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

71

QML Element Types

Page 72: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

72 Declarative

UI demo

Page 73: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

We’ll be

making

it

easy

for you

• All

you

need

is Qt

Creator

no SDKs

;)

• Integrated

with

Remote

Device

Access (RDA) -

you

don’t

even

need

a device

;)• http://www.forum.nokia.com/rda• No promises

here

about

dates

or

months

yet…

Combine

hybrid

framework

with

this

one–

isn’t

it

creepy

how

easy

we

can

make

it

for you?

Page 74: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

To conclude

75

What the heck was the dude talking about?

Page 75: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt development toolsQt development tools

ChipsetsChipsets

Qt modular class libraryQt modular class library

Core

GUI

WebKit

Graphics View

Scripting

OpenGL

XML

Multimedia

Database

Network 

Unit Tests

Benchmarking

Cross‐platform supportCross‐platform support

Windows Mac OS X Linux/X11 eLinux Win CE Symbian

Qt Designer

GUI designer

qmake

Cross‐Platform 

Build Tool

Qt Linguist

I18N Toolset

Qt Assistant

Help reader

Qt Creator

Cross‐platform IDE

*Coming soon

QtQt SDK

76

Maemo

Page 76: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt is…

•Easy to learn

•Productive•Supported

in several

platforms

•Enables using

web

asset

and skills

in native

applications

•Qt applications

have

no feature restrictions

•Nokia will be

doing

it’s

own

applications

on top of Qt

•Get started

today

: http://qt.nokia.com

•Demo videos of Qt

running

in maemo

and Symbian

in

http://www.youtube.com/watch?v=PCx8RfNhhXk

Page 77: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Nokia + Ovi

Developer Story |

78

Nokia developer offering, redefined

WRT & Ovi APIs. Amazing features

in your

web apps

1 = 2 = 3 =

Nokia cross-platform SDKs

that

you’ll

love

Ovi Store. Sell your

app

to hundreds

of millions

Page 78: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Qt Development Chain - Maemo

& Symbian

IDEs

SDKs

&

Plugins Symbian

SDKs

Qt for Symbian

platform

•Mobility APIS

Maemo

SDKs

Qt for maemo

platform

•Mobility APIs

•Qt Creator •Qt Creator

•Carbide

Symbian Maemo

Certification Symbian

signed N/A

Distribution Ovi

Store

Commonoffering

Page 79: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Be the “Qtst” –

Forum Nokia Code

CompetitionGrand Prize Winner will receive a trip to the upcoming Nokia 2010 Developer Summit to be held in San Francisco, USA during June 9th

and 10th! Top winners will also be selected to receive nominations as Forum Nokia Champion program as well as getting the coolest Nokia devices free of charge!

For details go to http://wiki.forum.nokia.com/index.php/Qt_Mobility_Contest

Entries to the contest will be open from Dec 7th, 2009 until January 31, 2010.Register

by

latest

30th

of December

2009!

THANK YOU!

Page 80: Cutest technology of them all - Forum Nokia Qt Webinar December 2009

Thank you!

qt.nokia.com

Slides

will

be

available

in

http://www.slideshare.net/pkosonen

http://wiki.forum.nokia.com/index.php/Qt_Mobility_Contest