2014年3月6日

Vue.js vs Knockout.js

Vue.js のサンプルを Knockout に移植し何気なく投稿したところ、Vue.js の作者さんからレスを頂き KO Vue お互いのやり方を交換することに。
3
けん⚡🐍 @ken_zookie

Vue.js が SVG をサポートしてる。どこだ!Knockout で SVG 対応した我がコードはどこだ!コミットしてやる!!

2014-03-05 19:05:01
けん⚡🐍 @ken_zookie

古い TypeScript で書かれててエラーだらけじゃ...

2014-03-05 19:10:28
けん⚡🐍 @ken_zookie

Knockout ではデフォルトのテンプレートエンジン自体が SVG に対応してない(今はどうかわからん)もんで、テンプレートエンジンを自作して対応したんだけど、きっと Vue.js はデフォルトで対応している...

2014-03-05 19:28:31
けん⚡🐍 @ken_zookie

Knockout 3.1 だとなんかふつーに SVG つかえるんですけでょ

2014-03-05 20:04:40
けん⚡🐍 @ken_zookie

Knockout で普通に SVG 使えるようになってた。http://t.co/nSLcR1pbHw

2014-03-05 20:18:55
Evan You @youyuxi

@ken_zookie in the Vue.js example you can do stats.reverse() and the interface will change, but in your KO example it won't...

2014-03-06 01:52:37
けん⚡🐍 @ken_zookie

Vue.js の作者さんから直々にダメ出しを頂いてどういうことか考えている。

2014-03-06 01:58:13
けん⚡🐍 @ken_zookie

あー、それ observableArray にすればいけるんちゃう?

2014-03-06 02:01:13

Vue.js はただのオブジェクトを監視することでデータバインドするため、単なる配列を reverse() で並べ替えた場合も View に反映される。

Knockout の場合、配列を obesrvableArray として宣言することで同じことができる。

※ただし Knockout-ES5 http://blog.stevensanderson.com/2013/05/20/knockout-es5-a-plugin-to-simplify-your-syntax/ を使っているため、observableArray と明示はしていない。プロパティを配列として宣言し ko.track を呼び出すだけで、内部的にobservableArray として処理される。

けん⚡🐍 @ken_zookie

別に打倒 Vue.js というわけではないし Cool だと思う(ロゴなんか特に)けど、「これはできんやろ!」言われたら張り合っちゃうよね。

2014-03-06 02:24:22
けん⚡🐍 @ken_zookie

次の問題きたwwwww あ、寝れない

2014-03-06 02:32:16

続いてグラフ要素の追加・削除に対応する方法に。

これも observableArray で既に対応可能となっているが、グラフ要素の座標計算に「自らの配列上のインデックス」というパラメータが必要である点に注意が必要。

けん⚡🐍 @ken_zookie

ぐぬぬ... できるけどエレガントなコードが思いつかない...

2014-03-06 02:35:27
けん⚡🐍 @ken_zookie

@youyuxi Wow! ...it's pretty simple. okey...okey...

2014-03-06 02:41:50
けん⚡🐍 @ken_zookie

Knockout と Vuejs 、目的は一緒なのにやりかたが裏返し的で面白い。

2014-03-06 02:43:05
Evan You @youyuxi

@ken_zookie also checkout how easy it is to reuse a Vue component ;) http://t.co/lDewoXoBCF

2014-03-06 02:46:39

こちらは View の部品化、というかテンプレートが使えるよ!というお話。

これについては Knockout も得意です。

Evan You @youyuxi

@ken_zookie google translate doesn't translate very well but I'm in no way dissing you :) Just curious to see how the same can be done in KO

2014-03-06 02:50:13
けん⚡🐍 @ken_zookie

@youyuxi Finally... http://t.co/tmrkiGhL9v I'll learn more of Vuejs. Thank you so much!

2014-03-06 02:57:50
けん⚡🐍 @ken_zookie

@youyuxi I know ;) My English is poor... But I'm having so much fun! I think Vuejs looks like reverse of KO.

2014-03-06 03:11:23
残りを読む(12)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?