BT

Meteorがモバイルアプリでホットコードプッシュを実現

作者: Roopesh Shenoy , 翻訳者 吉田 英人 投稿日 2014年10月1日 |

原文(投稿日:2014/09/17)へのリンク

Meteor0.9.2がリリースされたPhoneGap/Cordovaの新たな統合により,iOSとAndroid用のネイティブアプリ開発に加えて,ホットコードプッシュをサポートする。

Meteorの中核をなす機能のひとつが,ホットコードプッシュだ。 今回のリリースでは,これがiOSとAndroidアプリに対応し,Meteorプロジェクトをモバイルアプリとして(PhoneGapを使用して)パッケージ化できるようになった。 Meteorアプリを配布すれば,サーバからのホットコードプッシュが可能になる。アプリの各インストールコピーが新しいコードをダウンロードして,デバイス内部にストアする。次にアプリが起動された時には,新しいコードが実行される仕組みだ。

簡単に言うと,Meteorでは,標準的なアップデート機構(あるいはそれに対する審査プロセス)を回避したアップデートが可能になる。

だがこれは,"いかなる方法や形式であっても,コードをダウンロードするアプリは拒否される"と明確に述べている,Appleの審査ポリシに反するのではないだろうか。開発チームの中心メンバであるSlava Kim氏は,標準的なMeteorアプリとAppleが拒否する一般的なアプリとでは,いくつかの点で違いがあることを示唆する

  • Meteor-PhoneGapアプリはApp Storeに提出された時点で,新たなコードをダウンロードしなくても,完全な機能を備えている。
  • ホットコードプッシュのおもな目的は,緊急的な修正や小さな修正である。重要な変更に使用する必要はない(そうあるべきだ)。新しいデバイス機能をサポートするような大きな変更は,何らかの方法でネィティブなコンポーネントに新たにアクセスする必要がある。このような場合,Meteorに頼ることはできないので,App Storeを経由してアップデートを行わなければならない。

それでも開発者は,慎重を期したいと思うかも知れない。

実際のアプリにホットコードプッシュを使用しないとしても,Meteorは開発エクスペリエンスを劇的に改善してくれる。新しいコードをセーブすると,シミュレータ上で即時更新が行われるため,コーディング-実行-テストという開発ループの短縮化が可能になるのだ。実際の動作は,SlavaとMattのプレビュー版デモで見ることができる。

同社は8月末にも,新しいパッケージシステムであるIsobuildを発表している。Isobuildは,ブラウザクライアントとサーバのいずれでも実行可能な,アイソモーフィック(isomorphic,同型)コードによるパッケージの作成に対応する。そのコンセプトが今回,モバイルにまで拡張された。Meteorプロジェクトにさまざまなターゲットプラットフォームを追加することで,同じアプリをモバイル(iOSおよびAndroid)とWebの両方で動作させることができるようになる。Meteorは,PhoneGap既存のクロスプラットフォームでアイソモーフィックなAPIをベースに構築されている。さらに,対応するブラウザAPIを用意することで,そのふたつを統一している。例えば,新しいカメラパッケージを使用すれば,デスクトップブラウザからでも,モバイルデバイスからでも,まったく同じコードを使って写真を撮ることができる。コードの大部分を共有することも,環境に固有のコードを分離することも可能だ。

ただし,オフラインデータなど一部のモバイル特有の機能については,現時点では利用できない。Meteor開発チームは現在,ビルドとツールレベルのサポートを第1に注力したいと考えている。

Meteor-PhoneGap統合に関する詳細や,Moteorによるモバイルアプリ開発方法については,プロジェクトWikiで読むことができる。

今回のリリースでは,OAuthログインのモバイルサポートも改善されている。UWebView内で動作するリダイレクトベースのフローが新たに追加されるとともに,既存のポップアップベースのフローについても,PhoneGapアプリ内で動作するように拡張された。リリースの詳細については,リリースノートを参照してほしい。

MeteorはオープンソースのJavaScriptフレームワークである。あたかもサーバ上で動作しているかのように,クライアントコードを記述することが可能であり,ライブページ更新や強力なデータ動機,レイテンシ補正,ホットコードプッシュといった機能を備えている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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でリプライする

ディスカッション
サイト全般について
バグ
広告
記事
Marketing
InfoQ.com and all content copyright © 2006-2016 C4Media Inc. InfoQ.com and 株式会社豆蔵 InfoQ Japan hosted at Contegix, the best ISP we've ever worked with.
プライバシー
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.