Microsoft forbereder udgivelsen af Windows May 2020 Update (20H1). Denne opdatering vil indeholde flere behagelige forbedringer af brugergrænsefladen, men for udviklere og andre interesserede er det vigtigere, at den nye version af Windows vil indeholde (Windows Subsystem for Linux). Dette er relevant information for dem, der har ønsket at skifte til Windows, men ikke har kunnet beslutte sig.
Dave Rupert har installeret WSL 2 på sin 13-tommers Surface-bærbar computer, og de første resultater
overraskede behageligt:

Den anden version af WSL er 13 gange hurtigere end den første! Det er ikke hver dag, man får en 13-dobbelt stigning i ydeevnen gratis. Jeg fik en kuldegysning og fældede en stille mandlig tåre, da jeg første gang så disse resultater. Hvorfor? Nå, for det meste sørgede jeg over den tabte tid, som var accumuleret over 5 års arbejde med den første version af WSL.
Og det er ikke bare tal. I WSL 2 er installation af npm, bygning, pakning, visning af filer, genstart af varme moduler, kørsel af servere - næsten alt, hvad jeg dagligt bruger som webudvikler, begyndt at fungere betydeligt hurtigere. Det føles som at sidde tilbage på en Mac (eller måske endda bedre, da Apple de seneste år har begrænset sine processorer drastisk for at forbedre batterilevetiden).
Hvorfor denne hurtighed?
Hvordan opnåede de 13-doblingen i ydeevnen? Tidligere, når jeg overvejede at skifte til Mac, havde jeg også nogle forslag, dog kun på bekræftelsesniveau. Problemet var, at disk I/O og systemopkald i Linux kostede en del (tidsmæssigt) på grund af arkitekturen i den første version af WSL. Og nu kan du gætte, hvad moderne webudvikling i høj grad afhænger af? Ja. Når du samler en hel masse afhængigheder og kodefragmenter ved hver filgem, udfører du nemlig mange disk I/O-operationer og systemopkald for titusinder af filer.
Så snart du lærer dette gennem din bitre erfaring, er det svært at glemme det. Du begynder gradvist at falde ind i depression, når du forestiller dig, hvor langsomt og trist det hele fungerer. Og du indser, at din verden ikke længere vil være den samme, og det værktøj, du kunne lide, virker ikke længere nyttigt og effektivt.
Heldigvis tog WSL-teamet en chance og skrev subsystemet helt om. I WSL 2 blev disse problemer løst: udviklerne indbyggede en egen Linux-virtuel maskine i Windows og satte filoperationer til netværksdisken VHD (Virtual Hardware Disk). Kompromiset er, at du ved første opstart skal bruge tid på at starte den virtuelle maskine. Denne tid måles i millisekunder og er for mig knap mærkbar. Personligt venter jeg gerne, fordi jeg ved, hvad det hele er værd.
Hvor vil filerne nu bo?
For at udnytte fordelene ved WSL 2 fuldt ud, vil du ønsker at flytte projektfilerne fra /mnt/c/Users/<имя пользователя>/ til den nye hjemmebibliotek ~\/Linux på den nye VHD. Du kan se indholdet af denne disk over netværket ved at gå til \\ wsl $ \ <distributionsnavn> \ <brugername> \ home eller ved at indtaste kommandoen explorer.exe fra din Bash-shell.
Dette er et ægte Linux-filsystem, og det fungerer og opfører sig som du forventer. Jeg har oprettet en mappe ~\/projekter, hvor alle mine projektgenposteringer bor, og jeg åbner derefter projekterne i Visual Studio Code ved hjælp af kommandoen code.
Hvad med VS Code?
Installation af WSL- til fjernudvikling i VS Code (VS Code Remote – WSL) er det sidste trin, der giver en behagelig arbejdsmiljø for udvikleren. Dette udvidelse tillader VS Code at udføre alle sine operationer (git-kommandoer, konsol, installation af udvidelser og så videre) ved at interagere direkte med den virtuelle Linux-maskine. Det gør hele processen meget autonom.
Til at begynde med var jeg lidt frustreret over at skulle installere denne udvidelse, fordi jeg måtte geninstallere det, jeg havde installeret og konfigureret tidligere. Men nu værdsætter jeg det, fordi der er kommet et særligt visualiseringslag, der viser, hvilket miljø jeg arbejder i, og hvor mine filer bor. Dette har gjort webudviklingsprocessen på Windows mere gennemsigtig og væsentligt lettere at bruge brugerfladen til versionskontrol i VS Code.
Tårer af glæde og håb for en lysere fremtid
Jeg kan ikke lade være med at føle glæde ved tanken om den kommende version af Windows May 2020 Update og det optimerede Linux-subsystem, som blot flyver på min kraftfulde spillecomputer. Måske er der stadig nogle problemer, som jeg endnu ikke kender til, men efter Jeg har konkluderet, at WSL-teamet har løst de fleste problemer.
Desuden skal man ikke glemme, at det også er godt! De har tilsyneladende hørt mine klager over manglen på faner, JSON-indstillinger og behovet for at "føle sig sej" i Windows. Det lyder stadig mærkeligt, men Windows Terminal er måske den bedste terminal til Windows.
Efter at have arbejdet med Windows i 5 år har jeg oplevet meget: manglende evne til at installere Rails og kampen med de kunstige Cygwin-skaller. Jeg sad i første række ved den konference, Build 2016, hvor Microsoft annoncerede den første version af WSL. Og der fik jeg håbet om, at webudvikling på Windows endelig ville rykke op på et nyt niveau. Uden tvivl er WSL 2 den største forbedring, jeg har set siden da, og det ser ud til, at vi står på tærsklen til en ny æra.
Annoncering
Hvis du har brug for Windows-servere, så er du helt sikkert — automatisk installation af Windows Server 2012, 2016 eller 2019 på planer med 2 GB RAM eller mere, licensen er allerede inkluderet. Kun fra 21 kr om dagen! Og vi har også evige servere 😉
Kilde: habr.com
