モバイルファーストで行くならば1ソース・マルチプラットフォームが鍵となる
モバイルファーストでクライアント環境を整えようとすれば、まずはターゲット端末を決め開発環境を整えなければいけない。そして、対象となるプログラミング言語での開発者、できればモバイルアプリケーションの開発経験者を確保する必要がある。この敷居はけっこう高い。
iOS端末は、それほどたくさんスクリーンサイズの違いがないので、iPhone用とiPad用の大きくは2種類のインターフェイスを開発すればいいだろう。Androidの場合はバラエティが多いので、どこまできめ細かく対応するかの判断は難しいところだ。企業ユースであれば、今後はさらにWindows系のタブレットなども対象となる可能性も高く、その対応を考えるとさらに頭が痛いことに。
さまざまなモバイル端末に対応するという課題を解決するために、日本ネクサウェブでは新たなUI/UXの開発環境「nexacro platform」の提供を5月19日から開始した。この日本ネクサウェブ、先日この記事でも紹介した、米国へ進出するために現地法人を買収するというユニークな方法をとったTOBESOFTの日本のブランチ企業だ。
nexacro platformは1ソースでマルチプラットフォーム、マルチブラウザ、マルチスクリーンサイズに対応するプログラムが作れる開発ツールだ。1つのプログラムを作れば、iPhoneでもiPadでもAndroidのタブレットでも動くアプリケーションを出力できる。スマートフォン用にレイアウトしたものを画面の大きなタブレットで表示した場合にも、ツール上で簡単な設定をするだけで自動で表示調整する機能も提供されている。もちろん、画面サイズに合わせ異なるレイアウトを出力することも可能で、その場合にも別々のソースコードを用意するのではなく1つのソースコードの中で実現できる。
これにより、アプリケーション開発者は基本的にメンテナンスをするのは1つのソースコードだけで良くなる。この1ソースというのは、バージョンアップやバグ対応を考えた際に開発者にとっては大きなメリットとなるだろう。nexacro platformは、4GL型のGUIベースの開発環境となっている。コードの記述はJavaScriptと同様であり、JavaScriptができる開発エンジニアであれば新たな言語スキルを身に付けることなく開発できる。これを使うことで、カメラなどの機能も取り込んだネイティブアプリケーションの開発が行える。それだけでなく、HTML5ベースのブラウザ用アプリケーションも出力できる。
さらにnexacro platformは、PC用のアプリケーションも1つのソースから出力できる。モバイル端末でのタッチ操作とPCでのマウスクリックでは発生するイベントも異なるが、そういった違いもツール上で簡単に設定し使い分けることが可能だ。「モバイル、PCを含め1ソースで開発できるツールは、現時点で他にありません」と日本ネクサウェブ 取締役のチェ・チャンファン氏は言う。
ただし、nexacro platformはいわゆるサーバー側のアプリケーションロジックを開発するツールではない。あくまでもUI部分の開発ツールだ。サーバー側と連携するためのAPIとしては、JSP/Servlet、ASP .Netに対応する。このようにUI開発に特化することで、1ソース・マルチプラットフォームのクライアントアプリケーション開発環境を実現しているとも言える。
「ブラウザでうまく動かないものがあれば、それを直すのはネクサウェブの責任です」とチェ氏。
これは、開発者はアプリケーション部分を作ることだけに集中し、それを各種モバイル端末でうまく表示させるところはツールを提供しているネクサウェブの責任だということ。なので、新しいブラウザなりが登場すれば、それへの対応はネクサウェブが行う。開発者はテストは必要になるが、そのブラウザ用にコードを書き換える必要は基本的にはない。このnexacro platformを使うと、平均で30%程度は開発効率が向上する。既存のWebベースアプリケーションのUI部分だけを変更しモバイル対応したいといったニーズも多く、そういった場合の開発環境としても最適なツールだと言う。
「タブレット対応で行くのか、さらにはiOSなのかWindows系なのか顧客の方向性なかなか定まりません。仕方がないので、とりあえずどれかを決め打ちしてスタートする。しかしながら、この先主流の端末が変わればそれに合わせ作り直すことになるでしょう。nexacro platformならそのままのソースコードでOKです」
日本ネクサウェブ 副社長の矢形勝志氏は、ターゲットがなかなか定められない中でもモバイルファーストで行くとするならば、nexacro platformのような1ソースマルチユースのツールを採用すべきだと言う。
セールスフォース・ドットコムのSalesforce1のように、クラウドサービスにモバイルファーストを実現するための仕組みを取り込む動きも今後さらに活発化するだろう。そういったところからもモバイルの利便性をユーザーが知ってしまえば、既存アプリケーションのモバイル対応というニーズもさらに増えそうだ。その際に、将来を見据えどの端末をメインターゲットとするのか、さらにはそのためにどんな開発環境で行くのか。モバイルファーストでは、1ソース・マルチプラットフォームが1つの重要なキーワードとなりそうだ。