開発におけるWebサービスの構成
Webサービスやアプリケーションは「クライアントサイド↔︎サーバサイド」やWeb3層構造など構成に関する呼び方がある.
開発においてよく用いられる用語として、開発領域によって分けられる「フロントエンドとバックエンド」がある。
フロントエンドとバックエンドの違い
それぞれの開発領域と使用言語は以下のようになる.
○フロントエンド
Webサービスにおける,ユーザが見る表側的な部分の開発.
具体的には,ユーザが実際に目にしたり,操作するWebページの開発を行う.
使用言語として、HTML,CSS,JavaScriptを利用して、ユーザがWebページを閲覧できるようにする.
○バックエンド
Webサービスにおける,ユーザには見えない裏側的な部分の開発.
具体的には,サーバの処理に関する開発や保守・運用などの構築を行う.データベースに関する処理も含まれる.
使用言語として,JavaやPHP,Python,Rubyなどのプログラミング言語によって開発する.
フロントエンド/バックエンドがそれぞれWeb3層構造やクライアントサーバシステムのどの部分に属するかは以下の通りである.
Web3層構造 | クライアント/サーバ | フロントエンド/バックエンド |
---|---|---|
プレゼンテーション層 | クライアント | フロントエンド |
アプリケーション層 | サーバ | バックエンド |
プレゼンテーション層 | サーバ | バックエンド |
厳密にはフロントエンド=クライアントサイドというわけではなく,イメージとして考える.
エンジニアについて
開発するエンジニア
フロントエンドとバックエンドは,開発を行うエンジニアが異なる.
フロントエンド開発をフロントエンドエンジニア,バックエンド開発をバックエンドエンジニア(もしくはサーバサイドエンジニア)が担当する.
開発する手順
開発領域が異なるため、開発の流れも異なる。
<フロントエンドの手順>
1.画面全体の初期設計
2.画面コンポーネント定義
3.アクション/レスポンス定義
4.HTML/CSSマークアップ
5.JavaScript/TypeScriptの実装
6.ブラウザ検証
<バックエンドの手順>
1.企画・要件定義
2.設計
3.開発
4.テスト
インフラサイドエンジニア
Webサービスに関するエンジニアとして,フロント/バックエンドエンジニアに加えて,インフラサイドエンジニアがある.
一般的なインフラ
一般的な「インフラ」とはインフラストラクチャ(Infrastructure)の略で,「人々の生活を下で支えるもの,基盤」を意味するものであり,電気・ガス・水道や鉄道・道路などの暮らすために欠かせない設備などを指す.
IT分野におけるインフラ
IT分野における「インフラ」は,システムやインターネットを使用するために,必要なサーバやネットワークを指し,「インフラサイドエンジニア」はこれらの設計・構築・運用・保守を行うエンジニアである.