1Jul

Quelles sont les applications électroniques, et pourquoi sont-elles si communes?

Avez-vous remarqué que beaucoup de nouvelles applications de bureau ressemblent beaucoup à des sites Web? Ce n'est pas ton imagination.

De Trello à Slack, de WordPress.com à Github, il est de plus en plus courant pour les soi-disant applications de bureau de regrouper un site Web avec quelques fonctionnalités natives comme les notifications, l'accès au système de fichiers et les menus. La technologie la plus courante permettant cela s'appelle Electron, et elle est utilisée par quelques applications que vous ne soupçonnez même pas, comme l'application de discussion Discord et le code Visual Studio de Microsoft.

Electron permet aux développeurs de lancer une application simultanément sur Windows, macOS et Linux, mais il existe des inconvénients pour les utilisateurs. Les applications électroniques sont énormes, d'une part. Slack, une application de chat, prend 237 Mo d'espace disque sur mon Mac, et la consommation de mémoire n'est pas faible non plus. Qu'est-ce qui prend toutes ces ressources? Et pourquoi les développeurs utilisent-ils quelque chose d'aussi inefficace?

Les applications électroniques sont assez faciles à réaliser

Les applications de bureau sont difficiles à réaliser, surtout si vous voulez qu'elles soient multi plates-formes. L'accès au système de fichiers fonctionne différemment dans Windows que dans Linux, par exemple, et les notifications fonctionnent différemment sur macOS que sous Windows. Cela signifie que toute personne qui veut écrire une application pour les trois systèmes d'exploitation de bureau( ou même deux d'entre eux) a besoin de réécrire une grande partie de son code lors du portage de l'un à l'autre.

Electron "résout" cela en offrant une plate-forme unique qui fonctionne sur les trois principaux systèmes d'exploitation de bureau. Cela signifie que les développeurs peuvent écrire le code pour des choses comme les notifications une fois et s'attendre à ce qu'il fonctionne nativement sur chaque système d'exploitation. Encore mieux pour les développeurs: tout peut être construit en utilisant Javascript, HTML, et CSS-technologies que tous ceux qui codes pour le web sont très familiers avec.

Electron Apps Venez avec beaucoup de tout le chrome

Comment est-ce possible? En partie parce que chaque application Electron regroupe un navigateur Web complet: Chromium, la version open source de Google Chrome. Ceci est livré avec les instructions spécifiques à la plate-forme afin de s'assurer que tout se comporte exactement comme les développeurs s'attendent sur tous les systèmes. C'est pourquoi la version de bureau de Slack occupe plus de 200 Mo d'espace disque: la majeure partie de Chrome y est intégrée.

Chaque application Electron que vous exécutez est plus ou moins une instance complète de Chrome. Comme le souligne le blogueur Joseph Gentle, ce n'est pas idéal:

Vous pouvez considérer Slack comme un petit programme javascript fonctionnant à l'intérieur d'une autre machine virtuelle du système d'exploitation( chrome), que vous devez exécuter pour discuter essentiellement sur IRC.Même si vous avez le vrai chrome ouvert, chaque application électronique exécute sa propre copie supplémentaire de toute la VM.

Alors oui, il y a des inconvénients pour les utilisateurs. Tout d'abord, chaque application Electron que vous téléchargez regroupe la majeure partie de Chromium, et chaque application que vous exécutez exécute une bonne partie de ce code. Il n'y a pas de partage de ressources ici, comme c'est le cas avec les applications natives, ce qui signifie que les applications Electron prendront plus d'espace disque et de mémoire qu'une application développée spécifiquement pour votre plate-forme. Si la performance est quelque chose qui vous tient vraiment à cœur, vous pourriez vouloir éviter les applications électroniques.

Attendez, donc l'électronique est-elle bonne ou mauvaise?

À ce stade, les ordinateurs sont si puissants que la plupart des utilisateurs ne remarqueront jamais à quel point les applications électroniques sont inefficaces. En fait, la grande majorité n'a jamais entendu parler d'Electron. La plupart de mes collègues n'avaient pas, et ils utilisent tous Slack tous les jours. Beaucoup étaient excités de voir sortir une version de Trello sur ordinateur, et de nouveau n'avaient aucune idée que c'était une application électronique.

Et ces applications s'intègrent vraiment mieux avec votre système d'exploitation que les sites Web. Ils vivent dans leur propre fenêtre. Ils offrent d'excellents raccourcis clavier, des notifications natives et d'autres choses que vous ne pouvez pas faire de la même manière avec un simple navigateur.

Et c'est un bon pari que des applications comme Slack, Trello et WordPress.com ne se donneraient pas la peine d'offrir une version de bureau si Electron n'existait pas, se concentrant plutôt sur les versions mobiles et les navigateurs. La question n'est donc pas de savoir si Electron est mauvais;c'est si les applications électroniques sont mieux que rien. Je suis prêt à dire oui, mais les gens raisonnables peuvent être en désaccord.(Et bon, pour ces gens, il y a toujours la version web.)