created 2023-12-14 updated 2024-08-26 read 2 min

Remixを使う理由

#WIP #Remix
会社でもよくRemixを使っているが、その選定意図とかを会社以外で話すときに資料がないのでちゃんとしたものを作るまでのメモ
RemixがめちゃいいというよりはNext.jsがつらい、もしくは不安感が大きいのが主な原因
印象論みたいになってるところが多いのであとで実例とかエビデンス貼っときたい

Next.jsがつらい

  • Next.jsがイケてるから使おうぜみたいなノリの開発者を避けるため
    • Remixはそういうのがいないわけではないが、相対的に割合が少ない印象。
  • Next.jsの機能は素晴らしいが抽象化しすぎて、基礎が身についていない、もしくは基礎を身につける気のない開発者に悪影響を与える
    • 本人の自己責任といえばそうとも言えるが、組織では自分の考える及第点を下回る実力や意欲の人のリソースをなるべく効率的に使えるようにするか、リソースの大きさを増大させる必要がある
    • PHPにも同じ印象
  • うっかり黒魔術を作ってしまいそうな感覚がある。
  • 所詮vercelで動かさせたいんでしょ?という印象がある。
    • TODO: どっかでそういうissueあったはずだからあとではる
  • formAction in Next.js
  • App Routerまだつらい。

Remixはまあまあ切れ味の良い果物ナイフって感じ

  • v1で気になっていた機能がだいぶ改善された
    • TODO: 気になってたとこあとでかく
  • かなり主観的だが、書き味が直感的
  • 最小限の知識でそれなりにまともな成果物にできる
  • 設計思想が明確
    • https://remix.run 見ればだいたいわかる
      • philosophy に大体書いてあったがこのページ自体はv2で消えてしまったっぽい?残念
  • viteに対応した

メモリ使用量には驚いた↓
一休レストランで Next.js App Router から Remix に乗り換えた話
RemixでWeb標準を学んだ1年間 / First year with Remix - Speaker Deck

Remixにも気になるところは結構ある。

  • 愚直に書けるがボイラープレート的なコードを生産せざるを得ないときがある。
  • Web標準を喧伝しすぎてうさんくさい。
    • htmxみたいなポジショントーク感。

自分が最初から最後まで作りきれるならNext.jsSvelteを使う。その理由も別のところに書く