昔はJavaScriptでロジックを書くのはあり得ないと思っていた

仕事中にReactを触っていて、ふと思ったこと。
改めて考えるとすごい環境が変わったな、と思いました。

私が初めてPHPを触ったのが2012年ごろ、そこから7年ほど閉じた環境で開発を行っていましたが、転職を機にjQueryを触るようになりました。
私の記憶だと当時、JavaScript(jQuery)ではほとんどデータ処理をしていませんでした。
装飾や描画をリッチにするためのものであって、データを処理する、という役割は持っていなかったように思います。
Smartyを使っていたからかもしれませんが、
Formから受け取ったデータはそのままの形でPOST,GETされ、PHP側でforeachなどを使って処理し、DBと連携後、フロントに返していました。

しかし今はReactを触っていて、そのころのPHPとまるっきり同じことをしています。
フロント側でAPIに渡すデータを処理・整形し、バックエンドでは整形されたデータを使用してDBと連携、フロントに返す、という動きになっています。

自分の中でかなり衝撃的で、フロントでここまでのことをするのか、という違和感がまだ少しあります。
2014年ごろに、当時の会社の人が
「最近の技術では、データ処理などはフロントで行って、バックエンドのPHPではDBとデータの受け渡しをするぐらいの簡単なことしかやっていない」
と言っていました。
しかしその時は「このおっさん何言ってんねん」と思って取り合うこともしませんでした。
しょうもないことですが、当時の私にとってJavaScriptはどちらかというとHTMLに近いマークアップ言語の強化版、みたいな感覚があり、PHPの責務を取られることに変なプライドが邪魔して聞き入れることができませんでした。(その方とそりが合わなかったので色眼鏡もかけていたと思います。)
今にして思えばその人はかなり先を見越した技術を取り入れており(その当時は私の知る限り、フロントでデータ処理なんていうことは聞いたことがなかった)優れていたのだと思います。

実際に転職後、今まであった中でもハイレベルな方の下で働いたのですが、フロントでデータ処理を行うということはありませんでした。
先に動いてしまっているシステムだったのでそう簡単に取り入れられるものではありませんでしたが、フロントでデータ処理を行う、ということが話題にあがることすらありませんでした。

しかし今はReactの責務がおかしいとは思わなくなりました。(上でも書きましたが、フロントでやってることに違和感みたいなのはありますが。。。)
むしろこれが今の作り方なんだなと受け入れている、というかわかりやすくていいなと思います。
あの当時でも、PHPでフロント用にデータ整形してSmartyで表示、みたいなのすごく嫌だったので。
こうして振り返ってみて思ったのですが、JavaScriptでロジック的なことさせるのはあり得ない、という感覚でした。

「JavaScript切られたらどうするんですか?」ということを念頭に置いて開発するのが当たり前だった記憶もあります。
ブラウザ差異も今よりもっと気にしていました。
IEが残ってたり、IEもバージョンごとにユーザーが分かれていたり、FireFoxがあったりChromeがあったりOperaがあったり(Opera使ってる人は周りで見なかったですけどね。最後に見たのは2001年ぐらいに友人が使っていたところでしょうか。)
開発するときは最低でも3種類ぐらいのブラウザで検証していた気がします。それもデザインではなく挙動の面で。
現在ではIEが完全に廃止されEdgeに移行し、以前はChromeよりも幅を利かせていたFireFoxさんが鳴りを潜め、プライベートで使うブラウザはChrome一強といっても過言ではないぐらいになりました。
Windows標準のEdgeと、ユーザーの多いGoogle Chromeが同じChromiumで開発されており、JavaScriptの挙動の差異をそこまで気にしなくてよくなりました。
それでも基本は企業向けのアプリ作るときだとEdgeで動作確認することが多いですけどね。

すごく開発しやすい時代になったと思います。
私自身、経験が豊富な訳ではないですが、開発環境もEditorも言語もどんどん強力になっていて、以前だと実現できなかった/実現する敷居が高かったものが、ものの数分で実現できるようになりました。
そこに関してはGPTの存在も大きいですね。
その話も思うところが多々あるのですが、それはまた別の機会に。

色んなことを思い出しながら仕事をしていたら、あっという間に終業時間になっていました。
以前は帰ってからもプログラム組むとか考えるとかすごく嫌だったんですが、最近は息抜きに自分の組みたいものを組むようになってきました。
GPT使ってるんで自分で組んでるって言っていいかわからないですが。。。

それでは、また。

コメント

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