マークアップ言語/JavaScript系概要

マークアップ言語

概要

マークアップ言語とは、文字の並びであるテキストに適当な指示を挿入して文字の形や大きさ、段落、見出しなど文章の構造と体裁を指定するためのコンピュータ用言語である。

目印をつける(Markup)というのは、文書の各部分が、どのような役割を持っているのかを示すということである。 例えば、見出し・段落・表・リストなど、文書の中で各部分が果たしている役割が分かるように目印をつける。 こうした見出し・段落・表・リストなどの文書内の各部分を要素(element)と呼ぶ。

HTML

HTML(HyperText Markup Language)は、ウェブページを作成するために開発された言語である。 現在、インターネット上で公開されてるウェブページのほとんどは、HTMLで作成されている。Hypertextでは、ウェブページから別のウェブページにリンクをはったり、 ウェブページ内に画像・動画・音声などのデータファイルをリンクで埋め込むことができる。HTMLには、このハイパーリンク機能で関連する情報同士を結びつけて、情報を整理するという特徴がある。

HTMLで書かれたWebページはHTMLで使用するタグは世界レベルで統一されているので、どのような種類のWebブラウザであっても、文字の強調などの文字装飾や段落など、同じように表示され、Webブラウザによって、表示内容やレイアウトが変わることは基本的にない。

Hypertext

文章や画像、音声など、複数のオブジェクトをリンクさせた文書の表現形式のこと。印刷物のように、文章や画像が単に表示されているだけでなく、文章中の特定のキーワードから、ほかの文章や画像などを即座に表示できる構造になっている。たとえば、目次のページで項目をクリックすると、目的のページに移動する。

ハイパーテキストを作成するための代表的な言語としてHTMLがあり、Webページは、ハイパーテキストの概念をインターネット上で実現している。

SGML

SGML(Standard Generalized Markup Language)は、印刷で使用される組版文書のやり取りを便利にするために開発された言語である。SGMLは、マニュアルなどを電子化するのに役立ち、マークアップ言語の基礎を築いた。しかし、構造が複雑であり、またインターネット上でそのまま利用するには不自由な部分も多かったことから、インターネットに特化したマークアップ言語が必要とされるようになった。

XML

XML(eXtensible Markup Language)は拡張可能なマークアップ言語であり、データを作成する人がタグを自由に定義することができる。XMLにより統一的な記法を用いながら独自の意味や構造を持ったマークアップ言語を作成することができるため、ソフトウェア間の通信・情報交換に用いるデータ形式や、様々な種類のデータを保存するためのファイルフォーマットなどの定義に使われている。

JavaScript

概要

JavaScriptとは、動的なWebページを作成する事のできるプログラミング言語である。通常はブラウザー上で実行される。JavaScriptを使うと、ユーザーのアクションに応じたコンテンツの表示の他、ブラウザー上で表示される地図やグラフィックアニメーションなども表示する事ができる。

フレームワーク

フレームワークとは、全体の処理の流れが実装されておりその中の一部の具体的な処理を自分で実装して、はめ込めるようになっているシステムのことである。はめ込めるようになっている箇所はホットスポットと呼ばれたりする。

ライブラリ

ライブラリは、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。 ライブラリと呼ぶ時は、それ単体ではプログラムとして作動させることはできない実行ファイルではない場合がある。 ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ライブラリは、フレームワークのような全体を動かすためのロジックはなく、部品の集まりであると言える。

代表的なフレームワーク

・AngularJS
AngularJS、または Angular は、Googleと個人や企業のコミュニティによって開発されている、完全にJavaScriptで書かれたオープンソースのフロントエンドWebアプリケーションフレームワークである。

・Vue.js
Vue.jsはGoogleにおいてAngularJSを使用した開発に携わったエヴァン・ヨーによって開発され、2014年2月にリリースされた。Webアプリケーションにおけるユーザーインターフェイスを構築するための、オープンソースJavaScriptフレームワークである。ヨーは「Angularの本当に好きだった部分を抽出して、余分な概念なしに本当に軽いものを作る」ことをコンセプトとした。

・Ember.js
Ember.jsは、Vue.jsと同じく「MVVM」モデルを採用したフロントエンド フレームワークである。Ember.jsでは、Ruby on RailsやLaravelと同じように サーバーサイドの処理ができる。また、 URL駆動型で、 JavaScript上の変数とコントローラやモデルクラス変数を直接結び付けることも可能である。

代表的なライブラリ

・React.js
Reactは、 Facebookが開発を行っている JavaScriptライブラリである。 Facebookのフィード画面やYahoo!AirbnbAtomなど、大手のサービスでも採用されている。

jQuery
jQueryは、ウェブブラウザ用のJavaScriptコードをより容易に記述できるようにするために設計されたJavaScriptライブラリである。ジョン・レシグが、2006年1月に開催された BarCamp NYC でリリースした。

代表的なサーバサイド用プラットフォーム

・Node.js
Node.js は、2009年にリリースされたオープンソースなサーバー・サイド用のプラットフォームである。リアルタイムな Web アプリ環境を可能とするノンブロッキング I/O や Google Chrome にも搭載されている Google V8 JavaScript エンジンを採用している特徴がある。要はJSでサーバサイドの開発ができるようになるということ。

AltJS

概要

AltJS(代替JavaScript言語)とは、コンパイルすることでJavaScriptが生成されるプログラミング言語である。JavaScriptはとても便利な反面、幾つかの弱点もあり、苦手とする人が多い言語でもあります。そんな弱点をカバーするためにAltJSが考案された。

TypeScript

TypeScriptは2012年に登場した、Microsoft製のAltJSである。フリーかつオープンソースで提供されており、中規模〜大規模な開発を想定した仕様を持つ。クラスを使うことが可能である点、静的型付け言語である点が通常のJSと異なる点である。JavaScirptとの互換性を保ち、既存のコードを資産として生かすことにも対応しつつ、静的型付けを導入することで、より堅牢なアプリケーションの開発の実現が可能となった。

CoffeeScript

CoffeeScriptは、動的型付け言語である。TypeScriptに比べると、少ないコード量で快適なコーディングを行うことにより主眼を置いたAltJSであると言える。RubyのほかPythonなどに影響を受けたすっきりとした文法を持ち、素のJavaScriptに比べると、coffeescriptはコード量が少なく済む傾向にある。またコンパイルによって生成されるJavaScriptのコードの綺麗さも長所である。