メインコンテンツにスキップ

「プロジェクトニュース」タグ付きの投稿20件

Electronプロジェクトに関する重要な発表

すべてのタグを表示

今後のElectronリリース

·1分間の読書

Electronはメジャーリリースを一時停止しています


何が起きているのですか?

私たちのメジャーリリースcadenceスケジュールはChromiumのスケジュールと連動しており、Chromiumプロジェクトは、調整された作業スケジュールのため、リリースを一時停止するという最近の決定を行いました。これは、Chromiumの変更されたcadenceの期間中、Electronも一時的に新しいメジャーリリースを一時停止することを意味します。

私たちは、Chromiumの足跡をたどるのが最良の選択だと感じているため、当面の間、Electronチームはバグ修正、セキュリティ、パフォーマンス、安定性の作業に専念します。

私たちは、この期間中にメンテナーと消費者の両方の幸福が優先されるようにしたいと考えているため、皆様からのフィードバックをお待ちしており、通常のリリーススケジュールに戻ることを楽しみにしています。

最新情報については、Twitterアカウントをフォローしてください。

編集 (2020-03-30): Electron 9 stableはChromium M83をターゲットとし、Chromiumの発表に応じて、M82の安定版の日付をスキップし、M83の安定版の日付を調整した結果、2020年5月19日にリリースされます。

ElectronがOpenJS Foundationに参加

·2分間の読書

モントリオールで開催されたNode+JS Interactiveで、OpenJS Foundationは、ElectronをFoundationのインキュベーションプログラムに受け入れたことを発表しました。財団は、プロジェクトをホストし、維持するためのニュートラルな組織を提供することにより、JavaScriptエコシステムとWebテクノロジーの健全な成長をサポートし、コミュニティ全体に利益をもたらすための活動を共同で資金提供することに尽力しています。

OpenJS Foundationは、jQuery、Node.js、webpackなど、多くのオープンソースJavaScriptプロジェクトをホストしています。GoDaddy、Google、IBM、Intel、Joyent、Microsoftなど、30の企業およびエンドユーザーメンバーによってサポートされています。Electronは、Webテクノロジーを使用してクロスプラットフォームデスクトップアプリケーションを構築するためのオープンソースフレームワークです。

これはElectronにとってエキサイティングな動きであり、オープンソースプロジェクトとしての進化の次のステップと見なしています。


開発者にとっての意味

ElectronがOpenJS Foundationに参加しても、Electronの作成、リリース、または使用方法が変更されることはなく、Electronを使用してアプリケーションを構築する開発者に直接影響を与えることはありません。Electronは2013年にGitHubで最初に作成されましたが、現在、多くの組織や個人によって維持されています。2019年、Electronはガバナンス構造を体系化し、プロジェクト全体に影響を与える決定がどのように行われるかを公式化する上で大きな投資を行いました。複数の組織や開発者がElectronに投資し、協力することで、プロジェクトがより強力になると考えています。

単一の企業体が所有するものからElectronを引き上げ、WebとJavaScriptエコシステムのサポートに焦点を当てた中立的な基盤に移行することは、オープンソースプロジェクトとして成熟するにつれて自然な次のステップです。

詳細情報

OpenJSF Webサイトで、財団、その使命、およびそのメンバーについて読むことができます。ElectronのOpenJSFインキュベーションプログラムへの受け入れに関する詳細情報と引用については、公式のプレスリリースをご覧ください。Electronの背後にある人間と彼らがどのように協力しているかについては、ガバナンスページをご覧ください。

Electron自体を使い始めるには、ドキュメントをご覧ください。

Electronの新しいリリースサイクル

·3分間の読書
⚡️ 更新 (2021-07-14): さらに高速化しています!

2021年第3四半期に、Chromeチームはリリースcadenceを6週間ごとから4週間ごとに増やしました。Electronのリリースもそれに追従しています。最新の8週間cadenceブログ投稿を読んで、最新情報を入手してください!

🎉 Electronは12週間ごとに新しいメジャー安定版をリリースするように移行しています! 🎉


⚡️ それは速いですね!でもなぜ?

簡単に言うと、Chromiumは出荷を停止しないため、Electronも減速しません。

Chromiumは、6週間ごとの一定のスケジュールでリリースされます。Electronで最新バージョンのChromiumを提供するには、私たちのスケジュールがChromiumのスケジュールを追跡する必要があります。Chromiumのリリースサイクルに関する詳細は、こちらをご覧ください。

🚀 なぜ12週間ごと?

6週間ごとに、Chromiumの新リリースが公開され、新機能、バグ修正/セキュリティ修正、V8の改善が含まれています。Electronのユーザーは、これらの変更をタイムリーに反映することを強く求めてきました。そのため、安定版リリース日をChromiumの安定版リリースの隔週に合わせて調整しました。まず、Electron v6.0.0にはM76が含まれ、2019年7月30日に安定版リリースが予定されています。これはChromium M76と同じリリース日です。

🚧 これは私と私のElectronアプリにとって何を意味しますか?

ChromiumとV8の新機能と修正に、これまでよりも早くアクセスできるようになります。重要なのは、これらの新しい変更が*いつ*行われるかを知ることができるため、これまでよりも適切な情報に基づいて計画を立てることができることです。

Electronチームは、引き続き最新の3つのメジャーバージョンをサポートします。たとえば、v6.0.0が2019年7月30日に安定版になると、v6.x、v5.x、v4.xをサポートし、v3.xはサポート終了となります。

💬 アプリフィードバックプログラム

ベータ版のテストと安定化にご協力いただくために、アプリフィードバックプログラムへの参加をご検討ください。このプログラムに参加するプロジェクトは、アプリでElectronのベータ版をテストします。その見返りとして、見つかった新しいバグは安定版リリースで優先的に修正されます。

📝 Electronリリースの簡単な歴史

v3.0.0より前の安定版リリースに関する決定は、スケジュールに従っていませんでした。v3.0.0とv4.0.0でプロジェクトに内部スケジュールを追加しました。今年初め、Electron v5.0.0の安定版リリース日を初めて公開することを決定しました。安定版リリース日の発表は全体的に好評であり、今後のリリースでも継続することを楽しみにしています。

これらのアップグレード関連の取り組みをより合理化するために、アップグレードリリースワーキンググループが、ガバナンスシステム内に作成されました。これらのグループにより、この作業の優先順位付けと委任が改善されました。これは、今後のリリースごとに明らかになることを期待しています。

新しいリリースサイクルにより、Chromiumのリリースサイクルと比較して、以下のようになります。

line graph comparing Electron versus Chromium versions

📨 ご質問がある場合は、info@electronjs.orgまでメールでお問い合わせください。

Electronガバナンス

·2分間の読書

デスクトップアプリケーションでElectronの人気が高まるにつれて、Electronに取り組んでいるチームも成長しました。異なる企業で働き、異なるタイムゾーンに住み、異なる関心を持つ、より多くのフルタイムのメンテナーがいます。スムーズに成長を続けるために、ガバナンス構造を導入しています。


なぜ変更されるのですか?

Electronプロジェクトの人々は、世界中のタイムゾーンでボランティア、フルタイムのメンテナー、Electronに依存する複数の企業と連携しています。これまで、非公式な調整で成功してきましたが、チームが成長するにつれて、このアプローチはスケールしないことがわかりました。また、新しいコントリビューターがプロジェクトに参加しやすくなるようにしたいと考えています。

ワーキンググループ

Electronガバナンスには、プロジェクトのさまざまな部分を担当するワーキンググループが含まれています。7つのグループから始めます。

  • コミュニティと安全:行動規範の問題を処理します。
  • ドキュメントとツール:外部向けのツール(例:FiddleForge)とElectronのドキュメントを監督します。
  • アウトリーチ:Electronコミュニティの成長を支援します。
  • リリース:リリースが安定していてスケジュールどおりであることを確認します。
  • セキュリティ:セキュリティテストを実行し、セキュリティの問題に対応します。
  • アップグレード:V8、Chromium、Nodeの新しいバージョンなど、アップストリームのアップグレードを統合します。
  • Webサイト:Electron Webサイトを維持および改善します。

これらのグループは互いに連携しますが、それぞれ独自の会議スケジュールと議題があり、独自に生産性を高めることができます。これらのグループの詳細については、ガバナンスリポジトリをご覧ください。

これはElectronプロジェクトの方向性を変えるのでしょうか?

これはElectronの方向性に直接影響を与えるべきではありません。戦略が成功すれば、ワーキンググループは新しいコントリビューターが興味のあるトピックを見つけやすくし、メンテナーの日常生活に関係のない議論を他のグループに移すことで、メンテナーの生活を楽にします。それが起こると、より多くの邪魔されない人々が一緒に働くことによって、間接的に物事に影響を与える可能性があります。

詳細情報はどこで入手できますか?

32ビットLinuxのサポート終了

·3分間の読書

Electronチームは、Electron v4.0以降、32ビットLinux(ia32 / i386)のサポートを終了します。32ビットベースのLinuxインストールをサポートするElectronの最後のバージョンはElectron v3.1で、Electron v6がリリースされるまでサポートリリースを受け取ります。64ビットベースのLinuxとarmv7lのサポートは変更されません。


Electronは具体的に何をサポートしなくなるのですか?

コンピューターのステッカーやソフトウェアのダウンロードオプションとして、「64ビット」と「32ビット」という説明を見たことがあるかもしれません。この用語は、特定のコンピューターアーキテクチャを説明するために使用されます。1990年代と2000年代初頭に製造されたほとんどのコンピューターは、32ビットアーキテクチャに基づくCPUで製造されていましたが、後に製造されたほとんどのコンピューターは、より新しく強力な64ビットアーキテクチャに基づいていました。ニンテンドー64(分かりますか?)とPlayStation 2は、新しいアーキテクチャを備えた最初の広く利用可能な消費者向けデバイスであり、2010年以降に販売されたコンピューターには、ほぼ例外なく64ビットプロセッサが含まれていました。その結果、サポートは縮小しています。Googleは2016年3月に32ビットLinux向けChromeのリリースを停止し、Canonicalは2017年に32ビットデスクトップイメージの提供を停止し、Ubuntu 18.10で32ビットのサポートを完全に廃止しました。Arch Linux、elementary OS、その他の著名なLinuxディストリビューションは、すでに古いプロセッサアーキテクチャのサポートを廃止しています。

これまで、Electronは古い32ビットアーキテクチャで実行されるビルドを提供およびサポートしてきました。リリースv4.0以降、Electronチームは32ビットLinuxのバイナリまたはサポートを提供できなくなります。

Electronは常に活気に満ちたオープンソースプロジェクトであり、エキゾチックなアーキテクチャ向けにElectronを構築することに興味のある開発者を引き続きサポートし、奨励しています。

開発者にとってはどういう意味ですか?

現在、Linux用にアプリの32ビットディストリビューションを提供していない場合は、何もする必要はありません。

32ビットLinux Electronアプリケーションを出荷するプロジェクトは、今後の対応を決定する必要があります。32ビットLinuxは、Electron 6のリリースまでElectron 3でサポートされます。これにより、決定と計画を立てるための時間が与えられます。

ユーザーにとってはどういう意味ですか?

Linuxユーザーで、64ビットベースのシステムを実行しているかどうか不明な場合は、64ビットベースのアーキテクチャで実行している可能性があります。確認するには、ターミナルでlscpuまたはuname -mコマンドを実行します。どちらのコマンドも現在のアーキテクチャを出力します。

32ビットプロセッサでLinuxを使用している場合、オペレーティングシステム用に最近リリースされたソフトウェアを見つけるのにすでに苦労している可能性があります。Electronチームは、Linuxコミュニティの他の著名なメンバーに加わり、64ビットベースのアーキテクチャにアップグレードすることをお勧めします。

Node.jsネイティブアドオンとElectron 5.0

·2分間の読書

Electron 5.0でネイティブNode.jsアドオンの使用に問題がある場合、最新バージョンのV8で動作するように更新する必要がある可能性があります。


さようならv8::Handle、こんにちはv8::Local

2014年、V8チームはローカルハンドルのv8::Handleを非推奨にし、v8::Localを推奨しました。Electron 5.0には、最終的にv8::Handleを完全に削除したV8のバージョンが含まれており、まだそれを使用しているネイティブNode.jsアドオンは、Electron 5.0で使用できるようになる前に更新する必要があります。

必要なコード変更は最小限ですが、v8::Handleを使用している*すべて*のネイティブNodeモジュールはElectron 5.0でビルドできなくなり、変更する必要があります。良いニュースは、Node.js v12にもこのV8の変更が含まれるため、v8::Handleを使用するモジュールは、今後のバージョンのNodeで動作するように*とにかく*更新する必要があるということです。

ネイティブアドオンをメンテナンスしていますが、どのように貢献できますか?

Node.js 用のネイティブアドオンをメンテナンスしている場合は、v8::Handle のすべての出現箇所を v8::Local に置き換えてください。前者は後者のエイリアスに過ぎなかったため、この特定の問題に対処するために他に変更を加える必要はありません。

また、N-API を検討することもできます。N-API は V8 とは別に Node.js 自体の一部としてメンテナンスされており、ネイティブアドオンを基盤となる JavaScript エンジンの変更から隔離することを目的としています。詳細については、Node.js ウェブサイトの N-API ドキュメントをご覧ください。

助けて! アプリでネイティブアドオンを使用していますが、動作しません!

アプリで Node.js 用のネイティブアドオンを使用していて、この問題のためにネイティブアドオンがビルドできない場合は、アドオンの作成者に連絡して、問題を修正した新しいバージョンがリリースされているかどうかを確認してください。リリースされていない場合は、作成者に連絡する(または プルリクエストを送信する!)のがおそらく最善の方法です。

GNを使ったElectronのビルド

·2分間の読書

Electron は現在、GN を使用して自身をビルドしています。その理由についてはこちらをご覧ください。


GYP と GN

Electron が 2013 年に初めてリリースされたとき、Chromium のビルド設定は「Generate Your Projects」の略である GYP を使用して記述されていました。

2014 年、Chromium プロジェクトは GN(「Generate Ninja」の略)と呼ばれる新しいビルド設定ツールを導入しました。Chromium のビルドファイルは GN に移行され、GYP はソースコードから削除されました。

Electron はこれまで、メインの Electron コード と、Chromium の「content」サブモジュールをラップする Electron の一部である libchromiumcontent を分離していました。Chromium のサブセットである libchromiumcontent は Chromium と同様に GN に切り替えましたが、Electron は GYP を使い続けてきました。

かみ合わない歯車のように、2 つのビルドシステムの使用には摩擦がありました。互換性の維持は、Chromium、Node、V8、Electron 間で綿密に同期する必要があるコンパイラフラグや #defines など、エラーが発生しやすいものでした。

これに対処するため、Electron チームはすべてを GN に移行する作業に取り組んできました。本日、Electron から最後の GYP コードを削除する コミット が master ブランチにマージされました。

あなたにとっての意味

Electron 自体に貢献している場合、master ブランチまたは 4.0.0 から Electron をチェックアウトしてビルドするプロセスは、3.0.0 以前とは大きく異なります。詳細については、GN ビルド手順 をご覧ください。

Electron を使用してアプリを開発している場合、新しい Electron 4.0.0-nightly でいくつかの小さな変更に気付くかもしれません。しかし、Electron のビルドシステムの変更は、ほとんどの場合、あなたには全く透過的でしょう。

Electron にとっての意味

GN は GYP よりも 高速 で、そのファイルはより読みやすく、メンテナンスしやすくなっています。さらに、単一のビルド設定システムを使用することで、Electron を新しいバージョンの Chromium にアップグレードするために必要な作業が削減されることを期待しています。

  • Chromium 67 で MSVC のサポートが削除され、Windows で Clang を使用したビルドに切り替えられたため、Electron 4.0.0 の開発にすでに大きく貢献しています。GN ビルドでは、Chromium からすべてのコンパイラコマンドを直接継承するため、Windows での Clang ビルドを無料で手に入れることができました!

  • また、Electron、Chromium、Node 全体で BoringSSL を統合ビルドで使用することが容易になりました。これは 以前は問題でした

証明書の透明性修正

·2分間の読書

Electron 1.4.12 には、Electron の基盤となる Chrome ライブラリである libchromiumcontent のビルド時刻から 10 週間後に、一部の Symantec、GeoTrust、Thawte の SSL/TLS 証明書が誤って拒否されるという、アップストリームの Chrome の問題を修正する重要なパッチが含まれています。影響を受けるサイトで使用されている証明書に問題はありません。これらの証明書を置き換えても問題は解決しません。


Electron 1.4.0〜1.4.11 では、影響を受ける証明書を使用しているサイトへの HTTPS リクエストは、特定の日付以降にネットワークエラーで失敗します。これは、window.fetch、Ajax リクエスト、Electron の net API、BrowserWindow.loadURLwebContents.loadURL<webview> タグの src 属性など、Chrome の基盤となるネットワーク API を使用して行われた HTTPS リクエストに影響します。

アプリケーションを 1.4.12 にアップグレードすると、これらのリクエストの失敗を防ぐことができます。

注: この問題は Chrome 53 で導入されたため、1.4.0 より前の Electron バージョンは影響を受けません。

影響を受ける日付

以下は、各 Electron 1.4 バージョンと、影響を受ける証明書を使用しているサイトへのリクエストが失敗し始める日付の表です。

Electron バージョン影響を受ける日付
1.3.x影響を受けない
1.4.0すでに失敗している
1.4.1すでに失敗している
1.4.2すでに失敗している
1.4.32016年12月10日 午後9時 PST
1.4.42016年12月10日 午後9時 PST
1.4.52016年12月10日 午後9時 PST
1.4.62017年1月14日 午後9時 PST
1.4.72017年1月14日 午後9時 PST
1.4.82017年1月14日 午後9時 PST
1.4.92017年1月14日 午後9時 PST
1.4.102017年1月14日 午後9時 PST
1.4.112017年2月11日 午後9時 PST
1.4.12影響を受けない

アプリの影響を受ける日付を確認するには、コンピューターの時計を進めて、https://symbeta.symantec.com/welcome/ が正常に読み込まれるかどうかを確認します。

詳細情報

このトピック、元の課題、修正の詳細については、以下の場所をご覧ください。

npm install electron

·3分間の読書

Electron バージョン 1.3.1 以降、npm install electron --save-dev を実行して、アプリに Electron の最新のプリコンパイルバージョンをインストールできます。


npm install electron

プリビルドされた Electron バイナリ

Electron アプリを開発したことがあるなら、electron-prebuilt npm パッケージに出くわしたことがあるでしょう。このパッケージは、ほぼすべての Electron プロジェクトに不可欠な部分です。インストールされると、オペレーティングシステムを検出し、システムのアーキテクチャで動作するようにコンパイルされたプリビルドバイナリをダウンロードします。

新しい名前

Electron のインストールプロセスは、多くの場合、新しい開発者にとっての障害となっていました。多くの人が、npm install electron-prebuilt の代わりに npm install electron を実行して Electron アプリの開発を始めようとしましたが、(多くの場合、多くの混乱の末に)それが探していた electron ではないことに気付きました。

これは、GitHub の Electron プロジェクトが存在する前に作成された、npm に既存の electron プロジェクトがあったためです。新しい開発者にとって Electron の開発をより簡単で直感的にするために、既存の electron npm パッケージの所有者に連絡を取り、名前の使用を許可してくれるかどうか尋ねました。幸いなことに彼は私たちのプロジェクトのファンであり、名前の目的変更に協力することに同意してくれました。

プリビルドは存続します

バージョン 1.3.1 以降、electronelectron-prebuilt パッケージを npm に同時に公開し始めました。2 つのパッケージは同一です。現在プロジェクトで electron-prebuilt を使用している何千人もの開発者に迷惑をかけないように、しばらくの間は両方の名前でパッケージを公開し続けることにしました。package.json ファイルを更新して新しい electron 依存関係を使用することをお勧めしますが、2016 年末までは electron-prebuilt の新しいバージョンをリリースし続けます。

electron-userland/electron-prebuilt リポジトリは、electron npm パッケージの正式なホームであり続けます。

感謝

electron-prebuilt を作成し、メンテナンスしてくれた @mafintosh@maxogden、その他多くの コントリビューター に特別な感謝を申し上げます。また、JavaScript、Node.js、Electron コミュニティへのたゆまぬ貢献にも感謝いたします。

そして、npm 上の electron パッケージの引き継ぎを許可してくれた @logicalparadox に感謝します。

プロジェクトの更新

私たちはコミュニティと協力して、この変更の影響を受ける人気のあるパッケージを更新しました。electron-packagerelectron-rebuildelectron-builder などのパッケージは、すでに新しい名前で動作するように更新されており、古い名前も引き続きサポートしています。

この新しいパッケージのインストールで問題が発生した場合は、electron-userland/electron-prebuilt リポジトリで issue を開いてお知らせください。

Electronに関するその他の問題については、electron/electron リポジトリをご利用ください。

Atom ShellはElectronになりました

·2分間の読書

Atom ShellはElectronに名称変更されました。Electronの詳細と、Electronを使って開発されているものについては、新しいホームページelectronjs.orgをご覧ください。


electron

Electronは、Atomエディターのために最初に構築したクロスプラットフォームアプリケーションシェルであり、Chromium/Node.jsのイベントループ統合とネイティブAPIを処理します。

開発当初の目標は、テキストエディターのニーズに対応することだけではありませんでした。ネイティブの機能をすべて備えたクロスプラットフォームのデスクトップアプリを、Web技術を使って開発できる、分かりやすいフレームワークを作成することも目指していました。

2年間で、Electronは大きく成長しました。現在では、アプリの自動更新、Windowsインストーラー、クラッシュレポート、通知、その他の便利なネイティブアプリ機能がすべてJavaScript APIを通じて提供されています。さらに、開発中の機能もあります。Atomからさらに多くのライブラリを抽出し、Web技術を使用したネイティブアプリの構築を可能な限り容易にする予定です。

これまでに、個人開発者、初期段階のスタートアップ企業、大企業がElectronでアプリを構築してきました。チャットアプリ、データベースエクスプローラー、マップデザイナー、共同設計ツール、モバイルプロトタイピングアプリなど、幅広いアプリが作成されています。

新しいelectronjs.orgで、Electronで構築されたアプリをもっとご覧になるか、ドキュメントで、他にどのようなアプリを作成できるかをご覧ください。

すでにElectronを使い始めている方は、Electronで構築しているアプリについてお話しできたら幸いです。info@electronjs.orgまでメールでご連絡ください。また、新しい@ElectronJS Twitterアカウントをフォローして、プロジェクトの最新情報を入手することもできます。

💙 🔌