knockout.js helps you simplify dynamic JavaScript UIs using the Model-View-ViewModel (MVVM) pattern. This website is a set of interactive coding exercises to help you quickly learn how to benefit from knockout.js and MVVM.
お疲れ様です。 思えばKnockoutJS触るようになってからまだ3ヶ月かそこらです。そこまで語れるようなコアな知識に踏み込めるか?というとそこまで探求しきれてはいません。なので初学者向けに何か書けるといいな、と考えました。 KnockoutJSを使おうと思ったきっかけは3ヶ月くらい前、Rebuild.fmで宮川さんがAngularをdisりながら「JavaScript得意な人はKnockoutが薄くていいよ、っていうけどね」と言うのを聞いたことでした。自分も前の仕事でAngularの規模感(というか学習コスト)につらみを感じていたので、新しく開発する前にちょっと触ってみるか、と興味を持ちました。 勉強しはじめて、わりとすぐ新しい開発で導入したのですが、その中で実際に何をしたのかを振り返ると 公式チュートリアルを3周くらいやる Railsにうまいことフィットさせる方法を実装しながら模索 こ
これはKnockoutJSアドベントカレンダー1日目の記事です。 KnockoutJS Advent Calendar 2014 - Qiita 一発目なので最初は KnockoutJS とはどんなものなのかについて書きたいと思います。 KnockoutJSとはMVVMパターンでJavaScriptで作る動的なUIをシンプルに構築するライブラリです。 ※個人的にはフレームワークではなくライブラリだと思っている 公式サイトには以下のような標語で書かれています。 Simplify dynamic JavaScript UIs with the Model-View-View Model (MVVM) Knockout : Home KnokoutJSを一言でいえば、「バインディングフレームワーク」の一種です。 以下の特徴があります。 ・他のライブラリ(jQueryなど)に依存しない ・IE 6
KnockoutJSを使った開発を1年ほど前に行っていました。 元々はプロトタイピングだけに使う予定でしたが、使い勝手が良かったのでそのまま本開発に取り込みました。 最近、少しAngularについても調査をしていたので、Knockoutと比較できる部分も書きだしてみました。 KnockoutJSの長所/短所、そしてAngularJSとの比較となります。 長所:双方向のデータバインディング Knockoutの最大の長所は、間違いなく強力な双方向のデータバインディングと言えます。 この凄さを試したければ本家サイトのExample各種を試すと良いかもしれません(参考URL)。 あるいは自分自身でサンプル・アプリケーションを作るといいでしょう。 すぐに虜になるはずです。 DOMとJSのモデルを紐付けて、整合性をとる処理を全てフレームワーク側が吸収してくれます。 JS側の記述がシンプルになるので、ア
数あるJS Frameworkの中でKnockoutを選んだ理由を紹介します。 つくりたかったもの ざっくりいうと、、、チームマネジメント用のタスク管理ツール。基本的なtodo機能が人に紐付いていて、マネージャーがそれを一括管理できる。大規模ってほどではないと思います。 DOMへの即時反映+各々の環境でもリアルタイムに更新したい。リアルタイムはRails-Websocket使うとして・・その他のDOMの動き、通信は何で実装しよう、という感じ。 KnockoutJsを選んだ理由 先にKnockoutを導入したかった理由を上げてみます。 (これはフレームワークを使いたかった理由)jQueryでDOMがめちゃくちゃになってよく泣いていたので、ビューをバインドできるMVがあるフレームワークを使いたかった。 学習コストが低い。資料やチュートリアルが豊富。フレームワークをガッツリさわったことがないので
JSのMV*は何がいいのか論争は最近収束気味な気はしますが、あんまり触ることができていなかったので、きよくらさんの話を聞いて興味を持っていたKnockout.jsを、仕事で作っているプロダクトに導入してみました。 AngularJSは途中から導入するには難しいですし、BackboneJSはなんか面倒臭かった記憶がありました。結局jQueryで頑張ろうと思えばなんとかなるレベルなので、とりあえずjQueryでDOMと戦っていましたが、面倒臭さが勝ち始めてきました。Knockout.jsは、MVVMとしてシンプルな機能を提供してくれているので、途中から導入できそうでした。 ちなみにKnockout.jsとjQueryを合わせて使っているので、プロジェクト内からjQueryを撲滅するとかそういうことはありません。相変わらずjQueryは便利に使っています。 jQueryのみで作ってDOMを掘って
Vue.js Meetup を開催しましたつい先日、Vue.js Meetup を開催しました。 いつもこういったイベントは参加者の方なんですが、実はイベントを主催するというのは初めて。 なのでちょっと少しドキドキな感じだったので、初めてで不安があるというのと、会場で使ったうちの会社のキャパを考えて10名という人数で開催させて頂きました。 開催した目的としては、Vue.js、ネット上で、入門記事とか、業務で使ってます的な記事、ちょくちょく見かけるんですけど、実際に使っている人たちの生の声を聞いたりして、いろいろと知見や情報をみんなで共有したかったというのが目的です。 自分が発表した内容Railsで作られたサービスにVue.jsを導入したというお話弊社の Rails で作られたサービスに Vue.js を導入したときについて発表させて頂きました。サーバサイドは Rails ですが、クライアン
JavaScriptのMVCフレームワークと仲間たち JavaScriptでイイ感じに開発をしたいという欲求が高まってきたため、自分でフレームワークを作らずに世界の賢者たちから学びたいと思います。今回は、JavaScriptでMVCフレームワーク等を実現しているフレームワークや周辺のライブラリ、さらにはツールやユーティリティまで幅広くご紹介します。 (2012/1/17 updated) Backbone.js Spine.js JavaScriptMVC AngularJS SproutCore Ember.js YUI App Framework Broke.js Fidel.js Sammy.js KnockoutJS eyeballs.js The M Project Knockback Batman.js Shipyard.js Agility.js ベース jQuery Doj
最近 AngularJS 嫌いという言説が多いですが、そういうことを仰る方々は主に先鋭的な JSer のように思います。 ただ、僕なんかの場合には、ユーザー向けの画面の構築などには AngularJS を使って書くことは最近はほとんどなく、JS を書くといえばもっぱら管理画面です。 管理画面の JS を書くにあたっては AngularJS way にのっかってやると非常に楽ですよね。管理画面を書いたりする上では vue-js とかで頑張って書くと見通しが悪くなったりしますし、こった動きなどは必要ないというところで angular.js ワリといいなと思っています。 もっといいものがあれば移りたいですが、コストをかけずに作りやすい管理画面を作るという意味ではやはり AngularJS にまだメリットがあるなあ、と思っています。 2.0 が出た時にこまるというのもありますが、実際は angul
(English article is here.) こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 ウェブ開発に欠かせないJavaScriptフレームワークですが、日々発展しておりReact.js, Ractive.js, Aurelia.js, AngularJS2.0など次々と新しいフレームワークが出てきています。 一体どれを使えばいいのか?何が違うのか?何から調べていいのか迷うことがあります。 そこで、現時点で事実上全てとなる、9大主要フレームワークについて、実際に使ってみて比較を行います。 Backbone.js Ember.js Knockout.js AngularJS(1.x) React.js Ractive.js vue.js Aurelia.js AngularJS2.0(アルファ版) これらのフレームワークでは、以下のような機能が実現さ
Todoアプリもどきを作る 今回はRequireJSの理解を深めるため、Backbone.jsと組み合わせてTodoを追加するだけの簡素なデモを作ってみました。 Backbone.jsについても触れているため、記事が少し長いです。 お急ぎの方はページ下部にデモとサンプルコードがあるので、そちらをさくっとご確認ください。 RequireJS: http://requirejs.org/ RequireJS API: http://requirejs.org/docs/api.html Backbone.js: http://backbonejs.org/ なにができるの? Webアプリを制作する際に、RequireJSを使ってBackbone.jsで構成されるModelやViewをモジュール化することで、開発時の管理コスト削減を目指します。 なお、モジュール化するとファイル数が増えて読み込み
対象読者 jQueryなどを使っているJavaScript開発者 JavaScriptを使った複数人でのプロジェクトに参加している方 JavaScriptを使ってサーバ等と連携したフロントエンドの開発をしている方 必要な環境 この記事では、AngularJSを使用し、Chrome(36.0)、IE11、Firefox(31.0)、Safari(7.0.5)の環境で確認を行っています。 JavaScript開発の歴史 フレームワークを説明する前に、10年ほど前から現在までのJavaScriptが歩んできた流れが分かると、どうして今、JavaScriptにもフレームワークが必要になってきているのか、または開発者はフレームワークに何を求めているのかが多少は見えてくることと思います。 2005年くらいまではJavaScriptは利用者や開発者から避けられていた技術で、たとえ使われても、非常に簡単で
最初に僕のポジションは表明しておくけど、今までbackbone.js, というかそのラッパーであるchaplin.jsべったりの環境で開発してて、今のプロジェクトをゼロから作り直す機会があるので次バージョンのためのライブラリ選定のためにとりあえず比較として angularを試した見た程度の人間なので、深くは理解してない。 Angularのメリット 僕の浅い理解と勉強会での話を総合した感じ レールに乗り切った時の開発効率が半端ない レールがしっかり敷かれているので開発者の能力差が問題にならない HTMLがテンプレートなので意味的な乖離が少ない ビューモデルに対する操作が一貫していてテスタビリティがある 自分もモジュラリティがあるHTML/CSSは幻想だと思っているので、HTMLに直接属性を書くのは別に構わないと思っている。 ただ、集団開発でも開発者の能力差が問題にならない、という発表をしてい
仕事でJavaScriptのMVCフレームワークであるAngular.jsというものに少しばかり触れさせて頂くことができたので紹介してみたいと思います。 Google製のJavaSriptのフレームワークです。 ・Backbone.js ・Knockout.js と並んで三大JavaScriptフレームワークの一角らしいです。 ちなみに上記の2つは私はよく知りません。 当時の私は、JavaScriptのMVCフレームワークって「なんすかそれ?おいしいの?」という状態で、JQueryって十分すごしそれでいいじゃん?という感じでJavaScriptのMVCフレームワークそのものに懐疑的でした。 しかし、とあるWebアプリの仕事を通じてangular.jsに触れてみると、「や、これはいいかも。というかすごくいい」と改心せざるを得なくなりました。 旧来の普通のJavaのWebAPの作り方でJSPや
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く