Open4

最近の技術選定のメモ書き 2025年〜

hironowhironow

frontend (web)

※アプリではないがPWAで動くことまでは想定している状態(WebViewは一旦想定しないがTauriまでは想定したい)

  • pnpm (ts-node使うぐらいならbunでやる。ただしそれはCLI程度まで、今回の対象は範囲はpnpmで)
  • Next.js (NestJSは使わない)
  • React (next.jsから自動的に)
  • Auth.js (旧 next-auth.js)
  • Vercel AI SDK
  • LiteLLM (動かないなら自前で)
  • [WIP] shadcn ui: https://ui.shadcn.com/
  • biome (prettierは必要になるまで使わない) biome format --write src
  • [WIP] vitest (jestは使わないがvitest uiメインか?bun testの速さは魅力的)
  • [WIP] playwright (test uiがメインか?)
  • [WIP] storybook (過剰かも...)
  • [WIP] chromatic (playwrightやstorybookと連携)
  • day.js
  • uuid: ライブラリ不要 crypto.randomUUID で。ブラウザ外は "crypto" 必須なので注意
  • [WIP] optimus id: 自前?
  • [WIP] 可視化: observablehq
  • openapi (graphql, grpcは要メリットで基本使わない、swr最近の状況から多分使わない)
  • ...
hironowhironow

backend (python)

※API兼推論サーバー、リアルタイム処理を一部含むを想定

  • mise
  • uv (ryeやpoetryは使わない) miseのpy環境でuv venvして source .venv/bin/activate
  • ruff (flake8やisortは使わない) ruff check --select I --fix && ruff format
  • pytest
  • fastapi
  • pydantic
  • ...
hironowhironow

backend (go)

※APIサーバー、リアルタイム処理を一部含むを想定

  • ...
hironowhironow

トピックごと

※スケールや運用など全要素にまたがる複雑なものはこちらで想定する

永続化

  • Firestore
  • [WIP] Spanner
  • ...

ゆるめのリアルタイム性

  • Firestore Native mode
  • ...

特徴量ストア

  • Firestore
  • ...

otel

  • [WIP] grafana
  • ...

i18n

  • crowdin

rtl

  • ...

通知

  • ...

メール

  • [WIP] resend
  • ...

headless cms

  • [WIP] payload
  • ...

動的なUI

  • JSON Schema
  • [WIP] JSON Type Definition
  • ...