BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Tabris 1.0: Javaを使用したクロスプラットフォームモバイル開発

Tabris 1.0: Javaを使用したクロスプラットフォームモバイル開発

ブックマーク

原文(投稿日:2013/04/19)へのリンク

 

3年間という開発期間を経て,EclipseSourceTabris 1.0 をリリースした。iOSとAndroidに対応した,クロスプラットフォームのJavaモバイル開発フレームワークだ。企業をターゲットにするこのTabrisは,これまでの他のモバイルソリューションとは異なるアプローチを採用する。

  • プログラミングの大部分はJavaで行う。
  • クライアントUIのバイナリ表現などビジネスロジックは,サーバ側の Eclipse RAP 上で動作する。
  • モバイルデバイス上では,非常に軽量なクライアントアプリケーションが動作する。
  • サーバはJSONフォーマットでクライアントと通信して,ビジュアルなUIを生成するためのデータとコマンドを送信する。
  • クライアントのユーザインターフェースは,ネイティブコンポーネントを使用して生成される。
  • iOS用のクライアントはObjective-Cで,Android用はJavaで記述されている。

TabrisにはJava SWT API上に構築された UI Toolkit が付属する。このツールキットは PageAction という,2つの主要なウィジェットを備えている。Page はアプリケーション用の基本的なコンポーネントを含み,Action はユーザコマンドを扱うためのものだ。下記のTabrisアプリケーションデモのスナップショットでは,Page は赤で,Action は緑で示されている。

 

Page は結合してナビゲーションを行うことができる。Action はグローバル用 – アプリケーション全体 – とローカル用 – 現在のページ – から選択可能だ。

コンポーネントの処理が終わると,アプリケーションのサーバ側からクライアントにJSONスニペットが送信される。例えば以下のデータは,ボタンを生成するためのものだ。

受信したクライアントアプリは,iOSあるいはAndroidのネイティブコンポーネントを使ってボタンを描画する。

InfoQではEclipseSourceでTabrisサーバのチームリーダを務める Holger Staudacher氏 に,フレームワークについて詳しく聞くことにした。氏の話では,Tabrisは企業を対象にしているためにサーバとの常時ネットワーク接続が必要なのだという。

Tabrisはオンサイト・モビリティアプリケーションのためのフレームワークで,管理された環境の下で最適な動作を行います。"管理された" というのは,固定的ネットワークとか,そういった意味です。私たちのユーザは,例えば病院のように,すべてのデバイスが同じネットワークに接続されています。このようなアプリケーションは,普通は企業内で開発されるものです。

Tabrisはオフラインでは動作しません。基本的にはひとつのモバイルUIがひとつのセッションです。ですからユーザのデバイスが接続を失うと,そのセッションも無効になってしまいます。モバイルクライアント上ではエラー処理が動作していて,HTTP要求の再送など標準的なエラー処理が実装されています。ネイティブなエクステンションを使用して,アプリ開発者が拡張することも可能です。

Tarbisが汎用目的のアプリケーション開発に適しているか,という質問に対して氏は,理屈の上では可能だが,目的にベストフィットするものではない,と応えている。

汎用目的というのは,サーバに大きな負荷を掛ける,という意味だと思います。このフレームワークでは標準的なJavaEE技術を使用していますから,重いロードが発生するようであれば,Java EEクラスタリング機構を使用することも可能です。数百万というユーザ数でテストしたことはありませんが,技術的な視点からは可能なはずです ;)

Tabrisでは 多数のSWTコンポーネントのサポート に加えて,カメラや位置情報といったネイティブなセンサもいくつかサポートされている。

タブレットもサポートしているが,現時点でアプリケーションが一度に表示可能なのは1ページのみだ。複数ページのサポートは,将来的に追加が予定されている。さらに今後Tabrisが勢いを得られるならば,他のモバイルプラットフォームへの展開も考えられる。Windowsもサポートされることになるだろう。

近い将来の予定として,チームは以下の機能を追加したいと考えている。

  • アドレスブックのサポート
  • 姿勢センサのサポート
  • クライアントイベントを処理するため,クライアントスクリプティングのサポート
  • XCallbackUrl サポート

FAQ によると,Tabrisで構築されたアプリケーションは "App Storeのルールに従っていれば" App Store経由の配信も可能,ということだ。Android用の デモアプリケーション がGoogle Playで公開されている。

Tabrisはオープンソースではないが,エンタープライズライセンスでソースコードにアクセスすることができる。詳細については EclipseSourceの価格ページ に紹介されている。

 

この記事に星をつける

おすすめ度
スタイル

BT