🏙️

モダンなjQueryに挑戦してみよう

に公開
8

Discussion

ioioioioioio

素晴らしい記事と筆者のスタンス。私もフロントエンドをReactにするとかのつまらん流行で時間を無駄にしました。そんなことより今後来るよりドラスティックな変化に備えるべきだと思います。

たぬきの教祖たぬきの教祖

個人的には、フロントエンドの寿命は精々が5年とかその程度で、例えばDBの寿命などと比較すれば圧倒的に短いと思います。
それに対して長期的な視点で挑むのはズレていると感じます。
失敗例は、何故か今あるレガシーを活かしてリプレイスしようとするために、複雑にもなれば、無駄が増えているように見えます。
根本的に、バックエンドはそのままでも、フロントは数年ごとに設計から全く作り替えるべきと思います。
そう考えれば、延命措置はあまり良い効果を生まないと思っています。

NaofumiNaofumi

ありがとうございます。

先の記事でも紹介しましたが、現実問題としてフロントエンドをリプレイスするのに複数年かけているところは多く、それでも完了していないのが大半ではないかと思っています。私も現場で見ていますし、そのような現場が多いことは間違いありません。

そのようなところに対して、「フロントは数年ごとに設計から全く作り替えるべき」というのは流石に酷かなと思います。

他方で一休のように、数ヶ月でフロントエンドフレームワークを変えるところもあります。ここはフレームワークに依存しないフロントの書き方をしていたと思いますので、それが可能なのでしょう。これなら数年ごとに全面的に変えるのは現実的です。

おっしゃるように、レガシーを生かそうとするから失敗するのかと言えば、私が見ている限りではそうではないと感じます。例えばRailsにReactを載せること自体は難しくありませんし、それでフロントの開発が遅くなったとい話は聞きません。現実問題としてReact + ERB混在プロダクトは多いです。

私の感覚でいうと、一休のようにフロントエンドをフレームワーク非依存に作ってあるならリプレイスは早いと思います。そうでないのなら遅くなると思います。自分たちのプロダクトがどっちかを把握した上でリプレイス戦略を考える必要があると思います。

そして短時間ではリプレイスできないと判断したら、延命策を講じるのがビジネス的に正しいと思います。

もう一つ大切なことは、リプレイスしてもUI/UXがあまり改善しないことです。中途半端に混在しているプロダクトで日々開発をすると、これは強く感じます

mactkgmactkg

私はRubyistで基本的には静的型付けは不要だと思っています。しかしjQueryの場合は生のHTML要素を扱っているのか、それともjQueryでラップしたものを使っているのかがわからなくなることが多々あります。だからjQueryに限って言えば、私でも静的型付けは便利だと思いました。

jQueryのオブジェクトはprefixに $ をつけるテクニックを見かけたことがあるのですが、結構気にいっています。

const $calculators = $("[data-jquery='calculator']")
...
const $gradeButtonRegularTarget = $calculator.find("[data-jquery-calculator-target='grade-selector-regular']")
NaofumiNaofumi

ありがとうございます。確かにその通りですね!