Suche senden
Hochladen
Flight入門
•
Als PPTX, PDF herunterladen
•
5 gefällt mir
•
1,988 views
Toshihiro Yagi
Folgen
Melden
Teilen
Melden
Teilen
1 von 33
Jetzt herunterladen
Empfohlen
goog.ui.Component のはぐれかた
goog.ui.Component のはぐれかた
Soichi Takamura
Vue.js 基礎 + Vue CLI の使い方
Vue.js 基礎 + Vue CLI の使い方
Kei Yagi
Android lecture for iOS developers
Android lecture for iOS developers
Masahiro Morodomi
Vue Router + Vuex
Vue Router + Vuex
Kei Yagi
Effective BDD Testing 効果的なBDDテスト [iOS]
Effective BDD Testing 効果的なBDDテスト [iOS]
Derek Lee Boire
Ss upload
Ss upload
Cody Caster
20081003
20081003
小野 修司
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
bonjin6770 Kurosawa
Empfohlen
goog.ui.Component のはぐれかた
goog.ui.Component のはぐれかた
Soichi Takamura
Vue.js 基礎 + Vue CLI の使い方
Vue.js 基礎 + Vue CLI の使い方
Kei Yagi
Android lecture for iOS developers
Android lecture for iOS developers
Masahiro Morodomi
Vue Router + Vuex
Vue Router + Vuex
Kei Yagi
Effective BDD Testing 効果的なBDDテスト [iOS]
Effective BDD Testing 効果的なBDDテスト [iOS]
Derek Lee Boire
Ss upload
Ss upload
Cody Caster
20081003
20081003
小野 修司
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
bonjin6770 Kurosawa
Abc2011 2 yagi
Abc2011 2 yagi
Toshihiro Yagi
Abc2011 yagi
Abc2011 yagi
Toshihiro Yagi
Potato04 The end of confusion of callback between activity and fragment.
Potato04 The end of confusion of callback between activity and fragment.
Toshihiro Yagi
Potato02 ViewSticker作りました
Potato02 ViewSticker作りました
Toshihiro Yagi
Potato01 No more 手書き ViewHolder
Potato01 No more 手書き ViewHolder
Toshihiro Yagi
Potato03 KotlinでAndroidアプリ開発(後編)
Potato03 KotlinでAndroidアプリ開発(後編)
Toshihiro Yagi
Re viewのリアルタイムプレギュー機能をつくってみたよ
Re viewのリアルタイムプレギュー機能をつくってみたよ
Toshihiro Yagi
Firefox osでlineは作れるか
Firefox osでlineは作れるか
Toshihiro Yagi
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
yoshikawa_t
Client Side Cache
Client Side Cache
Toru Yamaguchi
Web Component概要
Web Component概要
Shumpei Shiraishi
Chrome DevTools.next
Chrome DevTools.next
yoshikawa_t
Devtools.next
Devtools.next
yoshikawa_t
I Log On Saa S
I Log On Saa S
totty jp
20050903
20050903
小野 修司
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Yasuhiro Matsubayashi
Apache Tapestry
Apache Tapestry
Akio Katayama
UI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめ
Tomoki Imatomi
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
Interact 2018:PowerShell of Microsoft SDN v2 101
Interact 2018:PowerShell of Microsoft SDN v2 101
wind06106
C#の書き方
C#の書き方
信之 岩永
C#の書き方
C#の書き方
信之 岩永
Weitere ähnliche Inhalte
Andere mochten auch
Abc2011 2 yagi
Abc2011 2 yagi
Toshihiro Yagi
Abc2011 yagi
Abc2011 yagi
Toshihiro Yagi
Potato04 The end of confusion of callback between activity and fragment.
Potato04 The end of confusion of callback between activity and fragment.
Toshihiro Yagi
Potato02 ViewSticker作りました
Potato02 ViewSticker作りました
Toshihiro Yagi
Potato01 No more 手書き ViewHolder
Potato01 No more 手書き ViewHolder
Toshihiro Yagi
Potato03 KotlinでAndroidアプリ開発(後編)
Potato03 KotlinでAndroidアプリ開発(後編)
Toshihiro Yagi
Re viewのリアルタイムプレギュー機能をつくってみたよ
Re viewのリアルタイムプレギュー機能をつくってみたよ
Toshihiro Yagi
Firefox osでlineは作れるか
Firefox osでlineは作れるか
Toshihiro Yagi
Andere mochten auch
(8)
Abc2011 2 yagi
Abc2011 2 yagi
Abc2011 yagi
Abc2011 yagi
Potato04 The end of confusion of callback between activity and fragment.
Potato04 The end of confusion of callback between activity and fragment.
Potato02 ViewSticker作りました
Potato02 ViewSticker作りました
Potato01 No more 手書き ViewHolder
Potato01 No more 手書き ViewHolder
Potato03 KotlinでAndroidアプリ開発(後編)
Potato03 KotlinでAndroidアプリ開発(後編)
Re viewのリアルタイムプレギュー機能をつくってみたよ
Re viewのリアルタイムプレギュー機能をつくってみたよ
Firefox osでlineは作れるか
Firefox osでlineは作れるか
Ähnlich wie Flight入門
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
yoshikawa_t
Client Side Cache
Client Side Cache
Toru Yamaguchi
Web Component概要
Web Component概要
Shumpei Shiraishi
Chrome DevTools.next
Chrome DevTools.next
yoshikawa_t
Devtools.next
Devtools.next
yoshikawa_t
I Log On Saa S
I Log On Saa S
totty jp
20050903
20050903
小野 修司
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Yasuhiro Matsubayashi
Apache Tapestry
Apache Tapestry
Akio Katayama
UI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめ
Tomoki Imatomi
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
Interact 2018:PowerShell of Microsoft SDN v2 101
Interact 2018:PowerShell of Microsoft SDN v2 101
wind06106
C#の書き方
C#の書き方
信之 岩永
C#の書き方
C#の書き方
信之 岩永
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
Unity Technologies Japan K.K.
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
Takashi Yoshinaga
Knockout
Knockout
Kazuhiro Eguchi
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
Masafumi Terazono
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
Ähnlich wie Flight入門
(20)
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
Client Side Cache
Client Side Cache
Web Component概要
Web Component概要
Chrome DevTools.next
Chrome DevTools.next
Devtools.next
Devtools.next
I Log On Saa S
I Log On Saa S
20050903
20050903
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Apache Tapestry
Apache Tapestry
UI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめ
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Interact 2018:PowerShell of Microsoft SDN v2 101
Interact 2018:PowerShell of Microsoft SDN v2 101
C#の書き方
C#の書き方
C#の書き方
C#の書き方
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
Knockout
Knockout
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
Flight入門
1.
Flight入門 株式会社ブリリアントサービス 八木 俊広
2013年3月1日
2.
自己紹介 所属:品川事業所カスタマー開発部 名前:八木俊広
Twitter: @sys1yagi 最近: mrubyちょいやっている流れでMobiRubyをちょ いやってる。キャー@masuidriveさ~ん。 Node.jsで人工無脳作ってる わかめに言われてFlightに入門中
3.
アジェンダ Flightってなに? Flightの特徴
デモアプリ Flightの導入 Flightの使い方 まとめ
4.
対象読者 @vvakame
5.
Flightってなに? Twitter社が提供しているWebのフロントエンド
用フレームワーク Twitter社で使われているらしい https://github.com/twitter/flight
6.
Flightの特徴 コンポーネントベースだ イベントドリブンだ
何がおいしいか こういう時はつらそう
7.
コンポーネントベースだ HTML界
JS界 attach DOM Component attach DOM Component attach mixin DOM Module
8.
コンポーネントベースだ HTML界
JS界 attach DOM Component attach DOM Component attach mixin DOM 互いに疎 Module
9.
イベントドリブンだ
1 1 DOM Component DomとComponentは1:1の関係。 ComponentはDomへの参照を持つ
10.
イベントドリブンだ
click blur on(“click”, function); on(“blur”, function); 1 1 DOM Component Butto n Componentでイベントコールバックを登録 イベントの処理を行う
11.
イベントドリブンだ
click blur 1 1 DOM Component Butto 結果を他Componentにも渡したい n 超えられない壁 1 1 DOM Component DIV
12.
イベントドリブンだ
click blur 1 1 DOM Component Butto trigger(“onChangeData”, data); n 超えられない壁 1 1 DOM Component DIV on(“onChangeData”, function);
13.
イベントドリブンだ
click blur on(“click”, function); on(“changedSchedule”, function); on(“blur”, function); Component Component trigger(“onChangeData”, data); trigger(“changedShcedule”, schedule); Component Domイベントの他独自にイベント定義が可 能。イベントの送受信でComponent間はや りとりを行う。 on(“onChangeData”, function);
14.
イベントドリブンだ
click blur on(“click”, function); on(“changedSchedule”, function); on(“blur”, function); Component Component 互いに疎 trigger(“changedShcedule”, schedule); trigger(“onChangeData”, data); Component Domイベントの他独自にイベント定義が可 能。イベントの送受信でComponent間はや りとりを行う。 on(“onChangeData”, function);
15.
何がおいしいか DomとComponentが互いに疎 機能をコンポーネント単位で設計する。依存関
係、責務についての意識高まる イベント連携で疎結合。テストもしやすそう 実装方法が統一されている。 再利用性!
16.
こういう時つらそう コンポーネントで定義されているattrやtrigger をドキュメント化とかしてないと大変そう
動的にappendしたElementをコンポーネントに attachするのがめんどい アプリケーションのコンテキストに依存したコ ンポーネントを作りがちなので設計がむずい
17.
デモアプリ
Node.js+express+jade+mo ngoose MongoDB Flight jQuery requirejs es5-shim bootstrap https://github.com/sys1yagi/flight_sample
18.
構造 大体以下の様に構成を分けてる
Flight様 データ操作、通信周りのコンポーネント 画面のDOMのアタッチ等を行う UI操作用のコンポーネント
19.
Flightの導入 まずBower component.jsonを書く
bower install 必要なscriptを読み込ませる
20.
Bower?
21.
component.json component.jsonに書いたdependenciesをインストールしてくれる
22.
必要なjsを読み込む ※↑はjadeの構文です。普通に<script>とかでももちろんおっけー
23.
Flightの使い方 コンポーネントを作る attachToでDOMにアタッチ
ね、かんたんでしょ? trigger mixin advice, compose,debbug(まださわってない)
24.
コンポーネントを作る
requirejsのdefineメソッドを使ってコンポーネ ントを定義します。 set_name.js 依存するモジュール。ここではFlightコンポーネントの定義なので flight/lib/componentを読みこんでいる モジュールロード完了のコールバック、コンポーネント定義を初期化 して返す。 コンポーネントが持つデフォルト属性。attachToの時渡せる コンポーネント内のメソッド イベントを発行してる。他コ ンポーネントが受け取るかも DOMのアタッチが終わった後に呼び出される。 onClickをthis.setNameで実行する様に登録してる。
25.
attachToでDOMにアタッチ
コンポーネントを読み込む アタッチ対象のセレクタ コンポーネントにセットする属性
26.
ね、簡単でしょ?
27.
trigger todo_list_controller.js
登録 load_list.js 実行
28.
mixin module作ってがっちゃんこ
29.
mixin
モジュールを読み込む Mixin! モジュールのメソッドが使える blurイベントの処理はui_controller側で勝手に登録してる
30.
advice, compose, debbug
advice なんか既存メソッドの前後に実行するメソッド を登録出来るらしい compose mixin実現の為に内部で使われているモジュー ル。mixin書き換えとかにも使えるらしい debbug triggerとかattachとかのシーケンスをログに出し たり、色々
31.
まとめ Flightいいよ! 疎結合!
再利用性! Flightの3ステップ 1.コンポーネント作る 2.HTML書く 3.attachToする処理を書く
32.
続きはWebで! https://github.com/sys1yagi/flight_sample
33.
質疑応答
Jetzt herunterladen