jQuery と React(仮想DOM) や Angularなどは、もはや用途が違います。
SPAはご存知でしょうか?
Single Page Application というものなのですが、画面遷移をしないアプリケーションのことです。
- 画面の項目に入力をする
- ボタンを押してサブミットをする
- サーバー側で入力情報の処理をし、次の画面の情報を返す
というのが従来の一般的なWebアプリケーションですが、
通信は全てAjaxでして、画面の作成はJavascriptでやっちゃおうというのがSPAです。
ボタンを押した時の画面の一瞬のちらつきがなく、
ユーザーにスムーズに画面遷移をしているように錯覚させるものですね。
SPAは、画面の情報はがらっと変わるため、あたかも画面遷移しているように見えますが、
同じ画面内で新しい表示情報を1からJavascriptで作成しているんです。
どれだけすさまじいことかイメージつきますかね?
javascript
1var table = document.createElement("table")
2var tr = document.createElement("tr")
3var td = document.createElement("td")
4
5table.appendChild(tr);
6tr.appendChild(td);
7
8document.getElementById("table-area").appendChild(table);
これでやっと中身が空っぽの1行のテーブルです。
途方もない作業です。
こんなことやってられないので、それ用のフレームワークがあります。
それがReact(仮想DOM)だったり、Angularだったりします。
jQueryでもやれないことはないですよ。
ただ上記の例と、あまり大差ないコードになってしまいます。
めちゃくちゃコードを書かないといけません。
コードは書けば書くほどバグります。遅くなります。
そして、何がなんだか分からなくってきて、作った本人にしか直せないような状態の
コードが出来上がるわけです。
作った本人すらも直せないかもしれません。
だからこういう用途では、もうjQueryを使うのはやめようという話なだけです。
ちょっとしたアニメーションやDOM操作なのであれば、全然jQueryでいいと思います。
むしろjQueryの方がいいぐらいに思っています。
確かに、最近はjQueryの地位が低くなってきているような印象は受けますが、
僕は当分なくなることはないと思います。
なぜなら、前述した通りそもそも用途が違うからです。
バージョンアップもされていってますし、jQueryの開発がストップしているわけでもありません。
なので、用途によって jQuery は使えばいいと思いますよ。
jQueryにも画面をごっそり作り直せるテンプレートエンジンのような
プラグインも多数ありますが、それをするなら Reactなどを使った方がいいとは思いますね。
それらのプラグインは、Reactなどが出てきてなかった時に作られたものだと思うので、
せっかくSPAを作りやすいフレームワークが出てきたのに、
わざわざjQueryプラグインでやる理由は少ないような気はします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/07/14 08:15
2016/07/14 10:49
退会済みユーザー
2016/07/15 00:09