コンパイルという言葉は分かりますか?
要するに人間が理解できるプログラムコードを機械語の実行ファイルに変換するという作業(それを実行するプログラムのことをコンパイラという)です。
その上で、こちらのリンクを参照されるのが分かりやすいでしょう。
最近のプログラム開発では、一から全て開発するのではなくてある程度出来合いのプログラム(ライブラリ等と呼ばれることが多い)を利用して開発を進めることが多いですね。
そういったライブラリは、自分自身でプログラムコードをコンパイルするのではなく、どこかから提供されたものであることが多いでしょう。(自分でライブラリを作ることもありますが)
その場合、自分自身で書いたソースコードと、出来合いのコンパイル済みプログラムであるライブラリを上手く関連付けて最終的な実行ファイルとするように変換をかけます。つまりコンパイル+関連付け、という作業を行っているわけですが、そういう作業のことをさしてビルドという言葉が使われています。
「サーバーサイドでビルド」というのは、多少難しい考え方になります。
やっていることはクライアントでやっていることと変わりませんが、なぜわざわざ「サーバーサイドでビルド」という表現になっているかというところが説明が必要なポイントかと思います。
通常(ここで言う通常というのも難しいのですが)は、サーバー内ではプログラムのビルドはしません。しない文化が常識の時代が長かった、という言い方のほうが正しいかもしれません。
色々と背景はあるのですが、例えば開発用に専用のソフトを買う必要があり、そのライセンスの関係でサーバー内で開発を行うことはできないルールにしているなどの理由があるかと思います。総じて、「サーバーでプログラム開発(コンパイルやビルド)をするメリットが特にない」からということになります。
そういう環境化では、基本的には開発環境と呼ばれる別の端末等においてプログラムをビルドし、サーバーにコピーして動作させる、という文化が通常でした。
ただし今は色々な環境変化により、例えばGitHubなどへのmasterブランチへのコミットをトリガーとして、自動的にサーバー内でビルド(コンパイル)~運用系へのプログラムの配置~本番運用開始・・・といったことを自動化することによって享受できるメリットが大きいようになってきました。
そういった、「開発環境でいったんビルドする」ということが不要だ、というような意味をこめての「サーバーサイドでビルド」という表現になっていると思います。そこにどれだけの意味やメリットがあるかというのは、上記のような背景を知っていないとなかなか把握できないと思います。
ちなみにリンク先で紹介されているJenkinsとは、上記のような作業の自動化を支援してくれるツールです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/06/24 21:05 編集
2017/06/25 03:34 編集
退会済みユーザー
2017/06/25 03:26