PR
広告

React + Vite vs HTML/CSS/JavaScript:開発手法の違いとそれぞれのメリット・デメリット

広告
React + Vite vs HTML/CSS/JavaScript:開発手法の違いとそれぞれのメリット・デメリット JavaScript
広告
広告

「発表時間 – 計算機」ページを作る場合

大まかな構成は以下です:

  • 左カラム
    • タブ切り替え (Basic Mode / Advanced Mode)
    • 話す速度スライダー
    • Update Log
  • 右カラム
    • テキスト入力エリア(スクリプト入力)
    • 情報(文字数・単語数など)
  • 下部
    • 「発表時間」ボタン
    • 結果(秒数)表示

実装プラン (React + Tailwind + shadcn/ui を想定)

  1. タブ UI → shadcn/ui の Tabs を利用
  2. スライダー → shadcn/ui の Slider
  3. テキストエリア → shadcn/ui の Textarea
  4. 計算処理
    • 入力テキストから文字数・単語数を取得
    • 平均話速 (例: 200wpm) を基準に計算
    • スライダーで速度係数 (0.6x〜1.4x) を掛ける
  5. 出力 → 下部に「発表時間(xx分xx秒)」を表示

React + Vite は静的ビルド物を配るだけなので、Xserver などのレンタルサーバーでも問題なく動きます。必要なのは npm run builddist/ をアップロード → SPA向け .htaccess リライトだけ。

小規模・単機能なら HTML/CSS/JavaScript(素のJS) が最速・最軽量。
拡張予定(ページ遷移、状態管理、再利用UI、国際化、テスト、長期保守)があるなら React + Vite

広告

ざっくり比較

項目React + ViteHTML/CSS/JS(素のJS)
初期表示パフォーマンスランタイム分だけ重い(数十KB+UIライブラリ)最軽量(必要なJSだけ)
実装スピード(小規模)設定/ビルドが必要そのまま書いて置くだけ
保守性/再利用性(中〜大規模)コンポーネント化・状態管理で強い素のDOM管理は規模増で破綻しやすい
ルーティングSPA設定(.htaccess/HashRouter)が必要そもそも不要(PHP側でページ分けも可)
依存/ビルドNode環境でビルド→静的配信ビルド不要(Tailwind等使うなら別)
型とテストTS/RTL等で整備しやすい可能だが手動で構成する必要あり
SEOSPAは工夫が必要(SSG/SSR)静的HTMLはそのまま強い
学習・チーム標準化習熟あれば開発効率◎JS設計力に左右されやすい

この「発表時間計算」用途に当てはめる

  • 現在要件(1ページ、入力→計算→表示):素のJSで十分。軽く、速く、PHPテンプレにも直挿し可。
  • 将来:「複数画面」「履歴/保存」「ユーザー認証」「i18n」「UIコンポーネント増」「テスト必須」などが来るなら最初から React + Vite が無難。

実運用(Xserver + PHP)視点

  • どちらも静的ファイルをアップロードでOK。
  • Reactnpm run builddist/public_html 配下へ。SPA直叩き対策に .htaccess が必要。
  • 素のJS.html/.js/.css をそのまま置くだけ(ルーティング設定不要)。

結論の指針

  • 今すぐ公開・超軽量・1ページ完結HTML/CSS/JS
  • 拡張性・長期保守・複数画面/状態React + Vite
広告

いつ React + Vite を選ぶべき?

  • 言語追加が想定される(i18n前提)。
  • コンポーネントを増やし、長期的に拡張する。
  • 自動テスト/CI を回したい。
    React + Vite が設計・運用コストの総和で有利。
広告

いつ HTML/CSS/JS(素のJS)で十分?

  • 単一ページ、単純入力→計算→結果の軽量ツール。
  • i18nが少なく、UI部品の再利用要求が小さい。
    素のJS が最速・最軽量。
JavaScript
広告
広告
広告