タイトル: プラットフォーム
JavaScriptプラットフォームについて記載します。JavaScriptはもともとブラウザの言語でしたが、現在はサーバーサイド・デスクトップ・モバイルなど幅広い実行環境(プラットフォーム)で動作します。
子ページから選択して下さい。
本ページの子ページ
- Node.js — サーバーサイドJavaScript実行環境。npmエコシステムの基盤
主なJavaScript実行プラットフォーム
| プラットフォーム | 用途 | 備考 |
|---|---|---|
| ブラウザ | Webページ上で動作するJavaScript | Chrome(V8)、Firefox(SpiderMonkey)、Safari(JavaScriptCore) |
| Node.js | サーバーサイド・CLIツール | V8ベース、npmエコシステム |
| Deno | Node.js代替のセキュアランタイム | TypeScript標準サポート |
| Bun | 高速JavaScript/TypeScriptランタイム | npm互換、JavaScriptCoreベース |
| Electron | クロスプラットフォーム デスクトップアプリ | Chromium + Node.js(VSCode等) |
| React Native / Expo | モバイルアプリ開発 | iOS/Android対応 |
| Cloudflare Workers / Vercel Edge | エッジコンピューティング | 軽量V8隔離環境 |
| 組み込み(QuickJS, Hermes 等) | IoTや組み込み機器 | 軽量ランタイム |
JavaScriptエンジン
プラットフォーム内部で実際にJSを解釈するエンジンも複数あります。
| エンジン | 採用先 |
|---|---|
| V8 | Chrome、Node.js、Edge(新)、Cloudflare Workers |
| SpiderMonkey | Firefox |
| JavaScriptCore | Safari、Bun |
| Hermes | React Native |
| QuickJS | 組み込み |
ブラウザJSとNode.jsの主な違い
| 項目 | ブラウザJS | Node.js |
|---|---|---|
| グローバル | window | global / globalThis |
| DOM操作 | ○ | × (JSDOM等で代替) |
| ファイルI/O | ×(fetch / FileAPI経由) | ○(fsモジュール) |
| モジュール | ESM | CommonJS / ESM両対応 |
| セキュリティ | サンドボックス | OSアクセス可 |
| HTTPサーバー | × | ○(httpモジュール) |
選び方の目安
- Webサイト・SPA → ブラウザJS(React / Vue / Svelte等)
- Webサーバー・APIサーバー → Node.js(Express / NestJS / Fastify)
- CLIツール → Node.js
- デスクトップアプリ → Electron / Tauri
- モバイル → React Native / Capacitor
- エッジ/サーバーレス → Cloudflare Workers、Vercel Edge Functions
関連
- 親カテゴリ: JavaScript
- JavaScript文法: 文法
- ビルトインオブジェクト: ビルトインオブジェクト