Qt Quick...Qt Quick とは • Qt Quick (Qt Quick User Interface Creation Kit) • Qt 4.7 と Qt...
Transcript of Qt Quick...Qt Quick とは • Qt Quick (Qt Quick User Interface Creation Kit) • Qt 4.7 と Qt...
自己紹介• 杉田研治• 株式会社 SRA (http://www.sra.co.jp) 勤務• 1996 年 - Qt を知る• 1999 年 - 開発に使用• 2002 年 -トレーニング開始• 2003 年 - サポート開始• Qt 関連著書二冊、翻訳書二冊、雑誌記事
Qt Quick とは• Qt Quick (Qt Quick User Interface Creation Kit)
• Qt 4.7 と Qt Creator 2.1 で導入予定
• Qt の新しい UI フレームワーク
• 容易なダイナミックユーザ UI 作成
• Symbian と MeeGo のプライマリー UI
リリースヒストリー• 2008 - リサーチプロジェクト• 2009 - Kinetic Project として公開。2010/2/12 が最後のリポジトリーアクセス。
• 2009/12 - Qt 4.6 でリリース予定であったが。• 2009/12/14 - Qt 4.6.0 のみで動くものがリリース4.6.1~4.6.3 向けにも出る予定であったが。
• 2010 夏~秋 - Qt 4.7.0 の機能としてリリース予定
Qt Quick の構成
• QML (Qt Meta-Object Language)
宣言的 UI 記述言語。
• QtDeclarative Module
• Qt Creator
• QML Viewer
QML
• 目的ユーザインターフェースをデザインするグラフィカルデザイナーとプログラマーが共同で開発する際に、JavaScript ベースの QML 言語を介して、両者の垣根を取り払って、協力して開発を進め易くする。
QML
• JavaScript をベースGraphics View、State Machine、Animation、プロパティバインディング、ネットワーク透過性などの拡張。
• Qt の Meta-Object 機能でデザイナーと開発者とを橋渡し、高度に協調した開発を可能にする
• アニメーション化された滑らかな UX を実現
QtDeclarative Module
• QML を実行するエンジン
QML を Graphics View に翻訳。
• Qt/C++ とQML を結合
相互利用可能。
• Qt/C++ を使う開発者用
Qt Creator
• Qt/C++ の開発ツールとしてリリース
• Qt Creator 2.1 で、QML にも対応予定
• QML テキストエディタ
• QML デバッガ
• Qt Quick Designer (4.7 ではプレビューリリース)
QML の GUI エディタ。
QML のベース技術
• Qt に最初から備わっているもの• Object System• Meta Object
• Qt 4.2• Graphics View
• Qt 4.3• JavaScript Module
• Qt 4.6• Animation Framework• State Machine Framework• Graphics Effects
Animation Framework
• Qt のプロパティを動的に変更することによって、動きのある GUI を作る機能
• State Machine Framework と合わせて使用可能
• どの QObject のプロパティでもアニメーション可能
• アニメーションのグループ化
• イージンクカーブを使用可能
…
State Machine Framework
• Qt のシグナルとイベントによってドライブされるハレルのステートチャート
• アプリケーションの動作の意味付けを簡明化• 動作の形式化による保守性の向上• アプリケーションロジック記述の検証可能化
Graphics Effects• ぼかし、影、色付け、透明度などのグラフィカルなエフェクトを QGraphicsView や QWidget に適用してユーザインターフェースを視覚的に際立たせたり、強調させる
• 任意のペイントデバイスにエフェクトを適用可能• よく使われるエフェクトはビルトイン済• 独自のエフェクトを追加拡張可能
Nokia モーバイルプラットフォームQt の最終位置付け
アプリケーションとサービス ~ Ovi API
ユーザインターフェース ~ ~
開発フレームワーク Java ウェブ - Qt WRTネィティブ - Qt
プラットフォーム Series 40 Symbian MeeGo
ハードウェア ~ ~ ~
注) 灰色の各層は、Symbian と MeeGo のプラットフォームで共通になる。
Nokia モーバイルプラットフォームQt プラットフォームロードマップ
2010 年 2011 年
Qt を部分的に 全アプリケーションをQt で
Symbian^3Maemo(Linux X11)
Symbian^4MeeGo
(Maemo + Moblin)
注) Maemo は、MeeGo に包含される。
Nokia モーバイルプラットフォームQt プラットフォーム API ロードマップ
Qt 4.6Qt QuickQt 4.7
Qt UI ExtensionQt QuickQt 4.8(Symbian^4)
Qt Mobility API1.0
Qt Mobility API1.1
Qt Mobility API2.0
Symbian C++
増やして行く
減らして行く
注) Qt UI Extension は、Qt Quick で作られた GUI コンポーネント集。