Submit Search
RailsでKnockout.js
0 likes
1,543 views
Makoto Henmi
第18回 岡山Ruby, Ruby on Rails勉強会での発表資料
Software
Read more
1 of 44
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
More Related Content
PDF
軽量フレームワークNancy
Narami Kiyokura
PDF
「移動中の仕事術とユーザーグループと私」
Kohei MATSUSHITA
PDF
JAWS DAYS 2017 / SORACOM UGで発表されたLTやブログを紹介しちゃうよ!!
Kohei MATSUSHITA
PPTX
フレームワークMarko
Isamu Suzuki
PDF
最近のASP.NET事情2013Winter
Narami Kiyokura
PDF
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
Nao Minami
PDF
EC-CUBE とクラウドは仲良しか?
Kentaro Ohkouchi
PDF
僕の Serverless web application
祐樹 夏目
軽量フレームワークNancy
Narami Kiyokura
「移動中の仕事術とユーザーグループと私」
Kohei MATSUSHITA
JAWS DAYS 2017 / SORACOM UGで発表されたLTやブログを紹介しちゃうよ!!
Kohei MATSUSHITA
フレームワークMarko
Isamu Suzuki
最近のASP.NET事情2013Winter
Narami Kiyokura
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
Nao Minami
EC-CUBE とクラウドは仲良しか?
Kentaro Ohkouchi
僕の Serverless web application
祐樹 夏目
What's hot
(14)
PPTX
The seminar of asp.net at 201908 sakurug
SAKURUG co.
PDF
コミュニティと自分
祐樹 夏目
PDF
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
asakahara
PDF
Yapc2012ltthon
Junya Murabe
PPTX
Web forms made easy (with formative)
Ikuru Kanuma
PDF
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
PPTX
さわってみようReact.js、AngularJS(1系、2系)
Kazuhiro Yoshimoto
PPTX
RubyとRのおいしい関係
sady_nitro
PDF
Shinjuku.rb #29 ActiveJobでSQS使ったのとその永続化についての話
Takeuchi Yuichi
PPTX
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Yasuyuki Ogawa
PDF
Alibaba Cloud Serverless Kubernetes 徹底解説
Shinya Mori (@mosuke5)
PDF
Farmnoteの技術(AWS Cloud Roadshow 2014 札幌)
Takehito Tanabe
PDF
RailsのRailから解放される始めの一歩
Masato Noguchi
PDF
Sprocketsを捨てたい
Masato Noguchi
The seminar of asp.net at 201908 sakurug
SAKURUG co.
コミュニティと自分
祐樹 夏目
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
asakahara
Yapc2012ltthon
Junya Murabe
Web forms made easy (with formative)
Ikuru Kanuma
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
さわってみようReact.js、AngularJS(1系、2系)
Kazuhiro Yoshimoto
RubyとRのおいしい関係
sady_nitro
Shinjuku.rb #29 ActiveJobでSQS使ったのとその永続化についての話
Takeuchi Yuichi
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Yasuyuki Ogawa
Alibaba Cloud Serverless Kubernetes 徹底解説
Shinya Mori (@mosuke5)
Farmnoteの技術(AWS Cloud Roadshow 2014 札幌)
Takehito Tanabe
RailsのRailから解放される始めの一歩
Masato Noguchi
Sprocketsを捨てたい
Masato Noguchi
Ad
Similar to RailsでKnockout.js
(20)
PPTX
オープンキャンパス体験授業20150802
義広 河野
PDF
Going Serverless, Building Applications with No Servers
Keisuke Nishitani
PPTX
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
WESEEKWESEEK
PPTX
Railsのフロントエンド開発を考える
Hirata Tomoko
PDF
LocalStack
chibochibo
PPTX
フロントエンド技術の変遷
Ryo Higashigawa
PDF
React.js + Flux
dsuke Takaoka
PPT
JavaEdge第3回ライブセッション
Yoichiro Tanaka
PDF
Mvc conf session_1_osada
Hiroshi Okunushi
PPTX
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
Kazuhiro Yoshimoto
PDF
090821 Ruby Sapporo Night Ruby Cocoa
Tomoki Maeda
PDF
DSL駆動によるクラウド・アプリケーション開発
Tomoharu ASAMI
ODP
Next Language Scala
pengin01
PPTX
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
Ryusaburo Tanaka
PPTX
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
KEY
【アジャイル道場】Rails勉強会(view編)
Sosuke Kimura
PDF
AWS CloudFormationによるInfrastructure as Codeの実現
HIRA
PDF
2022_1210_WordpressMeetup.pdf
Naotaka Saito
PDF
Monadic Programmingのススメ - Functional Reactive Programmingへのアプローチ
Tomoharu ASAMI
PDF
Dev campjpn day2session3
Developer Camp 2012 Japan Fall
オープンキャンパス体験授業20150802
義広 河野
Going Serverless, Building Applications with No Servers
Keisuke Nishitani
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
WESEEKWESEEK
Railsのフロントエンド開発を考える
Hirata Tomoko
LocalStack
chibochibo
フロントエンド技術の変遷
Ryo Higashigawa
React.js + Flux
dsuke Takaoka
JavaEdge第3回ライブセッション
Yoichiro Tanaka
Mvc conf session_1_osada
Hiroshi Okunushi
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
Kazuhiro Yoshimoto
090821 Ruby Sapporo Night Ruby Cocoa
Tomoki Maeda
DSL駆動によるクラウド・アプリケーション開発
Tomoharu ASAMI
Next Language Scala
pengin01
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
Ryusaburo Tanaka
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
【アジャイル道場】Rails勉強会(view編)
Sosuke Kimura
AWS CloudFormationによるInfrastructure as Codeの実現
HIRA
2022_1210_WordpressMeetup.pdf
Naotaka Saito
Monadic Programmingのススメ - Functional Reactive Programmingへのアプローチ
Tomoharu ASAMI
Dev campjpn day2session3
Developer Camp 2012 Japan Fall
Ad
More from Makoto Henmi
(8)
PDF
若者が勉強会に参加しない問題
Makoto Henmi
PDF
開発フローを改善した時の昔話
Makoto Henmi
PDF
Joinsが使えなかった話
Makoto Henmi
PDF
24時間コンテストに参加した話
Makoto Henmi
PDF
Sassでちょっと楽しよう
Makoto Henmi
PDF
紙と鉛筆で設計しよう
Makoto Henmi
PDF
岡山のRuby勉強会(OSC広島2013)
Makoto Henmi
KEY
Rhodes
Makoto Henmi
若者が勉強会に参加しない問題
Makoto Henmi
開発フローを改善した時の昔話
Makoto Henmi
Joinsが使えなかった話
Makoto Henmi
24時間コンテストに参加した話
Makoto Henmi
Sassでちょっと楽しよう
Makoto Henmi
紙と鉛筆で設計しよう
Makoto Henmi
岡山のRuby勉強会(OSC広島2013)
Makoto Henmi
Rhodes
Makoto Henmi
RailsでKnockout.js
1.
RailsでKnockout.js 逸見 誠(@mako_wis)
2.
自己紹介 • 逸見 誠(へんみ
まこと) • Twitter:@mako_wis • 株式会社クレオフーガ • フロントエンド/iOSアプリエンジ ニア
3.
近況 ・Knokout.js + .Net
MVCでお仕事 ・フットサルしてます
4.
勉強会スタッフ 岡山Ruby, Ruby on
Rails勉強会(雑用) Okayama.rb(イベント作成係) 中国地方DB勉強会(雑用) オープンセミナー岡山(会計・雑用)
5.
アジェンダ Knockout.jsとは Railsに導入してみる 使うと楽できる所 使ってみた感想
6.
Knockout.jsとは
7.
主な特徴 ※日本語ドキュメントから引用 エレガントな依存トラッキング - データモデルが変更される度に、UIの関連付けられた部分を更新し ます。 宣言型 バインディング -
データモデルとUIを関連付ける、シンプルで明確な方法です。複雑な 動的UIも、バインディング・コンテキストを階層化させることで簡単に 作成できます。 拡張が容易 - 新たなバインディングの仕組みを実装することも、最小限のコード量 で実現できます。
8.
その他のメリット ※日本語ドキュメントから引用 純粋な JavaScript ライブラリである -
サーバサイド, クライアントサイドの技術を選びません。 既存のWebアプリケーションにも投入できる - アーキテクチャに大きな変更を必要としません。 コンパクト - gzip圧縮済みであればおよそ13KB程度です。
9.
その他のメリット ※日本語ドキュメントから引用 メインストリームのブラウザをサポート - ( IE6以降,
Firefox2以降, Chrome, Safari 等 ) ビヘイビア駆動開発に向いている - ビヘイビア駆動開発(テストコードが仕様書と ほぼ同義となる開発手法)を用いて、新しいブラ ウザやプラットフォームでの動作検証を簡略化す ることができます。
10.
とりあえず使ってみよう
11.
Railsに導入してみる
12.
導入方法 ・JSファイルをダウンロードして追加 ・gemを使う
13.
今回はgemを使います
14.
knockoutjs-rails ・JSファイルをダウンロードして追加 ・gemを使う
15.
これで使える・・・
16.
と思ったら罠が
17.
Rails4そのままだと動かない
18.
原因は・・・
19.
_人人人人人人人_ > turbolinks <  ̄Y^Y^Y^Y^Y^Y ̄
20.
Rails4デフォルトで動かない ・どうやらturbolinksが原因っぽい ・turbolinksとknockoutが競合してる? ・turbolinksを無効にすると動きます
21.
さようならturbolinks
22.
これで使える
23.
導入方法まとめ ・プロジェクトにknockoutを追加 ・turbolinksを無効にする←大事!
24.
使うと楽できる所
25.
入力値を同期したい
26.
入力値を同期する %input(type="text" data-bind="value: message") %br %span(data-bind="text:
message") $ -> TestappViewModel = -> self = this self.message = ko.observable("Hello World!!") ko.applyBindings new TestappViewModel() return coffescript haml
27.
デモ
28.
クリックに対して何かしたい
29.
クリックでカウントアップ %span(data-bind="text: numberOfClicks") 回クリックしました %button(data-bind="click: incrementClickCounter") クリックしてください $
-> TestappViewModel = -> self = this self.numberOfClicks = ko.observable(0) self.incrementClickCounter = -> previousCount = this.numberOfClicks() this.numberOfClicks(previousCount + 1) ko.applyBindings new TestappViewModel() return coffescript haml
30.
デモ
31.
配列に入ってるデータを表示
32.
配列のデータを出力 %ul(data-bind="foreach: users") %li %span(data-bind="text: name”) : %span(data-bind="text:
type") $ -> TestappViewModel = -> self = this self.users = ko.observableArray([ { name: "太郎", type: "長男" }, { name: "二郎", type: "次男" }, { name: "花子", type: "長女" } ]); ko.applyBindings new TestappViewModel() return coffescript haml
33.
デモ
34.
詳しい情報は 日本語ドキュメントで http://kojs.sukobuto.com/
35.
実際使ってみてどうなの?
36.
個人的にいいなと思ってる所 ・画面周りの制御に特化してる ・CSSの付け替え、表示切り替えが楽 ・Javascript用のクラスを付けなくていい ・Webフレームワークの領域と喧嘩しない
37.
まとめ
38.
Knockout.js便利!
39.
プロジェクトにも入れやすい
40.
まだCSSの 切り替えで消耗してるの?
41.
ぜひ使ってみてください
42.
おわり
43.
はまり所 ・2重バインドでエラー ・否定の場合は()が必要
44.
多重バインドでエラー %ul(data-bind="foreach: users") %li %span(data-bind="text: name”) : %span(data-bind="text:
type") $ -> TestappViewModel = -> self = this self.users = ko.observableArray([ { name: "太郎", type: "長男" }, { name: "二郎", type: "次男" }, { name: "花子", type: "長女" } ]); ko.applyBindings new TestappViewModel() return coffescript haml
Download