そもそもXAMLとは? UI用のマークアップ言語ではなくオブジェクトインスタンスの定義言語
今回の「GrapeCity ECHO Tokyo 2017」の幕開けを告げる最初の講演には、日本マイクロソフトの高橋忍氏が登場。「そもそもXAMLとは何か」といった基本的な話題から、今後の進化の可能性に至るまでを紹介した。
「Windows Vistaの時代、2007年に.NET Framework 3.0のリリースとともに登場したXAML(eXtensible Application Markup Language)。それ自体は主にクライアントアプリケーションのGUI部分をXMLベースで記述するための言語ですが、マイクロソフトではこの技術を通して、あらゆるデバイスにおける快適なUX(User eXperience)を提供すべく、2つのことを実現したいと考えました」と高橋氏は語る。
まず、その1つが「UIとコードの分離&非同期処理」。つまりXAMLでは、ユーザーに最適なUXを提供するリッチなUIを、XMLのタグフォーマットによってアイテムを並べていくだけという簡便な記述で実現できるほか、それとは別にバックエンドのロジックをC#などで実装し、それぞれ非同期に動作させることで、レスポンスの向上を図ることができる。
XAMLにおけるもう1つのねらいは、「UI要素の再定義とユーザーへの開放」である。Windows Formsの世界では、ボタンやリストボックスなどのUI要素は、あくまでもOSがコントロールというかたちでアプリケーションに提供するもので、ユーザー(開発者やデザイナ)が相応のカスタマイズを施すことは可能だったが、そこにはやはり限度があった。これに対しXAML(WPF)では、必要なUI要素をユーザーがゼロから作成可能。OSの提供するコントロールに制約されることなく、自分のアプリケーションの世界観に相応しいUI要素を実装できるようになっている。
「とはいえ、XAML自体は決してHTMLのようなUIの記述に特化したマークアップ言語ではありません。あくまでもUIオブジェクトのインスタンス定義を行うための開発言語であり、拡張によってビジネスロジックを記述することも可能であるという点は、ぜひ銘記いただければと思います」と高橋氏は強調する。つまりXAMLは、C#やC++、Visual Basicと同様の開発言語で、Windows Vista以降に登場した、WPFをサポートするWindows 7/8.x、さらには現在のWindows 10のUWPに至るアプリケーションプラットフォームでも継続的に採用されており、これらの環境では既存のスキルを踏襲した開発が可能である。さらに現在では、Xamarin、Xamarin.Formsというライブラリを利用することで、iOSやAndroidに対応したマルチプラットフォーム、マルチデバイスのアプリケーションをXAMLで開発することもできる。
さらにマイクロソフトでは、近年、「Mixed Reality」(MR:複合現実)の領域に関する取り組みを強化しているが、例えば最近各社からリリースされている「Windows Mixed Reality Devices」と呼ばれるヘッドセット製品では、Windows 10のUWP(Universal Windows Platform)アプリケーションをMR環境内で実行することができる。「つまり、XAMLで記述したアプリケーションのターゲットはMRの世界にまで広がっているわけです。XAMLは次世代に向け、マルチプラットフォーム、マルチデバイスのためのアプリケーション開発言語として継続的に進化を遂げていくことになります」と高橋氏は語る。
業務課題の解消に貢献するデザインをアプリに持ち込める唯一無二の選択
続くセッションには、マーベリックの秋葉卓也氏が登壇。同社は、「IT×デザイン」をコンセプトに、デザインの価値を最大限に訴求したシステムの構築で知られるソリューションプロバイダだ。「当社ではかねてより、WPFやSilverlight、UWP、Xamarin.Formsなどによるアプリ開発を数多く手掛けてきており、特にXAMLは我々のデザインの価値を最も効率的に実現できる環境であると考えています」と秋葉氏は語る。セッションでは、そうした、同社がXAMLベースで開発した業務アプリについて、いくつかの開発事例がデモを交えて紹介された。
まず1つめは、大手鉄道事業会社向けに開発されたインシデント共有アプリである。このアプリは、タブレットからの入力情報を元に、どこでどのようなインシデントが発生しており、3~4万人にも上る従業員の誰がどこにいるかといったことを地図上にプロットしてセンターで把握できるようにするというもの。ユーザー間のコミュニケーションを支援する掲示板機能も装備している。「タブレットに表示された地図の操作性やレスポンスを担保するうえで、XAMLの採用が最適であると考えました。Windowsはもちろん、Xamarin.Formsを使ってiOS環境にも容易に展開できる点もXAMLの大きなメリットです」と秋葉氏は紹介する。
2つめは、グローバルに拠点を展開する製造業向けの在庫シミュレーションアプリで、各拠点における在庫の不足や過多の発生を解消するためのリカバリプランの作成を支援するものだ。このアプリでは、ERPのUIをより使いやすいものにするとともに、Surface Hubの大画面上で多人数が情報を共有しながら、画面をダイレクトに操作できる環境、および協議内容を画面上で手書きメモとして残せるといった仕組みを求めるユーザーの要望に応えている。「XAMLの採用理由については、この案件では大画面のSurface Hubの活用が前提で、それに対応するアプリケーションフレームワークはUWPのみであったことに加えて、シミュレーションプランを画像化して、ペンによる手書き入力を行うという仕組みの実装にはXAMLが非常に適していたことがあげられます」と秋葉氏は言う。
そのほかにもセッションでは、マーベリックが大手化粧品メーカーの依頼により開発したワークショップ向けの付箋アプリや、東京都交通局・東京メトロが導入した訪日外国人向け次世代券売機の事例が紹介されたが、いずれもデザインの持つ価値を最大限に生かしたマーベリックならではの優れたUXを提供するユニークなシステムとなっている。「ユーザーの課題に応える業務アプリにおいてこそ、デザインというものが重要。業務アプリの世界に我々が表現したいデザインを持ち込める開発環境として、XAMLはまさに唯一無二の存在です」と秋葉氏は強調する。