情シスの味方、ワンソース・マルチユースで業務効率を改善 (1) 時代のニーズは「クロスプラットフォーム対応」へ
○スマートデバイスの課題はプラットフォームの多様性
スマートフォンやタブレットなどのスマートデバイスは、いまや企業の情報システム部門にとっても無視できない存在となっている。特に、社外に出て仕事をする機会の多い営業部門では、可搬性と操作性に優れたスマートデバイスを業務システムのモバイル端末として採用する例が増えている。
そうした状況のなか、情報システム部門を悩ませているのが、業務を効率よくこなすためのモバイルアプリケーションの開発だ。OS/バージョンの互換性がある程度保たれているWindowsのモバイル端末ならば、ネイティブアプリケーションを開発するのにもそれほど苦労することはなかった。ところがスマートデバイスの場合、主要OSだけでもiOS、Android、Windowsの3種類があり、新機種や新OS/バージョンが登場するたびに、機種ごとに機能差が生じてくる。
つまり、このようなプラットフォームの多様性がアプリケーション開発を難しくしているのだ。
業務向けモバイルアプリケーション開発において、豊富なソリューションの提供実績があるSCSKの流通システム第一事業本部 流通システム第一部 Curlプロダクト課 シニアプロフェッショナルビジネスクリエータ 三野凡希氏は、こうした課題を実感しているという。
「これまで企業で使うスマートデバイスと言えば、iPhone/iPadがデファクトスタンダードでした。ところが最近はAndroidやWindowsを採用する企業も増えており、実際にiPadからWindowsタブレットへ移行した例も出ています。そうした企業にとって課題となっているのが、iPadのアプリケーション資産をそのままWindowsへ移行できず、一から作り直しをしなければならないことです」(三野氏)
こうした背景もあり、SCSKではOSやバージョンに依存しないクロスプラットフォーム対応のアプリケーション開発のニーズが急増しているという。
「プラットフォームの選定に悩む企業は多く、モバイルアプリケーションの開発がスタートしてもデバイスが決まっていないケースもあります。企業内の閉じた環境だけで利用する業務システムならばプラットフォームを絞り込むことも可能ですが、ビジネスパートナーも利用するモバイルアプリケーションを開発するとなると、デバイスを限定することができないため、クロスプラットフォーム対応が大前提になります」(三野氏)
機種やOSの違いを最小化するためには、Webブラウザベースのモバイルアプリケーションを採用することも考えられる。しかしWebブラウザベースのモバイルアプリケーションは、操作性やパフォーマンスの面で難があり、業務システムに向かないケースが多々あるという。
「クロスプラットフォーム対応という点では、HTML5でWebアプリケーションを開発するという解決策もあります。Webブラウザ上でできる業務であればそれで十分ですが、スマートデバイスの利点を生かした業務システムを構築するには、やはりデバイスに特化した機能が必要になります。そうなるとWebアプリケーションではなく、デバイスの特性を生かせるネイティブアプリケーション開発の技術が求められるわけです」(三野氏)
○モバイルアプリ開発を効率化する「Caede」
ただし、クロスプラットフォームに対応したネイティブアプリケーションを開発することは容易ではない。たとえば同じOS/バージョンのスマートデバイスでも、スマートフォンとタブレットでは解像度が異なるため、見た目や操作性も考慮したさまざまなバリエーションのアプリケーションを用意しなければならないのだ。
「開発側で最も大変なのは、デバイスによって情報を出し分ける必要があるということです。たとえば画面サイズが違えば出力される情報量はデバイスごとに変わってきます。そのため、開発側はそれぞれに適した情報を提供する必要があり、スマートフォン用とタブレット用のアプリケーションを別々に開発しているのが現状です。そのため機種やOS/バージョンの差異を吸収するクロスプラットフォーム対応だけでなく、マルチウィンドウに対応できる開発環境が必要になってきているのです」(三野氏)
さらに三野氏は、アプリケーションのデプロイにも課題があると補足する。
「モバイルアプリケーションでは、デバイスに配布してインストールするのにも手間がかかります。社内利用のアプリケーションをApp StoreやGoogle Playといったパブリックな環境で配布するのがいいのか、またはMDMツールを導入して独自に配布する方がいいのか、といったことを考えなければなりません。他にも、バージョンアップする際には、サポート工数を減らすためにプッシュ型で強制的にバージョンを一致させる仕組みも検討する必要もあります。配布だけでなく保守メンテナンスや障害対応も含めると、クロスプラットフォーム対応アプリケーションの開発は何倍もの負荷が増大することになります」
このように一筋縄ではいかないクロスプラットフォーム対応のモバイルアプリケーション開発を効率化するソリューションが、SCSKの統合開発環境「Caede」だ。
「Caedeには『ワンソース・マルチユース』という特徴があります。Curlという言語だけで複数のデバイス、複数のウィンドウサイズに対応したモバイルアプリケーションがワンソースで開発できるという意味です。デバイスによる違いはすべてCaedeが吸収するので、開発者は基本的にデバイスを意識する必要がありません。たとえばiOSとAndroidのカメラ機能を利用する場合、それぞれのデバイス固有のコーディングを行う必要はなく、Curlでカメラ機能を呼び出すだけです。
またデバイスやOSに新たな機能が搭載されたときには、Caedeにライブラリを追加して拡張する仕組みになっています」(三野氏)
モバイルアプリケーションの開発効率を劇的に向上させるCaede、およびその開発言語であるCurlとは、果たしてどのようなものだろうか。次回はCaedeとCurlの機能概要、およびメリットについて紹介する。