Lapce est un éditeur de code qui fait le pari des performances, tout en offrant un solution multiplateforme. Dans ce domaine, on doit souvent choisir entre deux modèles : soit une app native optimisée pour un seul système, qui peut alors offrir des performances excellentes (BBEdit), soit une app multiplateforme qui doit faire quelques compromis sur la vitesse pour gérer tous les systèmes d’exploitation (VSCode). Les créateurs de ce projet lancé courant 2018, mais qui en est toujours au stade pré-alpha, tentent d’offrir d’excellentes performances tout en étant disponible sous macOS, Windows et Linux.
Pour y parvenir, Lapce n’a pas parié sur les technologies du web et sur Electron comme la majorité des apps multiplateformes de nos jours. À la place, ses développeurs codent en Rust, un langage de programmation né au sein de Mozilla dans les années 2010, avec un angle porté sur la rapidité (et la sécurité) d’exécution. Ils ont aussi choisi de ne pas faire de compromis sur les performances, notamment pour éliminer toute latence lors de la saisie de texte. Son interface est codée également en Rust, grâce à une librairie maison qui bénéficie de l’accélération graphique grâce au projet wgpu.
Pour l’utilisateur, tous ces ces détails techniques importent peu, mais l’app devrait être aussi rapide et réactive qu’un éditeur de code natif. Avec la version actuelle, ce n’est pas toujours vrai, du moins sur mon Mac. Lapce se débrouille bien avec un projet qui contient des centaines de petits fichiers textes, ce qui est après tout le plus courant. En revanche, l’app n’a pas pu ouvrir un gros fichier texte que j’ai utilisé pour mes tests, alors que BBEdit et même VSCode — qui a bénéficié d’un grand nombre d’optimisations au fil des années, au point de faire largement oublier son cœur en Electron — l’ont ouvert sans discuter et instantanément.
Cela dit, Lapce est une app portée par une petite équipe de volontaires et c’est un projet open-source sans modèle économique derrière la tête. Un projet qui souffre sans doute d’un manque de moyens, puisqu’il ne compte aucun développeur à temps plein. Cela se voit aussi dans ses extensions en nombre limité, même si elles existent, ou encore dans son interface peu modulaire. Si l’idée vous intéresse et que vous avez les connaissances techniques nécessaires, vous trouverez le code source sur GitHub et les contributions sont encouragées.
Et si vos besoins en développement restent limités, l’app peut tout à fait convenir dans son état actuel. Vous pourrez télécharger la dernière version sur le site officiel et la documentation vous permettra de découvrir rapidement son fonctionnement.