web-dev-qa-db-ja.com

MeteorはPhoneGapで使用できますか?

Meteorテンプレートをパッケージ化してPhoneGapアプリケーションとして展開できますか?

68
Marcus Estes

はい、これは可能ですが、流星アプリを電話にパッケージ化することではできません。代わりに、Meteorサーバーにphonegapを向ける必要があります(デバイスの機能にアクセスするためにAPIを引き続き使用できます)。手順は次のとおりです。

  • https://github.com/phonegap/phonegap からphonegap 2.2。*の最新コピーを入手します(2.1には、この手法が機能しないバグがあります)
  • 次の手順を使用して、phonegapプロジェクトを作成し、Meteorサーバーのドメイン名をホワイトリストに登録します。 http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html
  • IOSの場合、CordovaLib/Classes/CDVViewController.mを見つけて開きます 行175 、appURLをappURL = [NSURL URLWithString:@ "http://your-server.com"];で上書きします。

それでおしまい。アプリをコンパイルして実行します。

いくつかの時間節約:

  • Www /ディレクトリの内容をmeteorサーバーのルートディレクトリにコピーすることで、meteorディレクトリのセットアップを開始できます。 java/scriptsファイルをclient /ディレクトリの下にコピーして、メインの流星jsファイルの前にロードされるようにしてください。
  • メインの流星jsファイルからapp.initialize(window)を実行します。windowパラメーターが渡されない場合、アプリはクラッシュします。
  • Xcodeのwww /ディレクトリの下にmeteorサーバーをセットアップしようとしないでください。 .meteorサブディレクトリにはノードモジュールへのシンボリックリンクが含まれているため、デバイスにデプロイすることはできません。
39
snez

Meteorの0.9.2バージョンでは、Phonegapの使用は簡単です。 https://www.meteor.com/blog/2014/09/15/meteor-092-iOS-Android-mobile-apps-phonegap -cordova

8
Mitja Bezenšek

まあ、私はあなたがどこまで行きたい/必要とするかを理解することが最良の出発点だと思います。

海オジョィカま

  • どこかにサーバーに接続するMeteor.js PhoneGapアプリ?次に、おそらくPhoneGapプロジェクトでMeteorクラスを使用し、Meteor.connect(url)を使用してサーバーに接続します。

  • オフラインアプリのデータの永続性-それは難しくなります...確かに方法はありますが、Meteorが設計されたものではありません
    達成する。バックボーン、脊椎、
    他のクライアント側JSフレームワーク。ローカルストレージは簡単に使用できますが、ローカルとサーバー間でデータを同期するときに実際の作業が始まります。

それはポイントに到達するのに役立つはずです...

7
thomasf1

PhoneGapを使用してモバイルデバイスにMeteorアプリを移植する簡単な手順を次に示します PhoneGapを使用するモバイルデバイスのMeteor

stream_clientbf90.jsは、あなたのdomain.itに移植します。

4
snowflax

私はある程度粗雑な方法で行いましたが、ここで私が従ったプロセス:

  • トドスの例
  • meteor bundle ../todos.tgzでtodosバンドルを作成します
  • バンドルを抽出します抽出したバンドルをエディターで開きます
  • Static_cacheable /フォルダーにある.jsファイルを開いてフォーマットし、「file://」リクエストからのajax呼び出しを実際のホストリクエストに置き換えます。
  • 私はこれを1766行で行い、ajaxハンドラを作成します

    u.protoype._start = function(a, d, e, f){
        d = d.replace("file://localhost","http://localhost:3000");
        ...
    }

この後、ブラウザでapp.htmlファイルを開き、サーバーが既に実行されていることを確認します。これにより、ほとんどのアプリケーションが動作します。

ただし、これは実際のアプリケーションでの使用方法ではありませんが、より多くの変更を加えると、Phonegapのクライアント側を別の場所で実行されているサーバーで使用できます。

編集

Meteorには connect というメソッドがあり、上記のURL置換呼び出しを解決する可能性のある別のmeteorアプリケーションに接続しますが、まだ試していません。

4
dhaval

このパッケージもあります: https://github.com/awatson1978/cordova-phonegap

私は個人的にそれを試していませんが、それは正しいアプローチのようです。

更新:8月のデベロッパーでは、 phonegapのサポートがコアチームから発表されました クールなデモなどがあります。

それをいじるには:

meteor update --release CORDOVA-PREVIEW@3

はじめに: https://meteor.hackpad.com/Getting-Started-With-Cordova-Z5n6zkVB1xq

2

これは、phonegap + meteorjs + oauth2のライブデモです。
Google Playで流星を使用してこのアプリを作成しました。
https://play.google.com/store/apps/details?id=com.youiest.tapmatrix&hl=en
これは個人的な作業であるため、ソースコードを公開できませんでした。
お気軽に質問してください。
meteor + phonegapで作業しようとした方法は複数あります。
ありがとう。

2
nicolsondsouza