Ouvrir le menu principal

MacGeneration

Recherche

Xray, un nouvel éditeur de texte ultra-performant basé sur Electron

Nicolas Furno

mardi 06 mars 2018 à 14:00 • 23

Logiciels

Les apps qui reposent sur Electron sont devenues très populaires en quelques années, parce qu’elles permettent de développer assez simplement des apps qui fonctionneront sur macOS, Windows et Linux. Ce framework repose sur des technologies du web pour concevoir interfaces et fonctions : HTML, CSS et surtout JavaScript. Cela réduit la difficulté par rapport aux langages de développement utilisés traditionnellement par les logiciels pour ordinateurs, et cela permet aux développeurs web, nettement plus nombreux, de créer des apps.

Tout ceci est bien beau sur le papier, mais les apps développées grâce à Electron sont aussi plus lourdes que les apps natives, et souvent plus lentes. Ce problème de performance est tel que certains comparent Electron à Flash et que de plus en plus d’utilisateurs refusent systématiquement toutes les apps qui reposent sur Electron (lire aussi : Voici pourquoi certains développeurs utilisent toujours Vim). Pour contrer le phénomène, les développeurs d’Atom, l’éditeur de code développé par GitHub et pour qui le framework a été créé, essaient d’améliorer les performances, notamment en utilisant du code natif pour certaines fonctions.

Mais GitHub expérimente aussi autour d’une idée plus radicale avec Xray, un nouvel éditeur de texte dont le développement vient juste de commencer. Son principal objectif est d’être extrêmement performant, au niveau des meilleures applications de la catégorie, tout en étant multiplateforme. L’idée est toujours d’utiliser Electron, mais uniquement pour l’interface, tout le reste de l’app sera développé en Rust, un langage de bas niveau créé par Mozilla et qui vise à remplacer C ou C++.

L’architecture prévue pour Xray.

Rust a été développé pour Firefox, il est pensé pour être extrêmement optimisé et très rapide, notamment en fonctionnant massivement en parallèle. C’était précisément l’un des points faibles du JavaScript utilisé jusque-là exclusivement pour les apps Electron comme Atom, ce langage de haut niveau ne pouvait pas facilement travailler en parallèle et obtenir de meilleures performances est très difficile.

Si la performance est une priorité, pourquoi ne pas abandonner totalement Electron ? Les créateurs de Xray défendent leur choix en indiquant que cela restait la meilleure option pour créer des interfaces compatibles avec toutes les plateformes et faciles à modifier. C’est en effet l’un des points forts des logiciels développés sur cette base, ils peuvent facilement être remodelés avec des thèmes qui peuvent changer toute l’interface en quelques lignes de CSS. C’est donc un point qu’ils voulaient maintenir, mais tout le reste de l’architecture sera différente.

Est-ce que Xray sera finalement aussi rapide que souhaité aujourd'hui ? Ses concepteurs visent des performances dignes des meilleures apps natives, comme par exemple l’ouverture d’une fenêtre en 150 ms seulement, mais le curseur doit bouger en moins de 8 ms. Ces valeurs médianes font qu’une interface semble parfaitement fluide et elles seront visées tout au long du développement. D’autres objectifs ont été ou seront fixés, notamment la quantité de RAM consommée qui devra rester minime ; c’est en effet souvent un autre problème avec Electron.

Les créateurs de Xray ont réfléchi systématiquement avec les performances en tête, ce qui implique des choix importants à tous les niveaux, de la manière d’enregistrer et d’afficher le texte aux traitements qui seront faits en parallèle pour ne jamais bloquer l’interface. Ce sont autant de points qui compliquent le développement par rapport à une « simple » app Electron, mais qui devraient offrir de bien meilleures performances à l’arrivée.

Du moins, en théorie, puisque Xray n’est même pas encore un prototype fonctionnel à ce stade. GitHub a prévu d’allouer 12 semaines de développement au projet et on en est à la deuxième, à un stade où l’on ne s’occupe encore que des bases. Le développement est entièrement open-source et peut-être suivi sur GitHub également. Vous pouvez y participer, simplement en spectateur ou en contributeur, si vous avez les compétences nécessaires.

Si tout va bien, on devrait avoir un concept plus ou moins fonctionnel dans quelques mois. À partir de là, GitHub pourrait choisir de passer à la vitesse supérieure en matière de développement. Et pourquoi pas, si tout va vraiment bien, faire de Xray le successeur d’Atom à l’avenir. Mais on en est encore loin et l’idée de base doit encore prouver son intérêt à l’usage.

Image de couverture : photo sergiok (CC BY-NC 2.0) et le logo d’Electron

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Nos coups de cœur et nos coups de gueule 2025

10:00

• 55


Magazine des 25 ans de MacGeneration : dernier week-end pour passer commande !

08:40

• 12


Sortie de veille : les départs en cascade chez Apple, mauvaise nouvelle ou chance inespérée ?

08:00

• 22


Promo : le MacBook Air M4 256 Go de retour à 874 € ! 🆕

05/12/2025 à 23:59

• 7


Les MacBook Pro M5 Pro, le MacBook A18 et les iPad/iPhone entrée de gamme dès janvier ?

05/12/2025 à 21:45

• 38


Promos : des AirPods 4 à 84 € et le pack de 4 AirTags à 65 € ! Des prix inédits en France

05/12/2025 à 21:39

• 5


Des MacBook Pro 14" comme neufs à moins de 900 € !

05/12/2025 à 21:19

• 0


Nouvelles spéculations sur la succession de Tim Cook… et sur sa santé

05/12/2025 à 17:55

• 51


X sanctionné par Bruxelles : amende de 120 millions d’euros pour non-respect du DSA

05/12/2025 à 16:13

• 46


Qu'utilisez-vous comme enceinte(s) sur votre bureau avec votre Mac ?

05/12/2025 à 15:05

• 134


Netflix achète les studios, films et séries de Warner Bros. et HBO pour 82,7 milliards de dollars 🆕

05/12/2025 à 13:46

• 97


30 % de réduction sur un écran OLED 4K LG de 32 pouces

05/12/2025 à 13:00

• 1


La Model 3 Standard est techniquement la voiture la moins chère jamais proposée par Tesla

05/12/2025 à 11:53

• 96


Une hausse des prix des Mac et des iPhone est-elle inévitable ?

05/12/2025 à 11:29

• 35


Pour tester le MTE, une nouvelle fonction de ses processeurs, Apple a créé un Rosetta « ARM »

05/12/2025 à 11:00

• 6


C’est reparti pour un tour : Cloudflare (et Downdetector 🙃) ont été en panne 🆕

05/12/2025 à 10:04

• 27