stackbook

← 辞書

言語

TypeScript

公式サイト ↗

言語別の既定§2-1

選ぶ場面§2-10

  • 実行環境がエッジ(Cloudflare Workers等)
  • DBの読み書きと業務ロジックが中心ボトルネックはDB。言語の性能差はほぼ効かないので、開発速度とチームで選ぶ
  • 外部APIの待ち時間が中心非同期I/Oの書きやすさと、フロントとの型共有
  • サーバーレスのイベント処理起動が速く、AWS SDKが充実。起動速度を詰めるならGo
  • GraphQLサーバーGraphQLのツール群がTypeScript中心

既定:一般的なWeb API・SaaSのバックエンド作成物ごとの言語の決め方

乗り換える条件

  • Go3人以上で公開APIを長期運用するとき(§2-10 手順3)

負荷の性質で決まる場合は §2-10 を優先する

既定:エッジ関数作成物ごとの言語の決め方

乗り換える条件

既定:LLM API呼び出し中心のAIアプリ作成物ごとの言語の決め方

乗り換える条件

  • Python埋め込み処理や評価などML系ライブラリを本格的に使うとき

既定:スクリプト・社内の小さな自動化作成物ごとの言語の決め方

乗り換える条件

  • Go単一バイナリで配りたいとき
  • シェルスクリプト数行で済むとき

代替:CRUD中心のWebアプリ・管理画面作成物ごとの言語の決め方

既定は Rails(画面の多い業務システムを最も速く作れる)。外部API連携が中心、またはReactで画面を作り込みたいとき に乗り換える。

代替:CLIツール作成物ごとの言語の決め方

既定は Go。社内向けでnpmの資産を使いたい に乗り換える。

代替:ブラウザ内の重い処理(画像・動画処理、暗号、大量データの解析)作成物ごとの言語の決め方

既定は Rust → WebAssembly。処理がそこまで重くないとき に乗り換える。

採用の根拠§22-2

GitHubのOctoverse 2025(https://octoverse.github.com/)で、2025年8月に月間コントリビューター数でPythonとJavaScriptを抜き最も使われる言語になった。Next.jsやAstroなど主要フレームワークが既定でTypeScriptのプロジェクトを生成する。型によって多くの不具合をリリース前に検出でき、AIによるコード生成の誤りも型チェックで拾いやすい。フロントとバックエンドを1言語で書ける

「JavaScriptより難しいのでは」→ 型は段階的に導入でき、エディタ補完が効くぶん学習もしやすい

成長したら → 一部をGo/Rustに切り出し§24

きっかけ
CPU負荷・レイテンシがボトルネックになった
最初からの備え
APIをOpenAPIで定義しておき、実装言語を差し替えられるようにする

ケース別の構成§19

  • EC(独自要件が多い)コマースエンジン:Medusa(TypeScript)
  • AI/LLMプロダクトAIバックエンド:LLM API呼び出し中心ならHono(TS)、埋め込み・ML処理があるならFastAPI(uv、Ruff、Pydantic)

習熟度