Java fx勉強会lt 第8回

1,780 views
1,633 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,780
On SlideShare
0
From Embeds
0
Number of Embeds
30
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Java fx勉強会lt 第8回

  1. 1. 第 8 回 JavaFX 勉強会 LT Taiji.Miyabe Twitter : @taiz77
  2. 2. 宮部 泰治 (みやべ たいじ)大学院生 (2年生)プログラマ好きな言語:Java, Ruby, 最近Scalaが非常に気になってます 2
  3. 3. http://aiit.ac.jp/社会人向け大学院 ほとんどが社会人情報アーキテクチャ先攻 ComputerScience, プログラミング、 PM…研究 基盤ソフトウェアの開発(Project) 3
  4. 4. 1. FXMLでの開発の実際2. フレームワークの必要性 4
  5. 5. ・ユーザ認証 データベー1 ・プロジェクトデータの表示/ ス 登録 ・Login画面⇒Dashboard画2 画面遷移 面 部分的な ・プロジェクトの選択3 ビューの切 ・タスクの追加/更新/削除 替 これらをFXMLで実装しようとすると Webに近くなってくる 6
  6. 6. データベース(Model)デモアプリでは以下3つのテーブル、Modelクラスを用意 1. Projectテーブル ・・・ Project クラス 2. Taskテーブル ・・・ Taskクラス 3. Userテーブル ・・・ Userクラス 7
  7. 7. 画面遷移Login画面⇒Dashboard画面 8
  8. 8. 画面遷移部分的なビューの切替1.プロジェクト選択2.タスク追加/タスク削除 9
  9. 9. 実際の開発データベースORマッパを使用各ModelクラスでORマッパをラップ画面の設計/実装SceneBuilderでデザイン(レイアウティ ング、CSS)、実装。ほぼFXMLのみでSceneBuilderは視覚化されるため、デ ザインで非常に有用個々のパーツごとにFXMLを作成 10
  10. 10. 実際の開発画面遷移自作Windowオブジェクトを生成し、FXMLを ロードし、次画面を呼出し部分的なビューの切替自作パーツ化したFXMLをロードその後、親コントローラから子にデー タを受渡し(FXMLには直接データを渡せ ない) 11
  11. 11. ソースコード(https://github.com/a1153tm/zentasks)zentasks/├── Common.css ・・・ 共通CSS├── Context.java ・・・ グローバルオブジェクト管理├── Controller.java ・・・ Controllerの基底クラス├── Dashboard.css ・・・ Dahsboard画面のCSS├── Dashboard.fxml ・・・ Dahsboard画面のFXML├── Dashboard.java ・・・ Dahsboard画面のController├── FXMLLoadException.java ・・・ FXMLロードの例外クラス Javaソースコード:├── Login.css ・・・ Login画面のCSS├── Login.fxml ・・・ Login画面のFXML 1,144loc├── Login.java ・・・ Login画面のController├── ParentController.java ・・・ 子Viewを持つContorllerの基底クラス├── ProjectBoard.fxml ・・・ Project一覧のFXML(パーツ)├── ProjectBoard.java ・・・ Project一覧のController├── TaskBoard.fxml ・・・ Taskを表示するためのFXML(パーツ)├── TaskBoard.java├── TaskItem.fxml ・・・ Taskを表示するためのFXML(パーツ)├── TaskItem.java├── TaskPane.fxml├── TaskPane.java├── Util.java ・・・ ユーティリティ├── Zentasks.java ・・・ エントリポイント└── models ・・・ Modelクラスパッケージ ├── Project.java ├── Task.java └── User.java 12
  12. 12. 改善ポイントとフレームワーク ・ORマッパの標準化 データベー1 ・ラッパクラスの導入 ス ・Validation機構 ・標準ブラウザ2 画面遷移 ・レイアウトテンプレート ・FXMLレンダリング機構 ・テンプレートエンジン 部分的な ・部分レンダリング3 ビューの切 ・Controllerのツリー化 替 ・FXML-Controller間データ インターフェイス 13
  13. 13. 改善ポイントとフレームワーク前記の改善ポイントは定型化、仕組化することが可能前記の改善ポイントは定型化、仕組化することが可能 14
  14. 14. 研究活動で開発中Ruby on Railsライクなフレームワーク データ MVC ベース アーキテク CRUD統合 チャ Creamy コード生 View 成・ システ Scaffold ム 15
  15. 15. Creamyフレームワークは2013年02月公開予定完成後に、また、ご覧に入れます 16

×