Reactをやめると宣言して3年目、まだ終わらない

Django製の掲示板ソフトMisagoが、2023年末に「React.jsをやめてhtmxに移る」と宣言した。読み込むJavaScriptは圧縮前で合計1.4MB。移行はいまも続いている。

みずき:…JavaScriptが3つで、圧縮前に合わせて1.4MB。掲示板をひとつ開くのに、これだけ落としてくるんだって。

ひかり:ちょっと待って、1.4メガっ!? 掲示板って、文字が並んでるだけだよねっ? どこにそんな重さが要るのー!

ことね:そこが今回の急所なのよ。Misagoという掲示板ソフトの作者が、2023年の暮れに「React.jsをやめてhtmxに移る」と宣言したの。その投稿がいま、海外の技術者の掲示板で掘り起こされて読まれているのね。

ひかり:ことね先輩、Reactって……名前はよく聞くけど、そもそも何をする道具だったっけー?

ことね:ブラウザの中でJavaScriptが画面を組み立てる作りね。サーバーはデータだけ渡して、見た目は手元で組む。htmxは逆で、押したところだけサーバーが完成した形のHTMLを返して、その一部分だけ差し替えるの。ページの一部を「動く島」にする感じ。

みずき:…で、なんでやめるの。流行りで入れて、流行りで捨てるだけじゃないの。

ことね:理由が具体的なのよ。同じ画面をDjangoのテンプレートとReactの両方で二重に書く。管理者がテンプレートを直しても、Reactが上から塗り替えてしまう。会員にもゲストにも同じ画面を出すためにAPIが要る。翻訳ファイルが2つに割れて配信も太る。プラグインを作る人まで両方書かされる。……要するに、作り手の手数が全部2倍になっていたの。

みずき:…で、宣言から2年半以上たって、公開されてる最新版はまだ0.39系。今年6月にもhtmx回りの直しが入ってる。捨てるほうが、入れるより時間かかってるわけね。

ひかり:入れるときは1日で入っちゃうのにねー……。あっ、部室の棚と一緒だっ! 置くのは一瞬なのに、片づけは何年もかかるやつー!

まとめ:入れるのは一晩、捨てるのは何年がかり。散らかるものは、だいたいそうやって増えていく。

元記事を読むホームへ