これからの業務アプリにXAMLがもたらす可能性―「ECHO Tokyo 2017」見えた業務アプリ開発の未来

Windows 10 Fall Creators Updateが2017年10月にリリースされ、いよいよ仮想現実(VR⁠⁠、複合現実(MR)といった、まったく新しい分野のアプリケーションが身近なものになってきました。背景には、スマートフォンやタブレットなど、さまざまなフォームファクタのデバイスが普及し、従来のPCだけでなく、身近になった新しいデバイスの業務領域での活用ニーズが広がっています。コンピューティングはこれからも変貌を続けることになりますが、激変するコンピューティング環境の中で、今後の業務アプリケーションはどのような姿に変わっていくのでしょうか。

XAMLは業務アプリの未来を照らす技術となるのか?

現在でも、オフィスのほとんどのPCにはWindowsがインストールされています。業務アプリも、Windowsデスクトップアプリとして動作するのが主流です。しかし従来型のWindows Formsベースの業務アプリでは、たとえば高解像度ディスプレイを持つ新しいWindowsデバイスや、iOSやAndroidを搭載したスマートフォンやタブレットに対応して、それらの能力を十分に引き出すのは簡単ではありません。

このような状況で、企業と開発者がこれまでに蓄積してきた業務アプリや、開発者自身のスキルを生かしながら、業務アプリの新い可能性を切り拓くためのキーワードの1つとして、⁠XAML」⁠Extensible Application Markup Language=ザムル)が再び注目を集めています。

XAMLをテーマとして、2017年10月6日に開催された「ECHO Tokyo 2017」
XAMLをテーマとして、2017年10月6日に開催された「ECHO Tokyo 2017」

2017年10月6日、このXAMLをテーマとして、⁠ECHO Tokyo 2017」という技術カンファレンスが開催されました。本稿では、このイベントを主催したグレープシティ株式会社の福地氏と津留氏に、イベント開催の背景や、XAMLがこれからのWindows業務アプリ開発にもたらす可能性などについて伺いました。

左:グレープシティ(株⁠⁠ ツール事業部 津留季子氏
右:グレープシティ(株⁠⁠ ツール事業部 福地雅之氏

左:グレープシティ(株) ツール事業部 津留季子氏。右:グレープシティ(株) ツール事業部 福地雅之氏

今なぜXAMLなのか?

グレープシティが主催する「ECHO」では、これまでJavaScriptやTypeScript、Angularなど、どちらかというとWeb系、OSS系技術をテーマにしていました。今回のECHOではなぜ、XAMLを取り上げたのか。福地氏に伺うと、その答えは明快でした。

福地:

「using XAML⁠⁠。XAMLを活用できるエンジニアを増やしたいんです。

デスクトップアプリのUIをWindows Formsアプリよりもはるかにリッチなものとすべく、XAMLはWPF(Windows Presentation Framework)と同時に登場しました。それ以降、XAMLはその適用領域をWPFからSilverlight、Windows Phone、Windows RT、そしてUWP(Universal Windows Platform)へと変えながら使い続けられており、これからも使われていくことになるといえます。

XAMLの変遷(⁠⁠ECHO Tokyo 2017」における日本マイクロソフト 高橋忍氏のセッションより)
XAMLの変遷(「ECHO Tokyo 2017」における日本マイクロソフト 高橋忍氏のセッションより)

WPFとともに登場した当時、XAMLの主な用途はWindows用のデスクトップアプリのUIを記述することでした。だが、Windows 10が登場すると、さまざまなデバイス(Windows 10デバイス)で動作するアプリのUIを記述するための技術として適用領域が広がりました。さらにXamarin.Formsを使えば、その対象領域はWindowsばかりでなく、iOS/Android向けのネイティブアプリ開発まで広がります。Windowsデスクトップを含め、クロスデバイス対応/クロスプラットフォーム対応のアプリを開発可能にすることが現在のXAMLの大きな魅力の1つです。

業務アプリの中には、何十年という長期にわたり使われ続けられるものもあります。だからといって、業務アプリが社会の変化とは無縁でいられるというわけではありません。業務アプリは、業務(=ビジネス)の機能性や生産性を高めるツール。時代とともに私たちの生活が変われば、マーケットが変わり、ビジネスを変貌させることもあります。マルチデバイス/マルチプラットフォーム対応に代表されるように、業務アプリへのニーズは、時代とともに変わるのです。はたしてこれからの業務アプリには、どんなことが求められるようになるのでしょう?

これからの業務アプリに求められるもの

福地:

「入力画面があって、データのグリッド表示があって、最後に印刷」というのが業務アプリの定番でしょうか。要するに、これまでは印刷結果を求める道具として、入力機能や表示機能を持った業務アプリが発展してきました。しかしこれからは、印刷を前提とせず、入力や表示だけを行う業務アプリが出てきてもよいと思います。データがネットワーク経由で流れることで業務のワークフローを実現できるのであれば、印刷は不要になるでしょう。

スマートフォンやタブレットの隆盛は、ユーザのコンピューティング体験を大きく変え、印刷の必要性を劇的に減らしました。いつでもオンラインでネットを利用できるデバイスが手元にあるなら、どこでもデータの入力や確認ができます。デバイス環境の変化が、業務アプリに及ぼす影響の一例といえるでしょう。

福地雅之氏
福地雅之氏

スマートフォンやタブレットばかりではありません。たとえばSurface Hubのような巨大なディスプレイに多人数が同時に触れながらコラボレーションを行うデバイス、Windows MRのように仮想現実や複合現実を利用可能にするデバイスも登場しました。身近なWindowsのデスクトップにしたところで、今後は高解像度ディスプレイを備えたPCへの対応が必須の要件となってきます。

Surface Hub(写真提供:日本マイクロソフト)
Surface Hub(写真提供:日本マイクロソフト)

こうした新しいデバイスが業務のあり方をどう変えるのか? その答えを得るにはもう少し時間が必要かもしれませんが、業務アプリとてこうした変化に無縁ではいられないでしょう。

XAMLがもたらす新たな種類のアプリ

「ECHO Tokyo 2017」では、⁠株)マーベリックの秋葉卓也氏によるセッションで、そうした新たな種類の業務アプリが紹介されました。その中の1つが訪日外国人向けの地下鉄の券売機です。

従来の券売機(上)⁠株⁠マーベリックが開発した訪日外国人向けの地下鉄の券売機(下)⁠ECHO Tokyo 2017」におけるマーベリックの秋葉卓也氏のセッションより)
従来の券売機(上)と(株)マーベリックが開発した訪日外国人向けの地下鉄の券売機(下)(「ECHO Tokyo 2017」におけるマーベリックの秋葉卓也氏のセッションより) 従来の券売機(上)と(株)マーベリックが開発した訪日外国人向けの地下鉄の券売機(下)(「ECHO Tokyo 2017」におけるマーベリックの秋葉卓也氏のセッションより)

上は、従来の券売機のUI(右側の東京メトロの券売機では外国人向けのUIが表示⁠⁠、下は新たに開発され、実際の導入が開始された新しい券売機です。従来の券売機では、単にキップの値段が表示されるだけでしたが、新しい券売機では、日本の鉄道に不慣れな外国人でも迷わず使えるように、必要なUIを一から見直したといいます。

次の図の「モック版」⁠試行版」⁠リリース版」は、UIをブラッシュアップする過程です。UIをブラッシュアップしながら、使いやすさを追求した結果、ディスプレイの物理的なサイズが、当初案からより大きなものに変更されたそうです。

券売機アプリのUIの変遷(⁠⁠ECHO Tokyo 2017」におけるマーベリック 秋葉卓也氏のセッションより)
券売機アプリのUIの変遷(「ECHO Tokyo 2017」におけるマーベリック 秋葉卓也氏のセッションより)

XAMLを使うと、画面のデザインとアプリケーションのロジックを分離して記述できます。ロジックと独立して画面デザインを変更できるので、プロトタイプのフィードバックで画面デザインにある程度大きな変更があっても、開発工数に大きな影響を与えることなくUIを変更できます。

変わったのはデザインだけではありません。開発の過程で必要があり、アプリケーションプラットフォームが当初のWindows RT(Windowsストアアプリ)から、最終的にはWPFに変わったといいます。⁠方言」にも例えられるプラットフォームごとの「語彙」の違いがあるとはいえ,ストアアプリとWPFはともにXAMLでUIを記述するため、このプラットフォーム変更も大きな負担なく可能でした。

ここで紹介した例はコンシューマ用途で、一般的な業務アプリではここまでリッチなUIを用意する必要はないのでは、と考える向きもあるかもしれません。しかしスマートフォンやタブレットの普及は、業務アプリユーザの意識も変えつつあります。

スマートフォン時代のUI/UXデザイン

スマートフォンの普及は、業務アプリのUI/UXにどのような影響を及ぼすのでしょうか。

津留:

リッチなUXを実現したスマートフォンアプリが当たり前になって、UXに対するユーザの目が肥えてきていると感じます。マニュアルなど読まなくても、やりたいことができるUXが理想ですよね。ユーザがそういうリッチなUXに慣れてくると、業務アプリにしたところで、よりグラフィカルなUIや、ときにはアニメーションなども使って、ミスを防いだり、生産性を向上させたりするニーズが増えてくるのではないでしょうか。

津留季子氏
津留季子氏

デスクトップPCばかりでなく、スマートフォンでも業務アプリを利用する場面が増えています。アプリをWeb化して、スマートフォンのブラウザからアプリを使えるようにするのが1つの方法といえます。しかし実行性能や、機能的な条件(スマートフォンの通知機能を利用するなど)から、iOSやAndroidのネイティブアプリケーションの開発が必要になるときも出てきます。

ここで重要となるのがXamarin.Formsです。Xamarinは、.NET開発者には馴染み深いC#を使って、iOSやAndroid、Macなどのクロスプラットフォームに対応したネイティブアプリケーションを開発するためのプラットフォームです。そしてXamarin.FormsというUIパーツなどを提供するフレームワークを利用してXAMLで記述することで、iOS/AndroidアプリのUI(の一部)を共通化できます。iOS/Android以外にも、Windows 10で動作するUWPアプリのUIも共通で記述可能です。使い慣れたC#を使い、より少ない開発工数で、クロスプラットフォーム対応アプリを開発できるというわけです。

とはいえ、Xamarin.Formsを使えば全てが解決するというわけではありません。⁠ECHO Tokyo 2017」では、著名企業の公式アプリなど、数々のスマートフォンアプリ開発の実績があるフェンリル⁠株⁠の伊藤伸裕氏と太田川洋氏が、Xamarin/Xamarin.Formsを利用した開発の実際を紹介しました。

Xamarin.Formsを用いてアプリ開発を行う上で考慮すべきポイント(⁠⁠ECHO Tokyo 2017」におけるフェンリル 伊藤伸裕氏/太田川洋氏のセッションより)
Xamarin.Formsを用いてアプリ開発を行う上で考慮すべきポイント(「ECHO Tokyo 2017」におけるフェンリル 伊藤伸裕氏/太田川洋氏のセッションより)

ここに書かれているように、クロスプラットフォーム開発が可能といっても、現実にはOSごとの実装が必要だったり、Xamarin.Formsフレームワークでは提供されないUIを独自に実装したりする必要もあります。

2016年2月、マイクロソフトはXamarinを買収し傘下に収めました。⁠Xamarinがマイクロソフトの傘下に入ったことで、一番期待しているのは品質の向上です。またマイクロソフトのサポートが受けられるという点も、業務アプリ開発者にとっては安心材料でしょう」と福地氏は言います。

Xamarin.FormsでもXAMLを利用しますが、他のプラットフォームにおけるXAMLとは語彙が大きく異なっています。そこで語彙を統一するために登場したのがXAML Standardです。品質の向上と語彙の統一が進むことで、Xamarin.Formsはさらに魅力的な選択肢となるでしょう。

XAML&WPF&MVVMで過去資産を未来に生かせるコード資産に

XAMLが業務アプリの可能性を広げてくれるのはこれまで述べたとおりですが、既存のコード資産をXAMLベースの技術へと移行させていくことはできるのでしょうか。ECHO Tokyo 2017では、エス・ビー・エス⁠株⁠の須藤隆一郎氏よるセッションで、過去のコード資産をWPF化する際に考慮したポイントや、工夫したポイントが紹介されました。

エス・ビー・エス 須藤隆一郎氏のセッションでは、既存のWindows FormsアプリのWPF化におけるキーポイントが語られた
エス・ビー・エス 須藤隆一郎氏のセッションでは、既存のWindows FormsアプリのWPF化におけるキーポイントが語られた

このセッションでは「古いコード資産をMVVMを使用したWPFアプリ化」することで、将来的なWebアプリ化までを見据えたコードへと再構築するまでに、どんな面で工夫をしたのか、どんなところで迷いが生じたかが語られました。MVVM(Model-View-ViewModel)とは、モデル、ビュー、ビューモデルの3つの部分でアプリケーションを構成し、保守性や開発生産性向上を図るアーキテクチャパターンです。

結論からいえば、既存コード資産のXAMLベース技術への移行は可能です。しかしその道程はとても容易と言えるものではなかったようです。XAMLやWPFのメリットを充分に活かすには、MVVMを利用するのが妥当ですが、現実には従来のイベントドリブンな方法を利用するかどうかを迷ったこともあったそうです。

津留:

どうすればアプリケーションをメンテナンスしやすくできるのかは、個々の事情で変わってきます。MVVMの適用指針、ガイドラインのようなものがあれば、XAMLベースの技術はもっと普及するかもしれないですね。

当然といえば当然ですが、XAMLベース技術への移行は簡単ではありません。しかし他のプラットフォームに移行することに比べれば、C#言語などこれまでの開発スキルを活かせる部分は大きいはずです。移行実績も増えてきており、何よりマイクロソフトのサポートも受けられます。山を乗り越えれば、拡張の道が事実上絶たれた古いコード資産を最新のプラットフォームに対応させ、その可能性を大きく広げることができるのです。

XAMLを使ってみよう!

最後にお二人から、XAMLを活用した業務アプリ開発に乗り出そうという開発者に向けたメッセージをいただきました。

福地:

開発者がアプリケーション開発の能力や可能性の幅を広げるには、スキルの習得やツールの選択と活用が必要です。WPFやUWP、Xamarinの最新開発プラットフォームでベース技術として広く活用されているXAMLは、そうした要素を持っています。

津留:

開発者の方も皮膚感覚で「アプリケーションのUIやUXが変わりつつある」と感じているのではないでしょうか。その直観は正しいと思います。新しいUIやUXの必要性は確実に高まっています。今後、マウスとキーボードばかりに最適化されたものとは全く違う業務アプリが増えてくるはずです。その流れに乗るためのキーワードの1つが「XAML」です。XAMLを身に付けることで、キーボードとマウスだけに制限されない新しいサービスを、新しいデバイスで、新しいユーザに提供できるようになります。こうして開発された新しい業務アプリは、開発者にはビジネスの拡大をもたらし、ユーザにはコンピューティングの新しい可能性を広げてくれるでしょう。

「ECHO Tokyo 2017」の各セッションの詳細な内容についてはGrapeCity.devlogをご参照ください。

おすすめ記事

記事・ニュース一覧