Microsoft sta preparando il rilascio di Windows May 2020 Update (20H1). Questo aggiornamento conterrà diversi piacevoli miglioramenti dell'interfaccia utente, ma per gli sviluppatori e per gli altri appassionati è ancora più importante che nella nuova versione di Windows arriverà (Windows Subsystem for Linux). Questa è un'informazione attuale per coloro che volevano migrare a Windows, ma non hanno mai trovato il coraggio di farlo.
Dave Rupert ha installato WSL 2 sul suo laptop Surface da 13 pollici e i primi risultati
sono stati sorprendentemente positivi:

La seconda versione di WSL è 13 volte più veloce della prima! Non capita tutti i giorni di ottenere gratuitamente un aumento delle prestazioni di 13 volte. Ho provato un brivido e ho versato una lacrima maschile quando ho visto questi risultati per la prima volta. Perché? Beh, principalmente piangevo il tempo perso accumulato in 5 anni di utilizzo della prima versione di WSL.
E non si tratta solo di numeri. Con WSL 2, l'installazione di npm, la compilazione, l'imballaggio, la visualizzazione dei file, il riavvio a caldo dei moduli, l'avvio dei server — praticamente tutto ciò che utilizzo quotidianamente come sviluppatore web, è diventato significativamente più veloce. È come se fossi tornato a usare un Mac (o forse meglio, visto che Apple ha limitato drasticamente i propri processori negli ultimi anni per aumentare la durata della batteria).
Da dove viene questa rapidità?
Come hanno ottenuto un aumento delle prestazioni di 13 volte? Un tempo, quando stavo considerando il passaggio a un Mac, avevo anch'io delle ipotesi, ma erano puramente speculative. Il problema era che le operazioni di scrittura su disco e le chiamate di sistema in Linux erano abbastanza costose (in termini di tempo) a causa dell'architettura della prima versione di WSL. E ora indovinate su cosa si basa in larga misura lo sviluppo web moderno? Già. Quando mettete insieme un sacco di dipendenze e frammenti di codice ad ogni salvataggio di un file, state effettivamente eseguendo molte operazioni di scrittura su disco e chiamate di sistema per decine di migliaia di file.
Non appena lo scopri sulla tua pelle, è difficile dimenticarlo. Inizi a scivolare lentamente nella depressione quando pensi a quanto lentamente e tristemente tutto ciò funzioni. E realizzi che il tuo mondo non sarà più lo stesso e lo strumento che ti piaceva non sembra più utile ed efficace.
Fortunatamente, il team di WSL ha preso il rischio e ha completamente riscritto il sottosistema. In WSL 2 questi problemi sono stati risolti: gli sviluppatori hanno integrato una macchina virtuale Linux in Windows e hanno affidato le operazioni sui file al disco di rete VHD (Virtual Hardware Disk). Il compromesso è che, al primo avvio, devi spendere del tempo per far partire la macchina virtuale. Questo tempo si conta in millisecondi e, personalmente, per me è appena percepibile. Ad esempio, aspetto con piacere, perché so per cosa vale la pena.
Dove abiteranno ora i file?
Per sfruttare appieno i vantaggi di WSL 2, vorrai spostare i file di progetto da /mnt/c/Users/<имя пользователя>/ nella nuova directory home ~/Linux sul nuovo VHD. Puoi visualizzare il contenuto di questo disco in rete, navigando su \\ wsl $ \ \ \ home o digitando il comando explorer.exe dal tuo shell Bash.
Questo è un vero file system Linux, e si comporta esattamente come ti aspetti. Ho creato una cartella ~/projects, in cui risiedono tutti i miei repository di progetti e poi apro i progetti in Visual Studio Code, utilizzando il comando code.
E per quanto riguarda VS Code?
L'installazione di WSL- per lo sviluppo remoto su VS Code (VS Code Remote — WSL) è l'ultimo passo che assicura un lavoro confortevole per lo sviluppatore. L'estensione consente a VS Code di eseguire tutte le proprie operazioni (comandi git, console, installazione di estensioni e così via), interagendo direttamente con la macchina virtuale Linux. Questo rende l'intero processo molto autonomo.
Inizialmente ero un po' frustrato dalla necessità di installare questa estensione, perché dovevo reinstallare ciò che avevo già installato e configurato. Ma ora lo apprezzo molto, perché è emerso uno strato di visualizzazione specifico che mostra in quale ambiente sto lavorando e dove si trovano i miei file. Questo ha reso il processo di sviluppo web su Windows più trasparente e ha semplificato notevolmente l'uso dell'interfaccia utente per la gestione delle versioni in VS Code.
Lacrime di gioia e speranza per un futuro luminoso
Non posso fare a meno di provare gioia pensando al prossimo rilascio di Windows May 2020 Update e al sottosistema Linux ottimizzato, che vola sul mio potente computer da gioco. Potrebbero esserci ancora alcuni problemi di cui non sono a conoscenza, ma dopo ho concluso che il team WSL ha risolto la maggior parte dei problemi.
Inoltre, non dimentichiamo che è buono anch'esso! Sembra che abbiano ascoltato le mie lamentele riguardo la mancanza di schede, le impostazioni JSON e il bisogno di 'sentirsi fantastici' in Windows. Suona ancora strano, ma Windows Terminal è senza dubbio il miglior terminal per Windows.
Dopo aver lavorato su Windows per 5 anni, ho vissuto molte esperienze: l'incapacità di installare Rails, la lotta con le shell artificiali Cygwin. Ero in prima fila a quella conferenza Build 2016, quando Microsoft ha annunciato la prima versione di WSL. Da quel momento, ho avuto la speranza che lo sviluppo web su Windows finalmente raggiungesse un nuovo livello. Senza dubbio, WSL 2 è il miglioramento più grande che ho visto da allora, e sembra che siamo sulla soglia di una nuova era.
In pubblicità
Se hai bisogno di server Windows, allora sicuramente — installazione automatica di Windows Server 2012, 2016 o 2019 per piani con 2 GB di RAM o superiori, la licenza è già inclusa nel prezzo. Totale da 21 rub al giorno! Abbiamo anche server eterni 😉
Fonte: habr.com
