戯言。生SQLと生PHPと生JSで生DOMを操作したい。

徒然草2.0

参考記事「ベテランプログラマーが書いたコードを見て驚愕したことはありますか?」を見て…ああ、そうなるのか…と思ったが…まあまあ反論コメントも上がっている…ここには深い溝がある気がいたします…。「O/Rマッピングは百害あって一利なし!」を書いたらゲゲゲッと言われるわけですけど、これの技術的な解決策はクエリビルダではなくて柔軟な型機能付きSQLチックなWeb言語ではないかな。もっと言えばJSの変数とリアクティブに対応したリレーショナル・データベース・データ(オブジェクト)みたいなのがあればいい気がします。JSの変数に入れた瞬間にRDBでUPDATEが走ってトランザクションが完結しているみたいな…めんどうなWebアプリの手続きにあくせくしている(なんちゃって)Webエンジニアならそう思うはず。

この前、jQueryというオワコンjsフレームワーク(FWに位置づけていいものか知らないが)で$(“#id”).focus(function(){$(this).select();});と書いて特定の入力項目(テキスト)にフォーカスさせた後に文字列を全選択させようと思ったが上手くいかなかった…jquery内部でエラーになっているのだろうか???結局のところdocument.getElementById(“id”).select();でやったら上手く行ったのでその方法つまり生js/生DOMで記述しました…というのはバットノウハウなんでしょうか?

…でも、Vueなんかもいろいろなところで生jsで解決したほうがいいシーンはあると思うんですが。フレームワークというラッパーがそんなに必要か?Reactは知らない。○✕というプラグインで解決する…というのはあるかもしれませんが、それが必ずしもベストではない時もありそうだという印象です。最終的にサーバサイド・スクリプトからDBを操作するならばクエリビルダではなく生SQLがいい(そんな事を言うとSQLインジェクションがどうのこうの言う人は脇に置いておきたい(ただ、セキュリティの余計な心配をしなくていいという利点がクエリビルダにはあるのかもしれない(ただ、クエリビルダの使い方を誤ったり、クエリビルダそのもののバグに責任を負わなくていいのでしょうか?)))。

同じことはPHPにも言えることが多々ある。composerでとってきたライブラリが動かないならyou自分で生PHPの関数を使って実装しちゃいなよ!てなことをあるプロジェクトで言ったら「PHPのバージョンが変わったら生PHPの関数は使えなくなるから使ってはダメ」なのだそうで…閉口してしまいました。。。確かに非推奨になったと思ったらいきなり使えなくなる関数はあるかもしれないけど、それはWebフレームワークにも言えることでは?WebフレームワークのUPDATEと言語そのもののUPDATEを気にしないといけなくなるのが、問題なのか?今一その人が心配している問題がよくわからなかった…。

結論として「すべて生がいい」は早計かもしれないが「生」は確かであることもまた然り。

コメント

タイトルとURLをコピーしました