Meteorからヘッドレスノードベースのクライアントを構築することは可能ですか?

トーマス

私は、リモートマシン(プロジェクターやその他のハードウェアに接続されている)がMeteorアプリケーションを介して制御されるシステムに取り組んでいます。現在、これを実現するためにC ++で記述された自家製のDDPクライアントを使用していますが、このアプローチは私が望むほど柔軟ではありません。

  • C ++とJavaScriptの間には重複があります。
  • サーバーとクライアントの両方を同時にデプロイすることはできないため、アップグレードは困難です。そのため、下位互換性と順序について常に考慮する必要があります。

そこで、C ++アプリのMeteor部分をJavaScriptで書き直すというアイデアをいじっています。私が望む何を、理想的には、(それを呼び出す我々のアプリの特別なクライアントを持つことがあるheadlessのに似て、serverclientします):

  • Meteorアプリの他の部分と同じソースから構築されているため、サーバーやWebクライアントと同じビジネスロジックを再利用できます。
  • クライアントマシンのNode.jsで実行されるため、OSにアクセスできます。
  • ブラウザコードは含まれていませんが、マシンの制御とC ++アプリとの通信に固有のその他のコードが追加されています。

このクライアントに実際のコードは含まれず、ブートストラップコードの一部が含まれるとさらによいでしょう。ブートストラップは、HTMLクライアントの場合と同じように、サーバーから実際のアプリケーションコードをダウンロードし、サーバーが更新されたときに再ダウンロードします。サーバーとクライアントが常に同じバージョンを実行していると想定できるため、更新がはるかに簡単になります。

そのようなものは存在しますか?そうでない場合、不当な努力なしにどれだけ近づくことができますか?「meteorheadlessclient」と「meteornodeclient」の検索は私を助けていません、そして私が見つけることができ唯一のいくらか関連した質問はよく答えられていません。

JeremyK

meteor-desktopパッケージを使用してリモートヘッドレスクライアントを構築することで、これを機能させることができるはずです。

https://www.npmjs.com/package/meteor-desktop#architecture

Electronアプリでは、アプリ内で2つのプロセスが実行されています。いわゆるメインプロセスとレンダラープロセス。メインプロセスはノードで実行されるJSコードであり、レンダラーはChromiumプロセスです。この統合では、Meteorアプリはレンダラープロセスで実行され、デスクトップ固有のコードはメインプロセスで実行されます。彼らはIPCイベントを通じて通信しています。基本的に、デスクトップ側はそのAPIをIPCイベントリスナーとして公開します。Meteorコードでは、それを呼び出すのはDesktop.send( 'module'、 'event');と同じくらい簡単です。

これはあなたに与えるでしょう:

  • この(デスクトップ)クライアントでのOSアクセス
  • ホットコードプッシュ(ノードモジュールに関する警告付き)
  • Meteor.isDesktop提供して、ブラウザとデスクトップクライアントで実行するコードを制御します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ノードサーバーなしでElectronデスクトップアプリを構築することは可能ですか?

分類Dev

別のネットワークのサーバー/クライアントソケットをアドレス指定することは可能ですか?(C ++)

分類Dev

アノテーションを使用してメソッドレベルのアクセスチェックを実装することは可能ですか?

分類Dev

再試行イベントで@Retryableアノテーションが付けられたクラスのメソッドにパラメーターを変更することは可能ですか?

分類Dev

リアルタイムデータベースでFirebaseCloud Functionsを使用して、複数のノードをカバーするアトミックトランザクションを作成することは可能ですか?

分類Dev

JavaサーブレットでクライアントのIPアドレスを正確に決定することは可能ですか?

分類Dev

アノテーション@Sqlを使用して、メソッドレベルの前にクラスレベルでスクリプトを実行することは可能ですか?

分類Dev

このApacheベースのAPIクライアントクラスはスレッドセーフですか?

分類Dev

既存の分散クライアントのワーカー/スレッドの数を変更することは可能ですか?

分類Dev

GDBのバックトレースで共有ライブラリ内の絶対アドレスを表示することは可能ですか?

分類Dev

UbuntuデスクトップOSにopenstackコントローラーノードをインストールすることは可能ですか?

分類Dev

onbeforeunloadイベントハンドラーによってトリガーされるIEの「NATIVE」ダイアログボックスからユーザーの応答を取得することは可能ですか?

分類Dev

クラウドベースのSQLServerに対してデスクトップアプリケーションを実行することは可能ですか?

分類Dev

JavaHelp:クラスパス外の場所からヘルプをロードすることは可能ですか?

分類Dev

あるクラウドオブジェクトストレージインスタンスから別のインスタンスにCopyObjectをコピーすることは可能ですか?バケットはさまざまな地域にあります

分類Dev

同じプロジェクトでSwiftコーディングとUIインターフェイスストーリーボードの両方を使用して、xcodeでアプリを構築することは可能ですか?

分類Dev

複数のサーバーアドレスを追加することは可能ですか?(Asio、クライアント->サーバー)

分類Dev

VBAを使用してレポートセクションヘッダーのテキストラベルを操作することは可能ですか?(MS-ACCESS)

分類Dev

ホスト内のRDPクライアントのバッテリーレベルを表示することは可能ですか?

分類Dev

Scala:マクロアノテーションを使用してクラスのコンストラクターフィールドにアノテーションを付けることは可能ですか?(マクロパラダイス)

分類Dev

クレジットカードの取引からメールアドレスを取得することは可能ですか?

分類Dev

Pythonアプリプラットフォームにノードをインストールすることは可能ですか?

分類Dev

x-real-ipとx-forward-forをヘッダーに追加するロードバランサーからgRPCのクライアントIPアドレスを取得するにはどうすればよいですか?

分類Dev

@QualifierアノテーションをJavaクラスのプライベート静的変数に設定することは可能ですか?

分類Dev

イベントリスナーを外部スクリプトからShadowDOM内の要素にバインドすることは可能ですか?

分類Dev

複数のダイナミックリンクライブラリ(DLL)が静的ライブラリ(LIB)からスレッドローカルストレージを共有することは可能ですか?

分類Dev

スクリーンショットにヘッドレスモードでCEFpythonを使用することは可能ですか?

分類Dev

JavaFXの使用:グリッドペインをアラートダイアログボックスに配置することは可能ですか?

分類Dev

FTPアドレスからVisualStudioへのインクルードパスを追加することは可能ですか?

Related 関連記事

  1. 1

    ノードサーバーなしでElectronデスクトップアプリを構築することは可能ですか?

  2. 2

    別のネットワークのサーバー/クライアントソケットをアドレス指定することは可能ですか?(C ++)

  3. 3

    アノテーションを使用してメソッドレベルのアクセスチェックを実装することは可能ですか?

  4. 4

    再試行イベントで@Retryableアノテーションが付けられたクラスのメソッドにパラメーターを変更することは可能ですか?

  5. 5

    リアルタイムデータベースでFirebaseCloud Functionsを使用して、複数のノードをカバーするアトミックトランザクションを作成することは可能ですか?

  6. 6

    JavaサーブレットでクライアントのIPアドレスを正確に決定することは可能ですか?

  7. 7

    アノテーション@Sqlを使用して、メソッドレベルの前にクラスレベルでスクリプトを実行することは可能ですか?

  8. 8

    このApacheベースのAPIクライアントクラスはスレッドセーフですか?

  9. 9

    既存の分散クライアントのワーカー/スレッドの数を変更することは可能ですか?

  10. 10

    GDBのバックトレースで共有ライブラリ内の絶対アドレスを表示することは可能ですか?

  11. 11

    UbuntuデスクトップOSにopenstackコントローラーノードをインストールすることは可能ですか?

  12. 12

    onbeforeunloadイベントハンドラーによってトリガーされるIEの「NATIVE」ダイアログボックスからユーザーの応答を取得することは可能ですか?

  13. 13

    クラウドベースのSQLServerに対してデスクトップアプリケーションを実行することは可能ですか?

  14. 14

    JavaHelp:クラスパス外の場所からヘルプをロードすることは可能ですか?

  15. 15

    あるクラウドオブジェクトストレージインスタンスから別のインスタンスにCopyObjectをコピーすることは可能ですか?バケットはさまざまな地域にあります

  16. 16

    同じプロジェクトでSwiftコーディングとUIインターフェイスストーリーボードの両方を使用して、xcodeでアプリを構築することは可能ですか?

  17. 17

    複数のサーバーアドレスを追加することは可能ですか?(Asio、クライアント->サーバー)

  18. 18

    VBAを使用してレポートセクションヘッダーのテキストラベルを操作することは可能ですか?(MS-ACCESS)

  19. 19

    ホスト内のRDPクライアントのバッテリーレベルを表示することは可能ですか?

  20. 20

    Scala:マクロアノテーションを使用してクラスのコンストラクターフィールドにアノテーションを付けることは可能ですか?(マクロパラダイス)

  21. 21

    クレジットカードの取引からメールアドレスを取得することは可能ですか?

  22. 22

    Pythonアプリプラットフォームにノードをインストールすることは可能ですか?

  23. 23

    x-real-ipとx-forward-forをヘッダーに追加するロードバランサーからgRPCのクライアントIPアドレスを取得するにはどうすればよいですか?

  24. 24

    @QualifierアノテーションをJavaクラスのプライベート静的変数に設定することは可能ですか?

  25. 25

    イベントリスナーを外部スクリプトからShadowDOM内の要素にバインドすることは可能ですか?

  26. 26

    複数のダイナミックリンクライブラリ(DLL)が静的ライブラリ(LIB)からスレッドローカルストレージを共有することは可能ですか?

  27. 27

    スクリーンショットにヘッドレスモードでCEFpythonを使用することは可能ですか?

  28. 28

    JavaFXの使用:グリッドペインをアラートダイアログボックスに配置することは可能ですか?

  29. 29

    FTPアドレスからVisualStudioへのインクルードパスを追加することは可能ですか?

ホットタグ

アーカイブ