Electronチームは先頃、人気のあるクロスプラットフォームのネイティブデスクトップアプリケーションフレームワークの11番目のイテレーションをリリースした。Electron 11では、新しいApple Siliconハードウェア (Darwin arm64) のサポートが導入されている。Electron 11は、Chromium、Node、およびそのJavaScriptエンジンのバージョンも更新する
Electronチームは、新しいApple SiliconハードウェアでElectronアプリを実行するためのサポートを発表した:
Electron 11.0.0-beta.1のリリースで、Electronチームは、Appleが今年後半に出荷する予定の新しいApple Siliconハードウェアで実行されるElectronのビルドを出荷している。
npm install electron@beta
を使用して最新のベータ版を入手するか、リリースWebサイトから直接ダウンロードできる。
Electron 11には、darwin-arm64
と mas-arm64
の2つの新しいビルドがある。これは、Intel Macハードウェア用の以前のElectronビルドと同等のApple Silicon用である。開発者は、Electronアプリケーションの2つのバージョンを公開する必要がある。1つはx64アーキテクチャ (Intel Mac) を対象とし、もう1つはarm64アーキテクチャ (Apple Silicon) を対象としている。その目的のために、開発者は、arm64アーキテクチャのターゲティングをすでにサポートしている electron-packager
、electron-rebuild
、および electron-forge
パッケージを使用できる。Electronパッケージャは、開発者がOS固有のバンドル (.app
、.exe
など) を使用してElectronアプリをカスタマイズおよびパッケージ化するのに役立つ。Electron Forgeは、開発者が最新のElectronアプリケーションを作成、公開、およびインストールするのを支援する。
Electronチームは、開発者が、arm64 Apple SiliconハードウェアでRosetta 2を使用してx64 Intelアプリケーションを実行するのではなく、Electronアプリケーションのネイティブarm64ビルドを出荷することを推奨している。リリースノートでは、Rosettaを使用した場合のパフォーマンスへの影響について説明している:
- アプリのパフォーマンスが大幅に低下します。Electron / V8はJavaScript用のJITコンパイルを使用しており、Rosettaの動作により、JITを2回実行することになります (V8で1回、Rosettaで1回) 。
- メモリページサイズの増加など、Apple Siliconの新しいテクノロジーのメリットが失われます。
- パフォーマンスが大幅に低下することを述べましたね ?
Electron 11はさらに、Chromium 87.0.4280.47、JavaScriptランタイム Node v12.18.3、およびJavaScriptエンジン V8 v8.7を使用する。このリリースには、多数のバグ修正とパフォーマンスの改善が含まれている。このリリースでは、いくつかの実験的なAPIも削除されている。
2020年6月、AppleはIntelの x86-64 から arm64 アーキテクチャを使用する社内チップへの移行を発表した。移行が完了するまでに2年かかる可能性がある。ハードウェアアーキテクチャの移行は、Appleの歴史の中では3回目である (Motorola 68000からPowerPC、Intel x86、arm64へ) 。2020年11月、AppleはApple Siliconプロセッサをベースにした最初のMacを発表した。開発者は、パフォーマンスとサポートのためにRosetta 2エミュレーションに依存するのではなく、ネイティブのarm64アプリをコンパイルすることを好むかもしれない。Appleは、わずか3世代のOSの後に、元のRosetta (IntelでのPowerPCエミュレーション) を廃止した。
Electronは、JavaScript、HTML、CSSなどのWebテクノロジーを使用してネイティブアプリケーションを作成するためのオープンソースフレームワークである。Electronは、JavaScript開発者がWindows、Mac、およびLinuxコンピュータで実行されるデスクトップアプリを構築できるようにするために、2013年にGitHubによって最初に開発された。昨年、ElectronはOpenJS財団に加盟した。