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