BT

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

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2013年4月25日. 推定読書時間: 4 分 |

原文(投稿日: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の価格ページ に紹介されている。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT