Intro to QML / Declarative UI Caio Marcelo de Oliveira Filho CampKDE 2010 – San Diego.

Slides:



Advertisements
Similar presentations
Introduction to Java 2 Programming
Advertisements

Master Pages, User Controls, Site Maps, Localization Svetlin Nakov Telerik Corporation
CSCI 3100 Tutorial 6 Web Development Tools 1 Cuiyun GAO 1.
Presented By, Sripad Sarode
An Introduction To Silverlight Gergely Orosz
Introduction to SVG & Batik Presented by Shang-Ming Huang.
Development of mobile applications using PhoneGap and HTML 5
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
Mobile Web Applications
Evaluation of HTML5 Graphics for Data Structure Visualization
Best Design Practices Using the Qt Runtime SDK (using QML)
 What is a wireframe?  What features are important?  Which wireframe tools might you want to try?
A really fairly simple guide to: mobile browser-based application development (part 4, JQuery & DOM) Chris Greenhalgh G54UBI / Chris Greenhalgh.
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
Intro to Android Development Ben Lafreniere. Getting up and running Don’t use the VM! ials/hello-world.html.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 65 – Manipulating Data Using Methods – Java Applet.
QtQuick Training Course Module One. What is it? Why use it? Who uses it? 1 Things to know about Qt Module One Objectives Declarative UI Syntax Examples.
Android for Java Developers Denver Java Users Group Jan 11, Mike
Website Project Development Presentation by APNARAJ.COM.
QML Qt Quick with QML and you can use JavaScript for engine along C++ Started to be released since late 2009 (Qt 4.7) Nokia focused on that for the Symbian/Meego.
0 Y! Mail Application Development Platform Open Hack day 14 th Feb 2009.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
Bells, Whistles, and Alarms: HCI Lessons Using AJAX for a Page-turning Web Application Juliet L. Hardesty, Indiana University.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
 In here it will say what will be on the presentation and on what page it will be on. Text Size: 27 Font: Lucas Sans Unicode Color: Grey.
13. JavaFX. 2 JavaFX Intro Sun's answer to –the popularity of scripting languages –problems with Java GUI AWT is very basic Swing is too complex, too.
Ke Li. Agenda Introduction User Identification Features of the Tutorial What I Have Learned Demo.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Introduction to HTML. _______________________________________________________________________________________________________________ 2 Outline Key issues.
JavaScript Defined DOM (Document Object Model) General Syntax Body vs. Head Variables Math & Logic Selection Functions & Events Loops Animation Getting.
KDE Plasma Active Marco Martin
© 2004 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin Programming the Web Using ASP.Net Chapter 6: The User Interface (UI) Dave.
Who am I? Introduction KDE is the Desktop Environment that Kubuntu uses KDE is based on the Qt Framework. This allows KDE software based on Qt to also.
QML and JavaScript for Native App Development Michael Tims Jen Trieu.
KDE Plasma Mobile workspaces Marco Martin. What is Plasma?
Akademy 2007, KJSEmbed and QtScript KJSEmbed and QtScript ●What is application scripting? ●What is KJSEmbed? ●What is QtScript? ●How do KJSEmbed and QtScript.
 Define Wireframes, Mockups, and Prototypes  Techniques  Low vs. High Fidelity  Sketchy vs. Polished  Exercise: Define the Process.
CSS.
Developing Online Tools To Support The Visualization Of Ocean Data For Educational Applications Poster #1767 Michael Mills, S. Lichtenwalner,
Working with Cascading Style Sheets
Introduction to.
Geospatial Research & Solutions GIS.ASU.EDU
Creating a Flash Web Site
Chapter 10 Multimedia and the Web.
Objective % Select and utilize tools to design and develop websites.
The BLISS Framework 4.
Testing Alfresco extensions (no, it’s not about jUnit)
Understanding SOAP and REST calls The types of web service requests
Google Web Toolkit Tutorial
Avraham Leff James T. Rayfield IBM T.J. Watson Research Center
Java Applets.
The merging of Web and Mobile APP
Objective % Select and utilize tools to design and develop websites.
JavaScript.
Best Angular 2 interview questions and Answer that have been designed for Angular 2 programmers who are preparing online interviews on Angular 2 interviews question. Visit Website:
Using JavaScript to Build HTML5 Applications
Principles of report writing
ISC440: Web Programming II Ch14: HTML5 Canvas
VISUAL BASIC.
.NET and .NET Core 7. XAML Pan Wuming 2017.
GIFT / Fiscal Data Package Iteration 3
Modern web applications
Java Applets.
Java Applets.
JavaServer Faces: The Fundamentals
Modern web applications
Training & Development
Principles of Programming Languages
Graphics and FLTK CSCE 121 J. Michael Moore
Presentation transcript:

Intro to QML / Declarative UI Caio Marcelo de Oliveira Filho CampKDE 2010 – San Diego

Who am I? Developer at INdT, a Nokia research institute openBossa, FOSS stream at INdT - Qt Kinetic - Qt WebKit - Plasma Netbook - S60 demos Currently working with trolls on Widgets/QML One patch to kwin! ;-)

What is QML? Describe trees of objects and properties Item { propertyA: 100 propertyB: 100 children: [ Item { propertyC: 100 }, Item { propertyC: 200 } ] }

What is QML? Describe trees of objects and properties Item { propertyA: 100 propertyB: 100 Item { propertyC: 100 } Item { propertyC: 200 } }

What is QML? Allows embedding ECMAScript code Item { propertyA: 100 propertyB: propertyA // here onSomeEvent: myFunction() // and here }

Declarative UI using QML Rectangle { id: page width: 500; height: 200 color: "lightgray" Text { id: helloText text: "Hello world!" font.pointSize: 24 font.bold: true y: 30 anchors.horizontalCenter: page.horizontalCenter }

Declarative UI using QML Animations and effects “MouseRegion” object for events Note: usually people say just QML instead of “Declarative UI using QML”

Analogies EFL: “QML is a kind of Edje for Qt” Web: “QML is a kind of HTML+CSS” Qt: “QML is a kind of.ui file from QtDesigner”

Where to use it? Canvas-based applications - Canola, Weather demo, many mobile apps - KDM concept using QML (Small) applications entirely in QML - Plasma applets - Logic in ECMAScript (similar to webapps)

Where to use it? More “themeability” - Not just images / colors / fonts - The entire view! Opportunity for designers - Mockups directly in QML - Work nearer to developers

Intermission: about designers Graphics designer (think Nuno) Usability designer (think Celeste) “Interaction designer” = Flash mockups :) (anyone in KDE?) QML can help the last one a lot

Features of Declarative UI Network transparency Good integration with C++ HTML5-like APIs, e.g. local storage

Meanings of “QML” Language to describe trees of objects Language to describe UI of an app Tool for building small applications - Assuming a 'qmlviewer' is similar to webapps

End of the Widgets? Widgets too big: Andreas' GCDS 2009 QML way: simple primitives to build UI Ability to abstract complex components Not end, just changing how widgets are built!

Declarative UI project Qt Development Frameworks Expected for Qt Being developed in qt.gitorious.org - Clone it, hack it, give feedback! ;-) More information - labs.qt.nokia.com - freenode

Thank you! :-)

Caio Marcelo de Oliveira Filho freenode irc