Q
299 フロントエンドエンジニア、バックエンドエンジニアについて違いを教えてください。
Webの開発過程の中で、「フロントエンドエンジニア」と「バックエンドエンジニア」という言葉をよく聞きます。それぞれ「フロントエンド」は一番前「バックエンド」は一番後ろという意味ですが、具体的にはどういった業務を指すのでしょうか。
A
文字通り、プロセスの最初と最後の工程をそれぞれ担当しているエンジニアです!
まず、Web開発におけるフロントエンドとバックエンドの違いについてですが、簡単にいえばユーザーなどと直接やり取りをする要素のことをフロントエンドといい、フロントエンドの入力データや指示をもとに、処理を行って結果を出力したり、記録媒体に保存したりする処理をバックエンドといいます。 例えば、ECサイトを想像してください。 ユーザーはインターネットに接続しブラウザを開いて、ウェブサイトを閲覧します。そこで商品を検索し、購入したい商品をカートに入れ、顧客情報や配送情報を入力し、最後に購入ボタンを押します。こういったウェブサイトやウェブサービスはウェブサーバーというコンピューターにより実現しています。 こうしたユーザーの一連の動きの中で、ユーザー自身は認識することなく、ウェブサーバーが持つデータを呼び出し、ブラウザで閲覧しているのです。さらに商品検索を行い、購入ボタンを押す、という行動の裏では、ホームページとプログラムで連動した別のデータベースが動いています。この場合、ユーザーから見て一番手前側、ブラウザがフロントエンド、一番奥にあるデータベースや処理するプログラムがバックエンドとなります。 この工程をおおまかに分けると以下の通りです。 ■フロントエンド ユーザーと直接やりとりをするような、一番前のプログラム構築を担当する。 ■バックエンド フロントエンドの入力データや指示をもとに、結果を出力したり、記録媒体に保存したりする。処理プログラムやデータを格納するデータベースになる部分を担当している。 フロントエンドエンジニアは、Web 系サービスにおいては、HTMLやCSS、JavaScript、画像ファイルなどを組み合わせてWebページを記述するエンジニアのことです。元々は、HTMLコーダー、マークアップエンジニア、JavaScriptプログラマとも呼ばれていました。サイトを構築するので、広い意味で「Webデザイナー」と称することもありますが、Webデザイナーの仕事の中にはサイトの仕様だけではなくビジュアルをデザインする職種なども含まれます。デザインとコーディングは別の作業・別のスキルであり、区別するために名称が変わっていったようです。 バックエンドエンジニアは、サーバーサイドやデータベースのシステムの要件定義/設計/開発業務などを手掛けます。特徴としてハードウェアをアップグレードし新たなソフトウェアをインストールするなどの環境を変更する権限を持っており、JavaやC・C++、PHP・Python・Perlなどのプログラム言語を用いてコーディングを行います。また最初に書いたように、バックエンドエンジニアはサーバーサイドのプロフェッショナルとしてサーバーの要件定義・設計・構築も担うことから、「サーバーサイドエンジニア」と呼ばれることもあります。
この質問に関連した業種の
求人を見ることができます。
仕事×学びのご相談はこちら
「ちょっと話が聞いてみたい」も大歓迎!