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

illustration magazine 25 ans

MacGeneration a 25 ans !

Participez à la fête et découvrez l’histoire de votre site favori en précommandant notre magazine exclusif.

Je précommande le magazine

Entre l’Apple TV, l’AirPods Max et Intel, la semaine d’Apple ne manque pas de rebondissements

07:55


Incogni : une promotion fantastique pour le Black Friday, foncez ! 📍

24/11/2024 à 20:35


Les meilleures promos du Black Friday : AirPods Pro 2 et serrure HomeKit à 199 €, Apple Pencil…

24/11/2024 à 19:05

• 20


Black Friday : MacBook Air M2 à 879 € et M3 dès 979 €

24/11/2024 à 18:45

• 7


Black Friday : les AirPods Pro 2 maintenant à 199 €, un prix jamais vu 🆕

24/11/2024 à 12:56


La maison au soleil : test du système SOLIX d’Anker, le solaire avec batterie

24/11/2024 à 10:04


Apple et la mémoire flash, une longue histoire d'amour

23/11/2024 à 11:00

• 26


Sortie de veille : télé Apple et iPhone 17 ultra-fin, des rumeurs folles ou crédibles ?

23/11/2024 à 08:00

• 0


Intrusion informatique, quand une entreprise joue le jeu de la communication ouverte

22/11/2024 à 20:45

• 17


Le SSD de certains MacBook Pro M4 Max atteint presque 11 Go/s

22/11/2024 à 20:30

• 17


Test du système mesh Wi-Fi 7 Netgear Orbi 970 : une poignée de mégabits, pour quelques centaines d’euros de plus

22/11/2024 à 17:00

• 13


Décodeur Orange : mise en veille automatique du boitier par le téléviseur

22/11/2024 à 16:30

• 38


macOS 15.2 : Safari dédouble ses fonctions d'import de données

22/11/2024 à 15:02

• 5


Buy Now : un documentaire sur la surconsommation avec le CEO d’iFixit et un ancien d’Apple

22/11/2024 à 12:15

• 81


Protégez votre Mac pour seulement 2,03 €/mois avec CyberGhost VPN : l'offre Black Friday à ne pas manquer ! 📍

22/11/2024 à 11:49


OpenAI envisagerait de lancer un navigateur web

22/11/2024 à 11:15

• 26