ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript でデスクトップ プログラムを作成できますか?

JavaScript でデスクトップ プログラムを作成できますか?

青灯夜游
青灯夜游オリジナル
2022-03-28 17:08:274803ブラウズ

JavaScript はデスクトップ プログラムを作成できます。 JavaScript では、Electron ソフトウェア フレームワークを使用してデスクトップ プログラムを開発できます。Electron は、クロスプラットフォーム デスクトップ アプリケーションを構築するためのオープン ソース ライブラリです。豊富なローカル API が提供されているため、開発者は純粋な JS を使用してデスクトップ アプリケーションを作成できます。

JavaScript でデスクトップ プログラムを作成できますか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

#デスクトップ アプリケーションとは

JavaScript でデスクトップ プログラムを作成できますか?

##デスクトップ アプリケーション。GUI プログラム (グラフィカル) とも呼ばれます。ユーザー インターフェイス) ですが、GUI プログラムとはいくつかの違いがあります。デスクトップ アプリケーションは、GUI プログラムを GUI から「デスクトップ」に変換し、木のようなコンピューターの冷たい概念をより人間的で、より鮮やかでダイナミックなものにします。

それでは、JavaScript でデスクトップ プログラムを作成できるのでしょうか?

#JavaScript はデスクトップ プログラムを作成できます。

JavaScript の世界はますます強力になっており、Eletron などのフレームワークを使用してデスクトップ アプリケーションを簡単に開発できます。 Electron は、クロスプラットフォーム JavaScript デスクトップ開発ライブラリです。

Electron は、Github によって開発されたオープン ソース ライブラリで、HTML、CSS、JavaScript を使用してクロスプラットフォーム デスクトップ アプリケーションを構築します。 Electron は、Chromium と Node.js を同じランタイム環境にマージし、Mac、Windows、および Linux システム用のアプリとしてパッケージ化することでこれを実現します。

Electron は、純粋な JavaScript を使用してデスクトップ アプリケーションを作成できる豊富なネイティブ (オペレーティング システム) API を提供します。他のさまざまな Node.js ランタイムとは異なり、Electron は Web サーバーではなくデスクトップ アプリケーションに重点を置いています。

Electron を使用すると、純粋な JavaScript を使用して豊富なネイティブ API を呼び出し、デスクトップ アプリケーションを作成できます。これは、Web サーバーではなくデスクトップ アプリケーションに焦点を当てた io.js の変種と考えることができます。

Electron を開発に使用する理由:

    エコロジーに優れた Web テクノロジーを開発に使用し、開発コストを削減低い、強力なスケーラビリティ、クールな UI
  • クロスプラットフォーム、1 セットのコードを Windows、Linux、Mac 用の 3 セットのソフトウェアにパッケージ化でき、コンパイルが速い
  • #既存の Web アプリケーション上で直接拡張して、ブラウザーにはない機能を提供できます
  • #あなたはフロントエンドです

  • もちろん、その欠点も認識する必要があります。パフォーマンスはネイティブ デスクトップ アプリケーションよりも低く、最終的にパッケージ化されたアプリケーションはネイティブ アプリケーションよりもはるかに大きくなります。

開発経験

互換性

あなたはまだ WEB テクノロジーを使用して開発を行っていますが、あなたは互換性の問題を考慮する必要はなくなりました。現在使用している Chrome のバージョンのみを気にする必要があります。一般的に、最新の API と構文を使用できるほど新しいものです。Chrome のバージョンを手動でアップグレードすることもできます。 。同様に、さまざまなブラウザーでのスタイルやコードの互換性の問題を心配する必要もありません。

ノード環境

これは、多くのフロントエンド開発者が夢見てきた機能かもしれません。Web インターフェイスで Node.js が提供する強力な API を使用することは、次のことを意味します。 WEBページ上でファイルを直接操作したり、システムAPIを呼び出したり、データベースを操作したりすることができます。もちろん、完全な Node API に加えて、何十万もの追加の npm モジュールを使用することもできます。

クロスドメイン

Node が提供するリクエスト モジュールを直接使用してネットワーク リクエストを行うことができるため、クロスドメインに悩まされる必要がなくなりました。

強力なスケーラビリティ

node-ffi を使用して、アプリケーションに強力なスケーラビリティを提供します (後の章で詳しく説明します)。

#Electron を使用しているのは誰ですか

Electron を使用したアプリケーションはすでに市場に多数あります

Electron

は、おなじみの JavaScript でデスクトップ プログラムを作成できますか?VS Code

クライアント、

GitHub クライアント、Atom クライアントなどを含めて開発されています。昨年 Xunlei X10.1 をリリースしたとき、私は Xunlei のコピーライティングに非常に感銘を受けました: Xunlei から始める新しいフレームワークを使用した Thunder X は、2K や 4K などの高精細ディスプレイを完全にサポートすることができ、インターフェース内のテキスト レンダリングもより鮮明で鮮明になります。技術的な観点から見ると、新しいフレームワークはインターフェイスの描画とイベント処理の点で古いフレームワークよりも柔軟で効率的であるため、インターフェイスの滑らかさも旧フレームワークの Thunder よりも大幅に向上しています。具体的な改善点については?一度試してみればわかります。

VS Code

を開いて [ヘルプ] [開発者ツールの切り替え] をクリックして、

VS Code
クライアント インターフェイスをデバッグできます。

<h2 data-id="heading-9">Electron の動作原理</h2> <p><img src="https://img.php.cn/upload/image/694/630/660/164845834694304JavaScript%20%E3%81%A7%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%20%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E4%BD%9C%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B?" title="164845834694304JavaScript でデスクトップ プログラムを作成できますか?" alt="JavaScript でデスクトップ プログラムを作成できますか?"></p> <p><code>Electron は、ChromiumNode.js を組み合わせたものです。オペレーティング システムのネイティブ関数を呼び出す API

1. Chromium

Chromium は、Chrome ブラウザ ## を開発するために Google によって立ち上げられたオープンソース プロジェクトです。 # Chromium は、Chrome のエンジニアリング バージョンまたは実験版に相当します。新機能は最初に Chromium に実装され、その後 Chrome に適用されます。したがって、Chrome の機能は比較的古いものですが、より安定しています。

Chromium は、Electron に強力な UI 機能を提供し、互換性を考慮せずにインターフェイスを開発できるようにします。

2. Node.js

Node.js は、サーバー側 Node で JavaScript を実行できる開発プラットフォームです。 イベント駆動型のノンブロッキング I/O モデルを使用して軽量かつ効率的です。 Chromium

だけではネイティブ

GUI を直接操作する機能を持たないため、ElectronNodejs を統合することでこれを可能にしますインターフェイスを開発すると同時に、オペレーティング システムの基盤となる API を使用することもできます。Path、fs、Crypto および Nodejs## で一般的に使用されるその他のモジュール# は Electron にあり、直接使用できます。 3. システム APIネイティブ システムに

GUI

サポートを提供するために、

Electron

にはネイティブ アプリケーション プログラム インターフェイスが組み込まれています。一部のシステム関数の呼び出し システム通知の呼び出しとシステム フォルダーを開くためのサポートを提供します。 開発モードでは、Electron は呼び出しシステム

API

および描画インターフェイスとは別に開発されます。工程が分かれています。 4. メイン プロセスElectron は、メイン プロセスとレンダリング プロセスの 2 つのプロセスを区別し、それぞれが独自の機能を担当します。

Electron

package.jsonJavaScript でデスクトップ プログラムを作成できますか?

main

スクリプトを実行するプロセスをメイン プロセスと呼びます。 Electron アプリケーションには、常に 1 つだけのメイン プロセスがあります。 責任:

レンダリング プロセスの作成 (複数可)

アプリケーションのライフ サイクルの制御 (開始、終了APP)

そして、
    APP
  • )
  • システムの基礎となる関数を呼び出し、ネイティブ リソースを呼び出します呼び出し可能な API:

Node.js API

    Electron
  • が提供するメインプロセス API (一部のシステムを含む)関数と
  • Electron
  • 追加関数)5. レンダリング プロセス Electron は表示に
  • Chromium
を使用するため

web

ページでは、

Chromium のマルチプロセス アーキテクチャも使用されます。 Electron の各 web ページは、独自のレンダリング プロセスで実行されます。 メイン プロセスは、BrowserWindow インスタンスを使用してページを作成します。各 BrowserWindow インスタンスは、独自のレンダリング プロセスでページを実行します。 BrowserWindow インスタンスが破棄されると、対応するレンダリング プロセスも終了します。 レンダリング プロセスはブラウザ ウィンドウとして考えることができます。ブラウザ ウィンドウは複数存在し、互いに独立して存在できますが、ブラウザとは異なり、Node API

を呼び出すことができます。

責任:

HTML

および CSS

    # を使用してインターフェイスをレンダリングする# #JavaScript
  • インターフェースの操作を実行します呼び出し可能な API:
  • DOM API

Node.js API

    Electron
  • 提供されるレンダリング プロセスAPI
  • [関連する推奨事項: JavaScript ビデオ チュートリアル
  • Web フロントエンド ]

以上がJavaScript でデスクトップ プログラムを作成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。