Electron (以前の Atom Shell)がどのように機能するかについて頭を悩ませようとしています。
私は、従来の MVC スタイルの Web アプリケーションから来ています。ブラウザーは、ルーティング システムを介してコントローラー アクションを呼び出し、コントローラーはストア (ファイル システム、データベースなど) からデータをフェッチし、ビューをレンダリングします。これはブラウザに送り返されます。一部のアクションは、ブラウザが実際にナビゲートするのではなく、JavaScript/AJAX を介して呼び出されるため、代わりに JSON を送り返す場合があります。
私はそれを作成したいのですが、クロスプラットフォームのデスクトップ アプリケーションとして作成します。Atom Shell が Chromium-Browser と Node.js/v8 ランタイムの両方を組み合わせていることは知っていますが、それらがどのように通信するかはわかりません。
Web サーバー (基本的にはExpressのようないくつかの Node.js HTTP ミドルウェア) で完全に実行できると思いますが、それによってネットワークに到達可能なサーバーが作成されます (これは、ファイアウォールもトリップする可能性があります)。これが、デスクトップを作成する理由の 1 つです。アプリは、実際のサーバーの実行を避けるためのものです。基本的に、「通常の」デスクトップ アプリの MVP/MVVM パターンに似ています。
誰かが私がやろうとしていることの出発点をいくつか教えてもらえますか? ブラウザはどのようにノード ランタイム (「クライアント」と呼んでいますか?) と通信して、「ねえ、ID 12345 のレコードをフェッチしてください」と伝え、クライアントはレンダリングされた HTML を返しますか、それともブラウザは単に blob を取得しますか? JSON を戻して、JavaScript テンプレート エンジンを介してレンダリングしますか?