最近Vueを使ってるんですが、自分がjQueryに染まってる事が凄く実感できたので、ちょっと書いておく。世の中の人達からしたら当たり前の話なのかもしれませんが、自分には久しぶりのパラダイムシフト的な実感があったので。。。頭悪くてごめんなさい。
端的に言うと、イベント駆動からデータ駆動での作りの頭に切り替えられたという話。
例えばボタン押して表示・非表示を切り替える的なやつ↓。
・イベント駆動 jQuery
・データ駆動 Vue
どっちがいいとかそういう事では無く、色々書いてく中で、両者の違いが体で分かってきた。自分、たくさん書いて体で覚えないと腑に落ちてくれない出来の悪い子なもんで。
Vueで書いてると、どうしてもjQueryの時みたいに、その場面場面で、イベント発生に対して何かを制御するという発想で考えている事に気付いて愕然としたのです。ダメだとは全然思ってないけど、思考回路がイベント駆動に染まってんなと思いまして。
なんでイベント駆動の頭なのか考えてみたときに、データが変わるにしろ、画面が変わるにしろ、何かが変わるっていう事は、何かのイベントが定義されていて、それに反応して動作するっていうロジックがコンピュータの根本的な動作だとイメージしてるからなんだと思う。極論すればコンピュータで動いてる以上、全てはクロックに反応してるわけですし。。。
リアクティブっていう概念が理解できてなかったですね。というか、リアクティブって究極のイベント駆動ってことなんだなと思った次第でして。全てのアクションに対して即反応するっていう感じみたい。まぁ違うんでしょうけど。
データ駆動はデータの変化をリッスンするサービスみたいなイメージなのかしら。今のとこそういう理解に至りました。