User Interface Markup Languageの提案 -HTMLを拡張してUI構築に適したマークアップ言語を作ろうぜ-

HTML + CSS + JavaScriptでUIの構築をするのはもはや一般的である.FirefoxOS,Windows8(のモダンUI),Ubuntu TouchなどHTML + CSS + JavaScriptをデフォルトのUIツールキットとして用いるOSは多い.ネイティブのUIを持つのはAndroidiOSくらいなので逆に少数派と言えなくもない.

HTML5とCSS3の表現力はネイティブUIを超えている.ネイティブUIの優位性はゲームや3Dなどに限られる.にも関わらずwebベースのUIはネイティブUIに比べ,一段劣るものとして扱われている現状がある.

問題はHTMLのほうにある.現状のHTMLはその名のとおりHyperTextを構築するためのマークアップ言語である.HyperTextは紙メディアを模したもの.紙が動かないからといって腹を立てるのは酷だろう.

現状のHTMLはUIの構築に適しているとはとても言えない.たとえばナビゲーションバーなどはあって当たり前,ないほうが珍しいくらいなのにHTMLにはそんなタグは用意されていない.

しかしTyperTextの出自を考えるにそんなタグを付ける方が間違っているだろう.そこでHTMLをメタ的に拡張*し,UIの構築に適したマークアップラングエッジを提案する.

*メタ的に拡張とはHTMLをJavaScriptを使って拡張するという意味.具体的にはangularjsのdirectiveなどを使ってHTMLを拡張する.これによって通常のHTMLレンダリングエンジンとJavaScriptの実行環境で実行が可能になる.要はObjective-CとCみたいなもん.