タグ

mvvmに関するyuisekiのブックマーク (10)

  • Vue+VuexでMVVMなWebApplicationを設計するときに考えたいこと

    まえがき ここ最近、Vueを使って実装されたWebアプリが随分と増えてきたように感じます。自分も何度となく実装してきました。すごく小さなデモを作るときにも使えるし、中規模以上のWebアプリを作るときにも使えるし、扱いやすいライブラリでとても好きです。 ある程度の規模になってくると「複数の画面でデータを共有したい」「こっちのComponentの状態をあっちのComponentに伝えたい」といったような問題にぶち当たり、アーキテクチャを導入することでそれらを解決するというのもお馴染みな感じです。特にVueでは双方向データバインディングの特性上、MVVMアーキテクチャが使われることが多いと思います。 今回は、VueでMVVMを実現する際に起き得る設計上の問題について、現時点での私の解決方針をまとめてみました😌 まえがき Vue+MVVMとはどんなものか 一般的なMVVMを理解する View V

    Vue+VuexでMVVMなWebApplicationを設計するときに考えたいこと
  • 軽量MVVMフレームワークのVue.jsを試してみた

    プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMaciPhoneなどの話題が中心のブログ シンプルで高速なMVVMフレームワークであるVue.jsでサンプルアプリを作成してみました。 Vue.jsの特徴 General FAQ内でAngularJSとの違いを尋ねられたときの、作者であるEvanのコメントによると、Vue.jsには次のような特徴があります (超意訳)。 シンプル 高速 柔軟性があり、他のライブラリを混ぜても爆発しない ディレクティブとコンポーネントの役割をより明確にした 実際、TodoMVCベースのベンチマークテストでは平均的に他のフレームワークよりも早いらしいです。 サンプル というわけでサンプル。よくあるTODOアプリです。フレーム内だと上手く動作しないときがあるみたいなので、そのときは右上のEditから別ページで開いてください

    軽量MVVMフレームワークのVue.jsを試してみた
  • Vue.jsでv-repeatをネストするには - console.lealog();

    いまいちやり方がわからず前回はあきらめた・・。 が、いまやったらできた! 見た方が早いと思うので、コチラをどうぞ。 なんかjsfiddleは調子が悪かったので、CodePenに。 参考:CodePen - Pen Gistにもメモっておくことにした。 参考:How to v-repeat in v-repeat at Vue.js v-repeatをネストするようなケース まあテンプレートなるものでアレコレするケースでは、よくあることかと思います。 こんなデータを、こんなテンプレで。 How to v-repeat in v-repeat at Vue.js v-repeat(他)で使える特殊変数 っていうかはわからんけど。 $parent: イテレーションしてるそれぞれの親オブジェクト $root: 根のオブジェクト(てか$data) $index: いわゆるindex(0起算) $k

    Vue.jsでv-repeatをネストするには - console.lealog();
  • 噂のVue.jsをさわってみた - console.lealog();

    なんか流行りにのってる感があります。 参考:vue.js なんかわからんけどはてブの上位に出てた、気象庁のAPIとあわせて使ってみました。 以下、サンプルのURLです。 ソース見た方がはやいかも。 気象庁APIの仕様変更?の影響か、レスポンスが取得できなくなったので、現在動作してません。 使用感なんて語れるほど大した身分ではないのですが、まあこういう風にも見えてるよ、ということでココはひとつ。 20140712追記 いまだぽつぽつブクマされるので追記です。 このサンプルで使ってるVue.jsはバージョンがかなり古いので、そこを念頭に置いた上で読んでください! 最近のバージョンアップでループまわりは記述方法変わってた気もするので。 さわるまえ ドキュメントを読んでる感じ、Angular.jsの時と同じような印象。 「え、コードこんだけでいいの?うわ動いてるすげー!」っていう感じ。 コードのス

    噂のVue.jsをさわってみた - console.lealog();
  • WebでもBindingしたい!Vue.jsを使ってMVVMしてみる。 - atelier:mitsuba

    タイトルのまま。 xamlでいうと、例えばTextBoxとTextBlockのTextを同期したい。 そんな時は方法は3つあって、 1.KeyUpでTextBlock.TextにTextBox.Text突っ込む。 2.Text同士をControl Bindingする。 3.きちんとVMにプロパティ用意して、Bindingする。 コントロール間とConverterで解決するときは2でいいかなーだけど、3じゃないといけない時とかあるよなぁ。 で、WebでどうするんやろーMVVMってあるんかなーってなって調べてみた。 1と同じ方法だと愚直にChangedイベントとか拾って、JSでDomの中身を書き換えるんだけど、やっぱり美しくない。 2はよくわからん。 で、3を実現するために、Vue.jsっていうライブラリがあるらしい。 Angular.jsよりも気楽に使える軽量シンプルなJSのMVVM用ライブ

    WebでもBindingしたい!Vue.jsを使ってMVVMしてみる。 - atelier:mitsuba
  • Vue.js

    Vue.js - The Progressive JavaScript Framework

    Vue.js
  • 軽量でパワフルなデータバインディングMVVM, vue.jsで遊んでみた - mizchi's blog

    Vue.jsは軽量なMVVMライブラリ。 vue.js http://vuejs.org/ 使ってみた感じ、かなり手触りがよいので、紹介する。 概要 handlebars風のテンプレートを書いて、DOMを展開する。普通のテンプレートエンジンと違い、$dataアクセッサを通じて値を書き換えることで、テンプレート展開後も値が同期する(!!!)。 一言で言うと軽量Angular。コード読んだ感じ、内部的にもAngularから大量にコードを持ってきた痕跡がある。$watchとdirective定義がキモなのは同じ。 とはいっても、軽量なのは使う側のAPI側だけで、内部実装はそれなりに重い。APIを軽量にすることで、Angularのデメリットである学習コスト部分を限りなく削ることを目標にしているんじゃないだろうか。 大雑把な使い方 テンプレートを書く。対応するデータ構造を書く。{foo: 'bar'

    軽量でパワフルなデータバインディングMVVM, vue.jsで遊んでみた - mizchi's blog
  • Angularそっちのけで、Vue.jsについて所感

    Vue.js 軽量でパワフルなデータバインディングMVVM, vue.jsで遊んでみた - mizchi's blog を読んで触発されたので、自分も外見的に良いなと思ったポイントだけ書き留めてみます。さすがに実戦投入できていないので、そのあたりの精度は悪しからず。 サンプルコードの雰囲気 サンプルコードとか自分でちょっと触ってみたときの感触からは、以下のポイントが気に入りました。data-bidingsとかは前提として便利です。はい。 覚え切れそうな分量のAPI Class: Vue - vue.js 脳みそちっちゃいので助かります。それに尽きる。 プロパティによる宣言っぽさ Angularだとイベントハンドラ類を書くにも、$scopeに都度ハンドラを仕込んでいくのがあまり好きでないです。工夫で回避できそうですが、与えられたスタートが下記のような状態であることには変わりません。 angu

    Angularそっちのけで、Vue.jsについて所感
  • Vue.js - The Progressive JavaScript Framework | Vue.js

    The Progressive JavaScript Framework An approachable, performant and versatile framework for building web user interfaces. Why Vue Get Started Install Get Security Updates for Vue 2 Approachable Builds on top of standard HTML, CSS and JavaScript with intuitive API and world-class documentation. Performant Truly reactive, compiler-optimized rendering system that rarely requires manual optimization.

    Vue.js - The Progressive JavaScript Framework | Vue.js
  • 雑把の UI アーキテクチャー史(MVCからMVVMへ) | プログラマーズ雑記帳

    Web の場合は View と Controller の違いははっきりしてます。 View は html ページとその作成を担当します。 CGI は アドレスとパラメーター(アドレスの ? の後など)を受け取り、処理を行います。 その受け取り部分が Controller です。 Model と View ではなく、なぜ MVC としたのでしょうか ? 『 GoF 』 では Controller を分ける利点をいくつか挙げられています。 キーボードの応答を変えたり、メニューからの呼び出しに変更するとき、表示方法を変更しなくていい。 入力イベントを無視するといったことをコントローラーのインスタンスの入れ替えで可能。 その他にも "View を入れ替えれば、 PC アプリ、 Web アプリでも使えるように" という理由もあります。 ちょっと無理そうな話ですが、例えば、 PC アプリが次のような

  • 1