Webシステム開発でAPIベースにするメリット・デメリット考察
概要
Webシステム開発でAPIを提供し、クライアント側で描画するパターン(SPA)についてメリット・デメリットを思いつきレベルで挙げてみる
主にクライアント側のお話で、ここではフレームワークとしてvueを、言語としてtypescriptを使う想定
メリット
- アプリ開発も並行する場合は都合が良い(どちらでも使えるので)
- クライアント側で非同期処理がやりやすい
- ページ遷移が少なく、利用者のストレスが減る(と思われる)
- スケールし易い
- これはサーバー側インフラの拡張のし易さのように見えるが、従来のサーバー側で画面を構成して返すパターンでも同じはず
- マイクロサービス化して連携させる事によるスケールのことを指しているような気がする
デメリット
- 習得すべきフレームワークや言語が増えるため未経験の場合は初期コストがかかる
- 知見(ノウハウ)が得られた頃には開発中盤で、実は活かせてない事に気づいたりする
- コンポーネント化を前提としたHTML制作は開発エンジニアでないと難しい事が多く、HTML制作メンバーが使えない
- 開発エンジニアがHTML・CSSがそんなに得意で無い場合、余計に時間がかかる
- API設計に問題があるとサーバーの負荷が増大する