当ページの目的
Web制作やWebアプリ開発などを目指すにあたり必須となる言語について特徴等をまとめていきます。
HTML
HTMLは一般に「エイチ・ティー・エム・エル」と呼ばれ、Hyper Text Markup Languageの頭文字の略です。
Webページを制作するための言語の一つです。
- Webページを制作するための言語の一つ
- HTMLはタグで記述される
- 見出しや段落といったドキュメントの構造化、画像・リンクの埋め込みも可能な高機能マークアップ言語
- パソコン・スマホ等の端末で表示されるサイトの大半がHTMLで記述されている
- 記述の内容(タグ・ソースコード等)を各ブラウザが解釈することでWebページが正しく表示される
- HTMLは「XHTML」などの後継仕様の他、現在主流のHTML5がある(※)
- (※)HTML5は最新のSEO対策(検索エンジン対策)でも推奨されている仕様
- HTMLの種類によって記述可能なタグが異なる
CSS
CSS(Cascading Style Sheets:カスケーディング・スタイル・シート)
- Webページのスタイルやデザインを指定することができるスタイルシート言語の一つ
- CSSはHTMLとセットで組み合わせて利用する
- HTML内に直接CSSを記述することも可能(インライン化)だが、外部ファイルとしてHTMLへ読み込むのが一般的
- 画像やテキストを中央寄せ・左回り(右周り)に配置する、というように文書構造を自由に指定できる
- CSSの最新バージョンは現在「CSS3」で、もっとも豊富なスタイルを表現できる
- CSSのほかに、SCSSといった「メタ言語」がある
SCSSについての補足
SCSS(Sass記法とも呼ばれる)はメタ言語とよばれ、プログラミングによりCSSを直観的、構造的に作成することが可能。
- SCSSの利用にはRubyによるコンパイルが必要(Rubyインストール済みの環境必須)。
- SCSSによりCSSの保守性や管理性が飛躍的に向上
- 一般的なCSSと記述の仕方が根本的に違う点が特徴的
- 記述を構造的かつシンプルにできるため、スタイルシート肥大化の抑制、ページ速度の改善が期待
- スタイル使いまわしの際、CSSの継承問題を解決できる
- @importで各CSSをひとつずつ読み込まず、CSSを一つのファイルにまとめて利用するため早い処理を行える
- 上述の特徴があるため、サーバーへの負荷を減らせる等のメリット
JavaScript
ジャバスクリプト
- 企業ホームページや個人ブログの制作、Webアプリ開発などで幅広く利用されている言語
- クライアントサイドのブラウザ上で動作するスクリプトなのでサーバーに負荷をかけない
- コンパイル作業が必須のコンパイル言語(例:C、C++など)とは異なり、スクリプト単体で動作するスクリプト言語
- 種類の異なるブラウザであっても表示される結果が同じになるような動作を提供するJQueryという規格が存在
- Webページ内で動的なイベント(ページ切替、ドキュメント表示、アニメーション、その他…etc)の実行が可能
- 名称が似ているためJavaプログラミング言語と混同され易いがJavaとは異なる
Ruby
ルビー
- 日本で開発されたプログラミング言語で、初学者にも読みやすいといわれている
- 他の言語に比べよりシンプルなコーディングで実行できるため、スピーディーな開発が可能
- Rubyは厳密にはスクリプト言語(※)である
- ※スクリプト言語はコンパイル作業を行わずにプログラムの実行が可能
- データ、メソッド、プロパティがひと塊になったものを扱えるオブジェクト指向型の言語
- 多機能で様々な環境でも実行が可能な柔軟性を持つ
- 企業サイトやSNSサービス、ブログなどを構築することができるほか、スマホアプリなども開発できる
- オープンソース、無料で利用・開発が可能
Ruby on Rails
Ruby on Rails(ルビー・オン・レイルズ)
- Ruby on Railsは、プログラミング言語RubyのWebアプリケーションフレームワーク(※)の一つ
- (※) フレームワークは、Webアプリケーションを最短で簡単に作成するための枠組みです
- この枠組みのおかげでアプリを構成する最小単位のプログラムを白紙の状態からコーディングする必要がない
- 以上の特徴から、PerlやPHPよりも比較的スピーディーに開発を行える
- Ruby on Railsは、MVC(※)という理念で構築されている
- (※)MVCは、Model(データを操作)、View(ページの見た目)、Controller(データと見た目の連携)の頭文字の略
- スマホアプリから出力されたデータをサーバー側で保存・管理する、といったサーバーサイドで動作するWebアプリを開発できる
- 企業の売上計算、在庫管理といった業務管理システムを開発することも可能