BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Meteorがモバイルアプリでホットコードプッシュを実現

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

ブックマーク

原文(投稿日: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フレームワークである。あたかもサーバ上で動作しているかのように,クライアントコードを記述することが可能であり,ライブページ更新や強力なデータ動機,レイテンシ補正,ホットコードプッシュといった機能を備えている。

この記事に星をつける

おすすめ度
スタイル

BT