it's Qt!

1,401 views

Published on

プログラミング生放送勉強会 第16回@名古屋での発表資料。
http://pronama.jp/16

Published in: Technology
  • Be the first to comment

it's Qt!

  1. 1. Its Qt!プログラミング生放送勉強会第16回@名古屋2012/05/19 You&I
  2. 2. 2 2012/5/19ダレ、イッタイ。 H/N: You&I(読み:ユーアンドアイ) 出身: 生まれも育ちも名古屋市 年齢: 30代中盤 本職: 商学部出身の職業プログラマ 言語: C++, C#, VB6.0, 日本語COBOL 日記: http://d.hatena.ne.jp/youandi/ 所属: プログラミング生放送 名古屋支部 Its Qt!
  3. 3. 3 2012/5/19Agenda1. Qt(キュート)とは2. Qtの環境構築3. Qt/C++デモ4. Qt/QMLデモ5. Qtの今後6. まとめ Its Qt!
  4. 4. 4 2012/5/191. Qt(キュート)とは1. Qt(キュート)とは2. Qtの環境構築3. Qt/C++デモ4. Qt/QMLデモ5. Qtの今後6. まとめ Its Qt!
  5. 5. 5 2012/5/191. Qt(キュート)とは(1/10) アプリケーション・UI 開発フレームワーク 特徴 1. C++ クラスライブラリ 2. クロスプラットフォーム対応 3. 統合開発環境を持つ 4. 商用・OSSのデュアルライセンス Its Qt!
  6. 6. 6 2012/5/191. Qt(キュート)とは(2/10) Qtの歴史(現在のメインバージョンはQt 4.8)リリース バージョン 備考1996年 Qt 1.0 X11版及びWindows版1999年 Qt 2.0 X11版がOSS化2001年 Qt 3.0 MacOS X版2005年 Qt 4.0 GPL 2.0(及びそれ以降)ライセンス追加2007年 Qt 4.5 LGPL 2.1ライセンス追加2010年 Qt 4.7 Qt/QMLが追加2012年 Qt 5.0 現在α版。7月以降にリリース予定 Its Qt!
  7. 7. 7 2012/5/191. Qt(キュート)とは(3/10) Qtの歴史 - その2  1991年にノルウェーのQuasar Technologies 社が開発を開始  1994年にTrolltech社に社名変更  2008年6月にフィンランドのNokia社が Trolltech社を買収  2011年3月にフィンランドのDigia社がNokiaの Qtの商用ライセンス事業とサービス事業を買収  2011年10月にQt ProjectとしてOSSプロジェク ト化。 Its Qt!
  8. 8. 8 2012/5/191. Qt(キュート)とは(4/10) Qtの主な機能 ユニットテスト Widgets(UI) Qt Quick(UI) マルチメディア WebKit JavaScript ネットワーク データベース XML スレッド コンテナ Its Qt!
  9. 9. 9 2012/5/191. Qt(キュート)とは(5/10) クロスプラットフォーム対応(公式サポート)プラットフォーム 対応OSデスクトップ Windows, Linux/X11, MacOS Xモバイル Symbian, MeeGo組み込み WindowsCE, 組み込みLinuxリアルタイムOS Its Qt!
  10. 10. 10 2012/5/191. Qt(キュート)とは(6/10) クロスプラットフォーム対応(公式外)プラットフォーム 対応OSデスクトップ FreeBSD, Solarisモバイル Android, iOS, Blackberry組み込み T-Kernel, QNX, Integrity, vxWorksリアルタイムOS Its Qt!
  11. 11. 11 2012/5/191. Qt(キュート)とは(7/10) 統合開発環境(1/3)  Qtには「Qt Creator」という統合開発環境が 提供されている。  http://qt.nokia.com/products-jp/developer- tools/tools-flipper/cross-platform-ide/  Qt Creator自身がQtを利用して開発されてい る。  Qtを利用しているので、Qt Creatorもクロス プラットフォーム対応&多言語対応。 Its Qt!
  12. 12. 12 2012/5/191. Qt(キュート)とは(8/10) 統合開発環境(2/3) Its Qt!
  13. 13. 13 2012/5/191. Qt(キュート)とは(9/10) 統合開発環境(3/3)  Qt Creatorの特徴  洗練されたコードエディタ  バージョンコントロール  UIデザイナの統合  プロジェクト&ビルド管理  デスクトップ&モバイルのターゲット  Qt Simulator  Qt Creator以外にも、各種統合開発環境向けの Qt Plug-inもあります Its Qt!
  14. 14. 14 2012/5/191. Qt(キュート)とは(10/10) デュアルライセンス  商用ライセンス  Digia社が管理。  日本ではSRA、ISB、日新システムズの3社。  OSSライセンス  現行の最新版では以下のライセンスを選択可能。  GPL 3  LGPL 2.1  商用版との併用や、商用版への乗換には制限あり。 Its Qt!
  15. 15. 15 2012/5/192. Qtの環境構築1. Qt(キュート)とは2. Qtの環境構築3. Qt/C++デモ4. Qt/QMLデモ5. Qtの今後6. まとめ Its Qt!
  16. 16. 16 2012/5/192. Qtの環境構築(1/4) Qtの環境構築を行う場合、Qtのライブラリ、 Qt Creatorと個別にセットアップを行うより もQt SDKで一括でセットアップを行うと便利。  http://qt.nokia.com/downloads-jp Qt SDKを利用する事で、インストールしたラ イブラリ、ツールの更新を行うアプリケー ションも提供されるので、メンテナンスも容 易である。 Its Qt!
  17. 17. 17 2012/5/192. Qtの環境構築(2/4) Its Qt!
  18. 18. 18 2012/5/192. Qtの環境構築(3/4) Its Qt!
  19. 19. 19 2012/5/192. Qtの環境構築(4/4) コンパイラについて  Windowsならば、VisualC++及びMinGWが利 用可能。  Qt SDKからMinGWのインストールも可能。  Qt Creatorはコードをモデルをclangに変更す る予定である。  http://labs.qt.nokia.co.jp/2011/11/16/qt- creator-%E3%81%A8-clang.html  これによりC++11対応が促進される Its Qt!
  20. 20. 20 2012/5/193. Qt/C++デモ1. Qt(キュート)とは2. Qtの環境構築3. Qt/C++デモ4. Qt/QMLデモ5. Qtの今後6. まとめ Its Qt!
  21. 21. 21 2012/5/193. Qt/C++デモ(1/3) C++で開発する時のQtの特徴  QObjectを基底クラスとしたクラス構成  QObjectはスマートポインタとなっており、メ モリリークする危険性が少ない  SignalとSlotによる操作通知モデル  ビルドでboost::signalコンフリクトする  構文がちょっとキモイ Its Qt!
  22. 22. 22 2012/5/193. Qt/C++デモ(2/3) Its Qt!
  23. 23. 23 2012/5/193. Qt/C++デモ(3/3) QtでWebブラウザを作成してみましょう。  Qt をはじめよう! 第6回: 簡単なブラウザを 作ってみよう!  http://labs.qt.nokia.co.jp/2010/04/13/simple browser-with-qtcreator.html Its Qt!
  24. 24. 24 2012/5/194. Qt/QMLデモ1. Qt(キュート)とは2. Qtの環境構築3. Qt/C++デモ4. Qt/QMLデモ5. Qtの今後6. まとめ Its Qt!
  25. 25. 25 2012/5/194. Qt/QMLデモ(1/3) デモをする前にQMLについて Qt/QMLとはQt Meta-object Languageの 略称 Qt/QMLでの開発プラットフォームはQt Quickと呼称されている  http://qt- project.org/wiki/Qt_Quick_Japanese Its Qt!
  26. 26. 26 2012/5/194. Qt/QMLデモ(2/3) Qt Quickとは以下の要素で構成されます 1. Qt/QML(Qt Meta-Object Language)  JavaScript ベースの直感的なスクリプト言語 2. Qt Creator  QMLの統合開発環境 3. Qt Declarative  C++を使用してQMLアプリケーションを強化 Its Qt!
  27. 27. 27 2012/5/194. Qt/QMLデモ(3/3) Qt/QMLを使ってGoogle Mapを表示するプ ログラムのデモ  @IT > Qt Quickで地図をドラッグさせてみよう  http://www.atmarkit.co.jp/fwcr/rensai2/qt0 3/01.html Its Qt!
  28. 28. 28 2012/5/195. Qtの今後1. Qt(キュート)とは2. Qtの環境構築3. Qt/C++デモ4. Qt/QMLデモ5. Qtの今後6. まとめ Its Qt!
  29. 29. 29 2012/5/195. Qtの今後(1/2) 今年の夏頃にQt 5.0がリリースされます。 メジャーバージョンの更新  Qt 4.0リリースから7年経過  UIのトレンドの変化  ハードウェアの進化  CPU/GPUのMany Core化  タッチパネルデバイスの普及  Qt 4.0のAPI設計の限界&時代遅れ Its Qt!
  30. 30. 30 2012/5/195. Qtの今後(2/2) Qt5の特徴  QMLがUIのメイン言語に  OpenGLを積極的に活用した描画の高速化  グラフィックアーキテクチャの刷新  プラットフォームでのOpenGL (ES)対応が必須条 件に  GLSL(OpenGL Shading Language)によるパー ティクルやエフェクトの高速描画  V8 JavaScriptエンジン  WebKit2 Its Qt!
  31. 31. 31 2012/5/196. まとめ1. Qt(キュート)とは2. Qtの環境構築3. Qt/C++デモ4. Qt/QMLデモ5. Qtの今後6. まとめ Its Qt!
  32. 32. 32 2012/5/196. まとめ QtはC++において活発に開発が行われている ライブラリ・フレームワークの内の1つです。 QtはOSS化されて仕事でも利用し易くなって います。 Qt SDKでお手軽に環境構築ができます。 QtのUI周りのクロスプラットフォーム対応や 多言語対応については、他のライブラリより も抜きん出ていると思います。 Its Qt!

×