Chrome n’a pas seulement pris le contrôle du Web, il a également pris le contrôle des applications natives. La plupart des applications que vous exécutez sur Windows, Mac et même Linux sont constituées de pièces obsolètes de Chromium, le moteur qui forme la base de Google Chrome.
Quelles applications sont créées à partir de Chromium?
Il existe plusieurs façons pour un développeur de créer une application à l’aide du moteur de navigateur Chromium. Electron est le plus connu, mais de nombreuses autres applications utilisent quelque chose appelé CEF, le Chromium Embedded Framework.
Parler en ligne? Slack est une application populaire construite avec Electron. Prendre des notes? Evernote utilise CEF et Trello utilise Electron. Jouer de la musique? Oui, vous l’avez deviné – Spotify utilise CEF, tout comme Amazon Music.
Vous pourriez penser que Microsoft hésiterait à utiliser Chromium car, après tout, il a créé Windows. Vous auriez tort. GitHub Desktop, Microsoft Teams, Skype, Visual Studio Code et Yammer sont toutes des applications Electron. Même la nouvelle application Xbox pour Windows 10 est conçue avec Electron, plutôt qu’avec le propre UWP (Universal Windows Platform) de Microsoft.
Les jeux PC restent principalement avec des applications natives, mais leurs lanceurs et leurs outils de chat associés ne le sont certainement pas. Discord et Twitch.tv utilisent Electron. Battle.net, Desura, Epic Games Launcher, GOG Galaxy, Uplay et même Steam utilisent tous CEF. Le client Origin d’EA utilise Qt WebEngine, qui intègre également le code Chromium.
Vous pouvez avoir une idée du nombre d’applications utilisant Chromium en parcourant les listes très incomplètes de Électron et Applications CEF sur Wikipedia. Des applications de sauvegarde, comme CrashPlan, y sont incluses, ainsi que des gestionnaires de mots de passe, tels que Bitwarden, et des utilitaires, comme Adobe Creative Cloud.
C’est comme une application Web (mais utilise plus de RAM et de stockage)
Chaque application basée sur Electron ou CEF regroupe une copie distincte de parties de Chrome. Alors que les applications qui utilisent Electron et CEF sont similaires aux applications Web de votre navigateur Web, elles sont moins efficaces et utilisent plus de mémoire sur votre système.
Lorsque vous ouvrez Gmail dans un onglet Chrome et Facebook dans un autre, votre système d’exploitation n’a besoin d’exécuter qu’une seule copie de Chrome. Mais lorsque vous exécutez deux applications Electron ou CEF différentes, votre système d’exploitation a besoin d’une copie distincte d’Electron ou CEF pour chacune.
Il n’est pas rare de voir une application basée sur Electron, en particulier, consommer une quantité surprenante de RAM. Encore une fois, comme chacune de ces applications comprend des fichiers Chromium distincts, elles utilisent de l’espace supplémentaire sur votre système.
Pourquoi sont-ils dépassés et est-ce un problème?
Documentation de sécurité d’Electron explique pourquoi il base son code sur des versions obsolètes de Chromium:
«Alors qu’Electron s’efforce de prendre en charge les nouvelles versions de Chromium dès que possible, les développeurs doivent être conscients que la mise à niveau est une entreprise sérieuse, impliquant l’édition manuelle de dizaines, voire de centaines de fichiers. Compte tenu des ressources et des contributions disponibles aujourd’hui, Electron ne sera souvent pas sur la toute dernière version de Chromium, accusant un retard de plusieurs semaines ou de quelques mois. »
Même après que le projet Electron a créé cette nouvelle version, les développeurs qui créent des applications Electron doivent prendre ce code, l’intégrer dans leurs applications Electron et envoyer une mise à jour.
Ce n’est cependant pas aussi effrayant que cela puisse paraître. La documentation d’Electron conseille aux développeurs d’éviter d’afficher du code non fiable et de dépendre principalement de ressources locales ou d’un contenu distant fiable et sécurisé. C’est pourquoi de nombreuses applications Electron ne semblent pas être des navigateurs Web. Par exemple, Slack utilise des technologies Web pour fournir une interface de discussion, mais vous accédez à votre navigateur Web dès que vous cliquez sur un lien.
Pourquoi les développeurs utilisent-ils Chromium?
Les développeurs apprécient ces solutions car elles utilisent des technologies Web, avec lesquelles la plupart d’entre elles sont déjà familières. Comme Electron vante fièrement son page d’accueil, « Si vous pouvez créer un site Web, vous pouvez créer une application de bureau. »
Cependant, elles sont plus puissantes que de simples applications Web. Les applications Electron peuvent accéder à votre système de fichiers et à d’autres ressources système locales. De nombreuses applications CEF sont des applications natives qui intègrent un navigateur Chromium. Par exemple, Steam intègre un navigateur pour afficher les interfaces du magasin et de la communauté.
Les applications Electron sont également multiplateformes, comme Chromium. Vous pouvez exécuter une application telle que Slack sur Windows, Mac et Linux, ainsi que sur le Web. Un développeur ne pouvait pas créer une application multiplateforme s’il dépendait des technologies Microsoft Edge ou Apple Safari. Les développeurs veulent créer une application une fois et l’exécuter partout. Cela économise beaucoup de temps et de ressources par rapport à la création d’une application native pour chaque plate-forme.
Ces solutions à base de chrome offrent une amélioration par rapport à ce qui était auparavant à bien des égards. Avant d’adopter CEF, Steam intégrait Internet Explorer. De nombreuses applications sous Windows ont également simplement intégré une interface Internet Explorer. Nous sommes bien mieux avec Chromium.
Les PWA pourraient offrir une issue
L’électron, le CEF et les technologies similaires présentent de nombreux avantages, mais ils ont aussi des inconvénients. Les applications Web progressives (PWA) pourraient un jour offrir une solution car elles fournissent aux applications Web modernes un moyen de travailler hors ligne. Contrairement à Electron et CEF, cependant, les PWA utilisent votre navigateur Web standard en arrière-plan. Vous pouvez également les installer via votre navigateur Web. Pas besoin de mettre à jour et de regrouper manuellement le code Chromium.
Alors que Microsoft passe à une version basée sur Chromium de son navigateur Edge, il sera intéressant de voir si les PWA commencent avec succès à concurrencer Electron. Ce serait certainement une solution plus propre avec une utilisation de la mémoire inférieure.