ラベル フロントエンド の投稿を表示しています。 すべての投稿を表示
ラベル フロントエンド の投稿を表示しています。 すべての投稿を表示

2024年1月28日日曜日

htmxについて

 htmxというフロントエンドのフレームワークがあります。というかつい最近知ったんですが

ここしばらくフロントエンド開発から離れていたので全然キャッチアップできておらずお恥ずかしい話ですが、去年あたりから世界的に流行っているらしいですね。

このフレームワークについての説明は上記の記事や公式サイトに任せますが、これを見たときに最初に思ったことは「ついに来たか」でした。

フロントエンド開発の変遷からして、いずれはこういうものが来ると思っていたのです。

20年ほど前にJavaScriptを使ったリッチなフロントエンドの開発が流行り始めたとき、最初はjQueryやPrototypeなどのライブラリーを使ってDOMを直接操作していました。Ajaxとかいう言葉が騒がれ始めたのもこの頃です。

しかし変数の値が変わるたびにDOMを操作する、あるいはDOMの構成が変わるたびに変数に反映させるという処理はややこしかったので、やがて変数とDOMをバインディングさせるという発想が出てきました。AngularJSやReactです。ReactはVDOMという別の概念ももたらしたのですが、これは別の話。

さて、「DOM直接操作」から「変数とDOMをバインディング」と変遷して開発者はロジックの記述のみに専念できるようになったわけですが、このあたりから「次はそもそもロジックを書かずに済むフレームワークが出てくるんだろうな」と考えていました。

ロジック(≒プログラム)を書かず、イベントが発生したときに呼ぶAPIと、戻り値を反映させる先をYAMLファイルのようなもので指定しておくだけで済めばデバッグの手間も大幅に減ります。なんでも作れるというわけではありませんが、これで十分なウェブアプリケーションも決して少なくない。そんなフレームワークがそろそろ出るだろうと。

このhtmxは、まさにこの思想から生まれたものだと思っています。YAMLではなくHTML内に直接指定ですが、そこは些細なこと。要はロジックを書かずに宣言的にアプリケーションを作れる時代がやってきたということです。

あ、上のアイデア(YAMLで指定する云々)を誰かパクって新しいフレームワーク作ってもいいんですよ

2023年11月19日日曜日

React&muiで、ダイアログオープン時にフォーカスを移す方法

かなり久しぶりに仕事でReactを使っています。最近はバックエンドとかモバイル通信網とかプロトコルの仕様書を読んで自分で実装したりとかどんどん低レイヤーな内容に寄っていたので、フロントエンドをやったのはかなり久しぶりな気がします。

muiでポチポチインターフェースを作っていたんですが、ダイアログを開いた時に中のコンポーネントにフォーカスを当てる方法で詰まりました。

あ、今日の内容はトラブルシューティングというよりReact/mui弱者の戯言だと思ってください。