HamlはHTMLを抽象化したマークアップ言語です。マークアップ言語を美しく、無駄なく、簡単で、効率的なものを目指し開発されたテンプレートエンジンという種別となります。この記事ではHamlを理解するために初心者でも分かる歴史、特徴、基礎知識などについて簡単に解説していきます。
Hamlとは「HTML avstraction markup langage」の略称で直訳すると『HTMLを抽象化したマークアップ言語』となっております。HalmはRubyで実装されており、PHP、ASP、JSPなどの他のWeb言語と同様にプログラム実行時に実行されるコードを埋め込み、動的コンテンツを提供するためにHTMLコードを生成します。特徴として『綺麗に、無駄なく、分かりやすく、効率的』『Rubyで使用できる』『タグ閉じ不要』などが挙げられます。よってHamlはより簡単で綺麗にHTMLを生成できるように作られたテンプレートエンジンとなります。
HTMLとはWebページを作成するためのマークアップ言語です。正式名称は『HyperText Markup Language(ハイパーテキストランゲージ)』であり、それぞれの頭文字をとって略称した呼び名で親しまれております。HTMLではWebページを構成するにあたって見出しや段落の作成などのドキュメント構造の作成や編集、フォントや文字色の指定などといった見た目の作成や編集といったことを実現できます。またハイパーリンクと呼ばれるURLを参照しテキストや画像に他のWebページへの導線となる役割を与える機能も用意されております。
テンプレートエンジンとはテンプレートとなる部分とデータモデルで表現される入力データを合成し、成果ドキュメントを出力するソフトウェアです。テンプレートエンジンの主な構成要素として『データモデル』『ソーステンプレート』『成果ドキュメント』が挙げられます。
Hamlの読み方は『ハムル』です。名前の由来は「HTML avstraction markup langage」の略称で直訳すると『HTMLを抽象化したマークアップ言語』となっております。
Hamlは2006年にハンプトン・カトリン氏によって開発されました。誕生のきっかけは「HTMLをよりシンプルで、クリーンに、そして使いやすくする」ことでした。その名のものHamlは現在でも「美しく、簡潔に、よく整理された、明確なマークアップ」を掲げております。度重なるバージョンアップの中で主要なメンテナーの交代も行われました。2012年にはナタリー・ワイゼンバウム氏がRubyアプリケーションで使用できるように取り組み、2015年はノーマン・クラーク氏がブランディングとデザインに取り組みました。そして2017年4月に現在の最新となる5系『Haml5.0.0』へのバージョンアップが発表されました。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2006年 | Haml 初版リリース |
2010年 | Haml 3.0.0リリース |
2012年 | ナタリー・ワイゼンバウム氏がメンテナーを務める 「Rubyアプリケーションで使用できるように取り組む」 |
2015年 | ノーマン・クラーク氏がメンテナーを務める 「ブランディングとデザインに取り組む」 |
2017年 | Haml 5.0.0リリース |
Hamlの特徴を見ていきましょう。
Hamlのコーディングは綺麗に、無駄なく、分かりやすく、効率的という特徴があります。
これはHamlが誕生したきっかけであり一番の特徴です。
HamlはRubyで使用できるという特徴があります。個別のRubyモジュールとして、またはRuby on Railsアプリケーションで使用ができます。
Hamlはタグ閉じ不要という特徴があります。HamlはHTMLと違いタグ閉じという概念が存在しません。代わりにインデントを使い、マークアップする範囲を指定します。
Hamlの基本的な書き方について見ていきましょう。
指示 | 役割 |
%月 | タグの前に%を使用することで< 開始タグ >と< 終了タグ >を意味する |
!!! | と同じ意味 |
{} | 属性があるタグ |
. | class属性 |
# | id属性 |
Hamlと相性の良いプログラミング言語を見ていきましょう。
Rubyとはまつもとゆきひろ氏によって1995年に開発されたオープンソースでオブジェクト指向のプログラミング言語です。日本人プログラマーのよって開発された言語として初めて国際電気標準会議(IEC)で国際規格に認証されました。2018年には米国において最も稼げる言語はRubyと言われるほど国内外問わず世界的にも注目を集めております。
Rubyというその名称には『Perl(パール)に続ぐ』という意味が込められており6月宝石であるPerlの次月(7月)宝石のRuby(ルビー)という名称を採用することになりました。Rubyの特徴は記述量が少なく、自由度が高い、そして何より『書くことが楽しい』と多くのプログラマーの方が口を揃えております。RubyはWebアプリケーションの開発に最も向いており代表的な開発事例としてGunosy、食べログ、価格.comなどが挙げられます。
PHPとはラスマス・ラードフ氏によって1995年に開発されたオープンソースのサーバーサイド言語です。動的なWebページを生成することができるプログラミング言語として全世界で親しまれております。HTMLに埋め込むことが出来ることからWebシステム開発で使用される機会が多いです。PHPというその名称には「Hypertext PreprocessorPHPはHTMLのプリプロセッサである」という意味が込められております。特徴は『動作確認が簡単であること』や『HTMLの中で簡単にコードを動かせる』といったことが挙げられます。
またPHPはインタプリタ言語ですのでプログラムを実行する際にコンパイルが不要でソースコードの修正をした場合、即座に修正が反映されます。Webサービスを開発するプログラミング言語としてPHPは世界的にトップクラスの人気を集めております。
Hamlと相性の良いフレームワークを見ていきましょう。
Ruby on RailsとはRubyに活用されるデビッド・ハイネマイヤー・ハンソン(David Heinemeier Hansson)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2004年7月に誕生し、基本理念を『同じことを繰り返さない』と掲げております。特徴としては基本理念の名の下同じソースコードを何度も記述しなくて良い効率よく実装するための仕様となっております。さらにデータベースを直感的に操作ができる機能が提供されており好評を集めております。Ruby on Railsの概念を参考に誕生したその他言語のフレームワークも多く存在しCakePHPもその一つとなっております。
SinatraとはRubyに活用されるブレイク・ミゼラニー(Blake Mizerany)氏によって開発されたオープンソースのオブジェクト指向Webアプリケーションフレームワークです。2007年に誕生し『最小限の労力でRubyでWebアプリケーションをすばやく作成するためのDSL』を掲げております。特徴として軽量フレームワークと言われており、提供している機能が必要最低限で小規模なウェブサイトの構築に向いております。またRuby on Railsとは対となる考え方で作成されているというのも特徴の一つです。Sinatraは世界的にも名だたる企業や団体に採用されており代表的なところではアップルBBC、LinkedeIn、スタンフォード大学、RedHatなどが挙げられます。
Hamlを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Hamlを一言で表すと『HTMLを抽象化したマークアップ言語』です。『綺麗に、無駄なく、分かりやすく、効率的』『Rubyで使用できる』『タグ閉じ不要』などの特徴が挙げられます。Hamlについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。