Microsoft prépare la sortie de la mise à jour Windows May 2020 Update (20H1). Cette mise à jour comprendra plusieurs améliorations agréables de l'interface utilisateur, mais pour les développeurs et les autres concernés, ce qui est plus important, c'est que la nouvelle version de Windows introduira (Sous-système Windows pour Linux). C'est une information pertinente pour ceux qui souhaitaient passer à Windows, mais qui n'avaient pas osé.
Dave Rupert a installé WSL 2 sur son ordinateur portable Surface de 13 pouces et les premiers résultats
ont été agréablement surprenants :

La deuxième version de WSL est 13 fois plus rapide que la première ! Ce n'est pas tous les jours que vous recevez gratuitement une amélioration de 13 fois la performance. J'ai ressenti un frisson et j'ai versé une larme masculine discrète lorsque j'ai vu ces résultats pour la première fois. Pourquoi ? Eh bien, principalement parce que je pleurais le temps perdu accumulé au cours de 5 années de travail avec la première version de WSL.
Et ce ne sont pas juste des chiffres. Avec WSL 2, l'installation de npm, la compilation, le conditionnement, la consultation de fichiers, le redémarrage à chaud des modules, le lancement de serveurs — presque tout ce que j'utilise quotidiennement en tant que développeur web — fonctionne de manière significativement plus rapide. On a l'impression de revenir sur Mac (ou peut-être mieux, car Apple a considérablement limité ses processeurs ces dernières années au profit d'une autonomie accrue).
D'où vient cette rapidité ?
Comment ont-ils réussi à atteindre une amélioration de 13 fois la performance ? Auparavant, lorsque je pensais à un passage à Mac, je faisais aussi quelques hypothèses, mais purement théoriques. En fait, les écritures sur disque et les appels système Linux coûtaient assez cher (en termes de temps) à cause de l'architecture de la première version de WSL. Et maintenant, devinez sur quoi repose en grande partie le développement web moderne ? Oui. Lorsque vous assemblez un tas de dépendances et de fragments de code à chaque sauvegarde de fichier, vous effectuez en réalité de nombreuses écritures sur disque et des appels système pour des dizaines de milliers de fichiers.
Dès que vous prenez conscience de cela par votre propre expérience amère, il devient difficile d'oublier. Vous commencez à éprouver une légère dépression en imaginant à quel point tout cela fonctionne lentement et tristement. Et vous réalisez que votre monde ne sera plus jamais le même et que l'outil que vous aimiez ne semble plus utile ni efficace.
Heureusement, l'équipe WSL a pris le risque de réécrire complètement la sous-système. Dans WSL 2, ces problèmes ont été résolus : les développeurs ont intégré une machine virtuelle Linux dans Windows et ont délégué les opérations de fichiers à un disque virtuel VHD (Virtual Hardware Disk). Le compromis est qu'au premier démarrage, vous devez consacrer du temps à lancer la machine virtuelle. Ce temps se mesure en millisecondes et, personnellement, il est à peine perceptible pour moi. Par exemple, j'attends avec plaisir, sachant à quoi cela sert.
Où vont résider les fichiers maintenant ?
Pour profiter pleinement des avantages de WSL 2, vous voudrez déplacer les fichiers de votre projet depuis /mnt/c/Users/<имя пользователя>/ vers votre nouveau répertoire personnel ~/Linux sur le nouveau VHD. Vous pouvez voir le contenu de ce disque dans le réseau en vous rendant sur \\ wsl $ \ \ \ home ou en entrant la commande explorer.exe depuis votre terminal Bash.
C'est un véritable système de fichiers Linux, et il fonctionne comme vous vous y attendez. J'ai créé un dossier ~/projects, où résident tous mes dépôts de projets et ensuite j'ouvre des projets dans Visual Studio Code en utilisant la commande code.
Et qu'en est-il de VS Code ?
Installer WSL pour le développement à distance sur VS Code (VS Code Remote — WSL) est la dernière étape pour assurer un travail confortable pour les développeurs. L'extension permet à VS Code d'exécuter toutes ses opérations (commandes git, console, installation d'extensions, etc.) en interagissant directement avec la machine virtuelle Linux. Cela rend l'ensemble du processus très autonome. Au début, j'étais un peu contrarié par la nécessité d'installer cette extension, car je devais réinstaller ce que j'avais déjà installé et configuré auparavant. Mais maintenant, je l'apprécie pleinement, car un niveau de visualisation spécifique montre dans quel environnement je travaille et où se trouvent mes fichiers. Cela a rendu le processus de développement web sur Windows plus transparent et a énormément facilité l'utilisation de l'interface utilisateur pour la gestion des versions dans VS Code.
Des larmes de bonheur et une lueur d'espoir pour un avenir radieux
Je ressens une joie immense à la pensée de la prochaine mise à jour de Windows May 2020 Update et de la sous-système Linux optimisée qui fonctionne à merveille sur ma puissante machine de jeu. Il y a peut-être encore quelques problèmes dont je ne suis pas au courant, mais après
Insider Preview J'ai constaté que l'équipe WSL a résolu la plupart des problèmes.
De plus, il ne faut pas oublier que c'est aussi génial ! Ils ont apparemment entendu mes plaintes concernant l'absence d'onglets, de paramètres JSON et le besoin de « se sentir cool » sur Windows. C'est toujours bizarre à dire, mais Windows Terminal est sans doute le meilleur terminal pour Windows.
Après avoir travaillé sur Windows pendant 5 ans, j'ai beaucoup vécu : l'incapacité d'installer Rails, la lutte avec les coquilles artificielles Cygwin. J'étais au premier rang de cette fameuse conférence Build 2016, lorsque Microsoft a annoncé la première version de WSL. À ce moment-là, j'ai eu l'espoir que le développement web sur Windows atteindrait enfin un nouveau niveau. Sans aucun doute, WSL 2 est la plus grande amélioration que j'ai vue depuis lors, et il semble que nous soyons à l'aube d'une nouvelle ère.
En tant que publicité
Si vous avez besoin de serveurs Windows, alors vous devez absolument — installation automatique de Windows Server 2012, 2016 ou 2019 sur les plans avec 2 Go de RAM ou plus, la licence est déjà incluse dans le prix. À partir de 21 RUB par jour! Et nous avons aussi des serveurs éternels 😉
Source : habr.com
