Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sortie de la version 4.0 d'Electron
Le framework pour le développement d'applications de bureau multiplateformes

Le , par Michael Guilloux

287PARTAGES

14  0 
GitHub vient d'annoncer la sortie de la version 4.0 d'Electron, la nouvelle version majeure de son framework pour le développement d'applications de bureau multiplateformes (macOS, Windows, Linux) avec des technologies web (JavaScript, HTML et CSS). Rappelons qu'Electron est basé sur Node.js (backend) et Chromium (frontend). Il est utilisé par l'éditeur Atom, mais également de nombreuses autres applications populaires, y compris : Visual Studio Code, l'éditeur de code open source développé par Microsoft ; Slack, l'application de messagerie pour les équipes ; Nuclide, un IDE ouvert pour le développement Web et mobile natif construit au-dessus d'Atom ; et l'application de bureau de WordPress.


Vous pouvez installer la nouvelle version d'Electron depuis le site electronjs.org ou depuis npm via npm install electron@latest, pour bénéficier des mises à niveau, correctifs et nouvelles fonctionnalités livrées avec Electron 4.0.

Pour les nouveautés, rappelons encore qu'une grande partie des fonctionnalités d’Electron est fournie par Chromium, Node.js et V8, qui sont les composants essentiels du framework. Ainsi, l’un des objectifs clés de l’équipe Electron est de suivre le rythme des changements apportés à ces projets, afin de fournir aux développeurs qui construisent des applications Electron un accès à de nouvelles fonctionnalités Web et JavaScript. À cette fin, Electron 4 inclut des modifications majeures introduites dans chacun de ces composants. Electron v4.0.0 comprend Chromium 69, Node 10.11 et V8 6.9. En outre, cette nouvelle version du framework inclut des modifications apportées aux API spécifiques à Electron.

Désactivation le module remote

Vous avez maintenant la possibilité de désactiver le module remote pour des raisons de sécurité. Le module peut être désactivé pour les BrowserWindow et pour les balises webview :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
// BrowserWindow
new BrowserWindow({
  webPreferences: {
    enableRemoteModule: false
  }
})

// webview tag
<webview src="http://www.google.com/" enableremotemodule="false"></webview>

Filtrage des requêtes remote.require() et remote.getGlobal()

Cette fonctionnalité est utile si vous ne souhaitez pas désactiver complètement le module remote dans votre processus de rendu ou webview, mais souhaitez un contrôle supplémentaire sur les modules pouvant être requis via remote.require.

Lorsqu'un module est requis via remote.require dans un processus de rendu, un événement remote-require est déclenché sur le module app. Vous pouvez appeler event.preventDefault() sur l'événement (le premier argument) pour empêcher le chargement du module. L'instance WebContents où le require s'est produit est transmise en tant que deuxième argument et le nom du module, en tant que troisième argument. Le même événement est également émis sur l'instance WebContents, mais dans ce cas, les seuls arguments sont l'événement et le nom du module. Dans les deux cas, vous pouvez retourner une valeur personnalisée en définissant la valeur de event.returnValue.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
// Control `remote.require` from all WebContents:
app.on('remote-require', function (event, webContents, requestedModuleName) {
  // ...
})

// Control `remote.require` from a specific WebContents instance:
browserWin.webContents.on('remote-require', function (event, requestedModuleName) {
  // ...
})

De la même manière, lorsque remote.getGlobal(name) est appelé, un événement remote-get-global est déclenché. Cela fonctionne de la même manière que l'événement remote-require : appelle preventDefault() pour empêcher le retour de la variable globale et définit event.returnValue pour retourner une valeur personnalisée.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
// Control `remote.getGlobal` from all WebContents:
app.on('remote-get-global', function (event, webContents, requrestedGlobalName) {
  // ...
})

// Control `remote.getGlobal` from a specific WebContents instance:
browserWin.webContents.on('remote-get-global', function (event, requestedGlobalName) {
  // ...
})

Accès JavaScript au panneau About

Sous macOS, vous pouvez maintenant appeler app.showAboutPanel() pour afficher le panneau About par programmation, comme si vous cliquiez sur l'élément de menu créé via {role: 'about'}.

Autres changements

Vous trouverez la liste exhaustive des nouveautés dans les notes de version d'Electron 4.0, mais précisons que Chromium ne prend plus en charge macOS 10.9. Par conséquent, Electron 4.0 et les versions ultérieures du framework ne le supporteront pas non plus. Un autre changement que les développeurs devraient encore savoir concerne le verrouillage d'instance simple. Auparavant, vous pouviez utiliser la méthode app.makeSingleInstance() pour faire de votre application une application à instance unique : au lieu d'autoriser plusieurs instances parallèles de votre application, cela permet de s'assurer qu'une seule est active, et les autres instances envoient un signal à celle-ci puis se terminent. À partir d'Electron 4.0, vous devez utiliser plutôt app.requestSingleInstanceLock(). La valeur de retour de cette méthode indique si cette instance de votre application est verrouillée avec succès ou non. Si le verrouillage échoue, vous pouvez supposer qu'une autre instance de votre application est déjà en cours d'exécution et quitter immédiatement l'instance.

Source : Blog Electron

Et vous ?

Utilisez-vous Electron ? Que pensez-vous du framework en général et des nouveautés de cette nouvelle version ?
Qu'attendez-vous des prochaines versions du framework ?

Voir aussi :

Flutter va bientôt permettre d'écrire de véritables applications multiplateformes y compris pour le desktop, et pourrait rivaliser avec Electron
L'OS Windows 95 devient une appli gratuite qu'on peut lancer depuis Windows, Linux ou Mac, grâce au framework open source Electron et à un passionné
Sortie de la première bêta d'Electron 2.0.0, le framework pour le développement d'applications de bureau multiplateformes
Une vulnérabilité critique dans le framework Electron pourrait affecter de nombreuses applications populaires comme Skype, Slack et bien d'autres
Faut-il utiliser Electron pour le développement d'applications de bureau ? Quels sont ses avantages et inconvénients ?

Une erreur dans cette actualité ? Signalez-le nous !