問題タブ [electron]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - NW.js、Brackets-Shell、Electron の機能上の違いは何ですか?
TideSDK が事実上死んでしまった今、私は HTML/CSS/JS アプリケーションをスタンドアロンのデスクトップ アプリケーションとして実行する代替の「ラッパー」を探してきました。これまでに実行した 3 つの実行可能なオプションは、NW.js (以前の node-webkit)、 brackets -shell、およびElectron (以前の atom-shell) です。
問題は、機能セット、互換性などに関して、3 つの間の十分に完全な比較がないように見えることです。特に以下に関する3つ:
- プラットフォームのサポート; オペレーティング システム、依存関係など。
- HTML5、CSS3、JavaScript に関する限り、言語機能のサポート。「HTML5 ビデオは機能しますか? もしそうなら、どのコーデックが利用可能ですか?」などと考えてみてください。
- トレイ アイコン、ポップアップ通知、OS レンダリング メニュー バーなど、非標準の追加機能。
- 拡張性; 例えば。ネイティブ コードを「プラグイン」する機能、Node.js と対話する機能など。
- 建築; 特に、開発者としての日常的な使用に影響を与えるアーキテクチャの違い。
- デバッグ; 含まれる開発ツール、一般的に使用されるツールとの互換性
node-inspector
など。 - ... 等々。
アプリケーション開発者としてどちらを選択する際に重要な、客観的で技術的な違いは何ですか?
javascript - Electron (Atom Shell) を使用する場合のクライアント/サーバー モデルは何ですか?
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 テンプレート エンジンを介してレンダリングしますか?
macos - アトムシェル アプリケーションの起動時にカーソルを非表示にする
起動時にマウス カーソルを非表示にする、atom-shell ベースのキオスク スタイルのアプリケーションを作成できた人はいますか? アプリはログイン時に自動起動する必要があります。
純粋な JS/CSS ではうまくいかないようなので、今は Cursorcerer と Applescript を使った厄介なハックに頼っています。
手がかりはありますか?
javascript - bluebird - promise チェーンが予期しない「真の」値を返す
ReactJsを使用してアトムシェルアプリを作成しています。したがって、私は書き2 simple node.js-modules
ました。1 つ目は XML API をフェッチし、オブジェクトの配列を返します。2 つ目は単純なデータストアで、取得したデータセットを保存する必要があります。両方のモジュールは非同期を利用してbluebird
います。
今、私は次のシナリオを持っています:
私の問題は理解することです.なぜステップ#3を超えてすべてがtrue
代わりに解決されるのarrays with values
ですか?純粋なノードでライブラリをテストする場合、すべて問題ありません。しかし、ストアがデータを保持する 2 回目の実行でも、promise はtrue
...に解決されます。
アップデート:
store.write
reactjs - ネイティブ CommonJS 環境で JSX を使用する方法はありますか?
モジュールのネイティブCommonJSサポートがある環境で新しいプロジェクトを開始しています。これはアトムシェル プロジェクトであり、Browserify や webpack AFAIK などの事前コンパイル手順を使用する可能性はありません。require
app.jsx
my で宣言されているエントリポイント ファイルでJSX を使用できます。これは、以前に宣言されてindex.html
いるためです。JSXTransformer
モジュール内で CommonJS モジュールとしてインポートされるサブモジュールに JSX 構文を使用できるようにしたいと考えていapp.jsx
ます。
私が理解している限りでは、JSX 構文を削除し、.NET 経由でロードされるすべてのモジュールのバニラ構文を使用することを余儀なくされますrequire
。この状況でまだ JSX を使用する代替手段はありますか?
windows - Windows 実行可能ファイルと Mac アプリケーションのアイコンをプログラムで変更するにはどうすればよいですか?
node-webkitまたはAtom Shellで構築されたスタンドアロン アプリケーションを配布する場合、実際にはフレームワーク バイナリを配布するだけですが、アプリケーション コンテンツはサブディレクトリに配置します。
もちろん、実行可能ファイルの名前をアプリケーションの名前に変更できますが、アイコンを変更することもできますか (できれば、リリース ワークフローを自動化するためにコマンド ラインから)。
electron - atom-shell のブラウザ側とクライアント側を理解する方法
node.js のように、atom-shell はブラウザ側とクライアント側の違いがありますが、その説明は非常に不明確です ( https://github.com/atom/atom-shell/blob/master/docs/api/ synopsis.md )。これを理解する方法は?