MarkoはJavaScriptで使用されるHTMLを出力するためのテンプレートエンジンです。「Haml」や「Pug」と同様に閉じタグを使用しない代わりにインデントを使用することでHTML構文を簡潔に仕上げます。この記事ではMarkoを理解するために初心者でも分かる特徴、開発会社、基礎知識について簡単に解説していきます。
Markoとは主にJavaScriptで使用されるテンプレートエンジンです。動的でレスポンスの速いユーザーインターフェイスを構築するためのツールとして再考されました。MarkoはHTML言語を拡張し、宣言型を用いて最新のアプリケーションの構築を実現します。数あるJavaScript向けテンプレートエンジンの中でも最も実用的であると高い人気を集めております。特徴として『軽量』『非常に早い』『簡潔な構文』などが挙げられます。
テンプレートエンジンとはテンプレートとなる部分とデータモデルで表現される入力データを合成し、成果ドキュメントを出力するソフトウェアです。デザイン部分とロジック部分を切り離して作業できるといった利点があることから重宝されております。テンプレートエンジンの主な構成要素として『データモデル』『ソーステンプレート』『成果ドキュメント』が挙げられます。
テンプレートエンジンの役割や種類などについて解説された記事はこちら>>
JavaScriptとはネットスケープコミュニケーションズ社によって1995年に誕生したプログラミング言語の一種でその中でもオブジェクト指向スクリプト言語に区分されます。主な目的として動的な機能をWebページに生成するためのプログラミング言語として開発されました。Webサイト、Webアプリ、ゲームなど様々な用途に活用できるため注目を集めております。
名称にJavaが含まれるためJavaの仲間と誤解を生むこともありますがJavaScriptは全く異なるプログラム言語です。開発当時サン・マイクロシステムズ社が開発したプログラミング言語『Java』が大きな注目を集めていたことや同社との業務提携を行った背景もありJavaにちなんだ名称が付けられました。JavaScriptフレームワークの代表的な種類としてjQuery、AngularJS、Vue.jsなどが挙げられます。
HTMLとはWebページを作成するためのマークアップ言語です。正式名称は『HyperText Markup Language(ハイパーテキストランゲージ)』であり、それぞれの頭文字をとって略称した呼び名で親しまれております。HTMLではWebページを構成するにあたって見出しや段落の作成などのドキュメント構造の作成や編集、フォントや文字色の指定などといった見た目の作成や編集といったことを実現できます。またハイパーリンクと呼ばれるURLを参照しテキストや画像に他のWebページへの導線となる役割を与える機能も用意されております。
Markoの読み方は『マルコ』です。
Markoは『eBay』というオークションサービスを展開する米国企業によって開発されました。その目的はeBay.comのようにトラフィック量の多いサイトでもパフォーマンス良く稼働できるように軽量でパワフルなテンプレートエンジンを作り上げたそうです。
eBayの公式サイトはこちら>>
Markoの特徴を見ていきましょう。
Markoは非常に軽量という特徴があります。その大きさはGzip圧縮して10KB以下です。
Markoは非常に高速という特徴があります。動きの速度指標となるFPSは60を示しており他のツールと比較しても優秀です。VueやReactよりも早いと言われております。
Markoは簡潔な構文という特徴があります。HTMLで多用される山かっこ(<>)や閉じタグは使用しません。「Haml」や「Pug」と同様に閉じタグを使用しない代わりにインデントを使用します。
Hamlの歴史や特徴などの基礎知識について解説された記事はこちら>>
Pugの概要や特徴などの基礎知識について解説された記事はこちら>>
Marko以外の代表的なJavaScript環境向けテンプレートエンジンを見ていきましょう。
EJSとは主にJavaScriptで使用されるテンプレートエンジンです。EJSを利用することでHTMLをヘッダーやフッターで分割して管理することやHTML内でループ処理を書いて簡単に記述できるなどを実現できます。JavaScriptを使用してHTMLマークアップを生成できるシンプルなテンプレート言語と捉えると分かりやすいでしょう。特徴として『JavaScriptのようにHTMLを書ける』『シンプルで分かりやすい』『レイアウト機能がある』などが挙げられます。
Nunjucksとは主にJavaScriptで使用されるテンプレートエンジンです。NunjucksはEJSと同じHTMLベースの構文であり、JinjaというPython向けテンプレートエンジンに影響を受けております。それもありNunjucksはPythonで記述することも可能です。FireFoxブラウザを開発、運営するMozilla製であることでも知られております。特徴として『高性能で高速』『強力な機能』『シンプルな記述』などが挙げられます。
Nunjucksの公式サイトはこちら>>
Nunjucksの特徴や名前の由来などの基礎知識について解説された記事はこちら>>
Handlebars.jsとは主にJavaScriptで使用されるテンプレートエンジンです。Handlebars.jsを使用することでJavaScriptの値を参照し、HTMLを生成することができます。特徴として『高速な実行環境』『学習コストが低い』『クライアントサーバ、サーバサイドの両方で対応』などが挙げられます。
Handlebars.jsの公式サイトはこちら>>
Handlebars.jsの概要や特徴などの基礎知識について解説された記事はこちら>>
Edge.jsとは主にJavaScriptで使用されるテンプレートエンジンです。Edge.jsを使用することで「Node.js」と「.NET」の各プラットフォームにて相互に使用できる環境を実現します。特徴として『レイアウト機能の完備』『Node.js で.NETライブラリが使用できる』などが挙げられます。
Markoを理解するために初心者でも分かる特徴、開発会社、基礎知識などを簡単に解説させていただきました。Markoを一言で表すと『動的でレスポンスの速いユーザーインターフェイスを構築するためのツールとして再考されたテンプレートエンジン』です。特徴として『軽量』『非常に早い』『簡潔な構文』などが挙げられます。Markoについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。