Rubyとは
まつもとゆきひろ(通称Matz)さんによって開発された日本産のプログラミング言語。「オブジェクト指向スクリプト言語」である。
Webサイトは大きく分けて「クライアントサイド」と「サーバーサイド」という2つの領域で構成されている。ユーザーがブラウザを通して目にしているのは「クライアントサイド」と呼ばれる領域で、Webサイトのロゴデザインやテキストコンテンツなどの見た目を司っている。
ユーザーがWebサイトを操作していると、Webサイトが置かれている大元のサーバーと情報のやり取りを行う必要が出てくる。例えばfacebookやtwitterといったSNSで、「Aさんのプロフィールを閲覧する」という操作をBさんが行ったとする。するとWebサイトは大元のサーバーから「Aさんのプロフィール」に関する情報を、Bさんが操作するブラウザへ引っ張ってこなければならない。
この「引っ張ってくる」という情報のやり取りは、Bさんの目に見えない領域「サーバーサイド」で実行される。そしてこの「引っ張ってくる」という動作の具体的内容、つまり「どんな操作がされた時、どんな情報を、Webサイトのどこに表示させるか」といったことを定義づけるのがRubyのようなプログラム言語の役割である。
CやJavaといったコンパイラ言語はプログラム実行にあたり、人間が書いたソースコードを機械命令に変換する手続きが必要になる。しかしRubyはこうした手続きなくプログラムを実行できるためプログラミングしやすい言語といえる。
さらに、オブジェクト指向言語であるため、既に存在する機能を受け継ぎ、効率よくソフトウェア開発を行うことができるのもRubyの強みである。
Ruby on Rails
「Ruby on Rails」とはRubyのWebアプリケーションフレームワークである。Rubyには他にもWebフレームワークが存在しているが、実質開発で使われているのはほとんどが「Ruby on Rails」である。
フレームワークとは、開発を行う際に頻繁に必要とされる基礎的な機能をまとめて提供してくれるものである。プログラムの書き方が細かく決まっており、その書き方に従って勧めていくことで比較的カンタンにアプリケーションを作ることが出来る。
ウェブサイトの構造(HTML, CSS, JavaScript)
twitterやfacebookなど、ブラウザ上でユーザーが目にしているウェブサイトの見た目はHTMK、CSS、JavaScriptという3つの言語で形作られている。
HTML
Hyper Text Markup Languageの略。ウェブサイトのテキストコンテンツを作成するために用いられる言語。「タグ」と呼ばれる記号を用いることで、文字を太字にしたり、フォントカラーを変えたり、リンクを挿入したりすることができる。
CSS
Cascading Style Sheetsの略。HTMLがウェブサイトのテキストコンテンツの作成に用いられるのに対し、CSSはテキストの体裁やサイト全体の見栄えを表現するために用いられる言語である。
ウェブサイトの背景色、テキストコンテンツの表示場所、サイズなどは全てCSSで指定されている。
JavaScript
アプリ開発で使用されるプログラミング言語。写真をスライドさせたり、サイドバーを出し入れしたりと、ウェブサイトに動作を付けることが出来る他、ユーザーが適切な形式でメールアドレスをフォームに入力したかのチェックするなど様々な挙動を設定することができる。