公開日:2023-07-01
「バックエンド(英:back end)」とは、サーバーサイドの処理を指し、一般的にユーザーの目に見えることのないサーバーやデータベース、機能、処理を担うプログラムやモジュールなど、仕組みや機能、部品のことを指します。バックエンドの業務を行う人を「バックエンドエンジニア」と呼び、バックエンドで使用する言語やツールは担当する領域によっても異なります。
バックエンドとフロントエンド
バックエンドは、パソコンやスマートフォンなどからデータ入力の指示を受け、求められた処理を行って応答をします。
具体的には、ChromeやInternet Explorer、Safariなどのユーザーが閲覧しているブラウザで「フロントエンド」というユーザーへ機能の表示、機能の受付など、ユーザーが直接触れることができる部分から、指示やデータ入力を受け付けて計算、変換などの処理、データベースから情報の取り出しなどを行います。
身近なものの例
飛行機の予約システムを例にとると、指定した空港から空港間でその日に運行している便一覧の取得や、空席情報検索時の情報取得、支払いに関するクレジットカードの処理などがバックエンド側の役割となり、このようなユーザーからは直接見えていないサーバーでの処理を行います。
バックエンドで使う言語
プログラミング言語は人間にとってわかりやすいように作られていますが、コンピューターは原理的に0と1の羅列でのみ理解をします。そのため、機械語(マシン語)に変換して読み込みます。プログラミング言語は大きく2つに分かれており、「コンパイラ言語」という、ソースコード(プログラム)をまとめて機械語に変換をする「C」「C++」などの言語、そして「インタプリタ言語」という、実行時に一行ずつ機械語に変換をする「PHP」「Python」「Ruby」などの言語があります。また、両方の側面を持った言語に「Java」があります。
フレームワークやミドルウェア
「Ruby on Rails」「CakePHP」「Express」などの処理部分を枠組み化してある言語別のフレームワークも使用されています。
また、OSとアプリケーションの間の架け橋を行うために、ミドルウェアをインストールして希望の環境を構築する必要があります。そのため、Webサイトの情報を送受信するWebサーバーソフトウェア「Apache」や、データベースを管理するためのシステム「MySQL」なども多く使用されます。