Microsoft подготвя пускането на Windows May 2020 Update (20H1). Това обновление ще съдържа няколко приятни подобрения на потребителския интерфейс, но за разработчиците и другите заинтересовани по-важното е, че в новата версия на Windows ще се появи (Windows Subsystem for Linux). Това е актуална информация за тези, които искат да преминат на операционната система Windows, но все още не са могли да се решат.
Дейв Руперт инсталира WSL 2 на своя 13-инчов лаптоп Surface и първоначалните резултати
го изненадаха приятно:

Втората версия на WSL е 13 пъти по-бърза от първата! Не всеки ден получавате безплатно 13-пъти увеличение на производителността. Усещах тръпки и пуснах една мъжка сълза, когато за пръв път видях тези резултати. Защо? Ами, главно оплаквах загубеното време, което се натрупа през 5 години работа с първата версия на WSL.
И това не са просто цифри. В WSL 2 инсталирането на npm, изграждането, опаковането, преглеждането на файлове, рестартирането на горещи модули, стартирането на сървъри — почти всичко, което ежедневно използвам като уеб разработчик, започна да работи значително по-бързо. По усещане е, сякаш отново съм седнал на Mac (или, може би, дори по-добре, тъй като Apple в последните години радикално ограничава своите процесори в полза на увеличаването на времето за работа с батерията).
Отде такава бързина?
Как постигнаха 13-кратен растеж на производителността? По-рано, когато мислех за преминаване на Mac, също подхвърлях някакви варианти, но чисто на ниво догадки. Факт е, че записа на диск и системните повиквания в Linux бяха доста скъпи (от гледна точка на времевите разходи) заради архитектурата на първата версия на WSL. И сега познайте на какво в значителна степен се опира съвременната уеб разработка? Да. Когато събирате куп зависимости и парчета код при всяко записване на файл, всъщност изпълнявате много операции по запис на диск и системни повиквания за десетки хиляди файлове.
Когато веднъж разберете това от горчив опит, след това е трудно да забравите. Започвате постепенно да изпадате в депресия, когато си представяте колко бавно и тъжно е всичко това. И осъзнавате, че светът ви вече няма да бъде същият и инструментът, който сте обичали, вече не изглежда полезен и ефективен.
Късметът е, че екипът на WSL пое риска и напълно пренаписа подсистемата. В WSL 2 тези проблеми бяха решени: разработчиците вградиха в Windows собствена виртуална машина за Linux и възложиха файловите операции на мрежовия диск VHD (Virtual Hardware Disk). Компромисът е, че при първото стартиране е нужно време за стартиране на виртуалната машина. Това време е измеримо в милисекунди и лично за мен е почти незабележимо. Аз, например, с радост изчаквам, тъй като знам за какво става въпрос.
Къде сега ще се съхраняват файловете?
За да се възползвате напълно от WSL 2, ще искате да преместите файловете на проекта от /mnt/c/Users/<имя пользователя>/ в новата домашна директория ~\/Linux на новия VHD. Можете да видите съдържанието на този диск в мрежата, като отидете на \\ wsl $ \ <име на дистрибуцията> \ <име на потребителя> \ home или като въведете командата explorer.exe от вашата Bash обвивка.
Това е истинска файловата система на Linux и тя функционира и се държи така, както очаквате. Създал съм папка ~\/projects, в която живеят всичките ми репозитории на проекти и след това отварям проектите във Visual Studio Code, като използвам командата code.
А какво става с VS Code?
Инсталирането на WSL- за отдалечена разработка на VS Code (VS Code Remote — WSL) е последният етап, който осигурява удобство за работа на разработчика. Разширението позволява на VS Code да изпълнява всички свои операции (git команди, конзолни команди, инсталация на разширения и т.н.), взаимодействуйки директно с виртуалната машина Linux. Това прави целия процес много автономен.
Първоначално бях малко разочарован от необходимостта да инсталирам това разширение, защото трябваше да преинсталирам това, което бях инсталирал и настроил преди. Но сега оценявам това, защото се появи специален слой на визуализация, който показва в каква среда работя и къде живеят файловете ми. Това направи процеса на уеб разработка на Windows много по-прозрачен и значително улесни използването на интерфейса за управление на версиите в VS Code.
Сълзи от щастие и надежда за светло бъдеще
Не ме напуска чувството на радост при мисълта за следващото издание Windows May 2020 Update и оптимизираната Linux подсистема, която просто лети на мощния ми игрална компютър. Възможно е да има още някои проблеми, за които все още не знам, но след Стигнах до извода, че екипът на WSL реши повечето проблеми.
Освен това, не бива да забравяме, че също е страхотен! Те сякаш чуха оплакванията ми за липсата на табове, JSON настройки и нуждата да се чувствам готин в Windows. Все още звучи странно, но Windows Terminal — вероятно е най-добрият терминал за Windows.
След пет години работа с Windows, преживях много: неспособността да инсталирам Rails, борбата с изкуствени обвивки Cygwin. Седях на първия ред на конференцията Build 2016, когато Microsoft обяви първата версия на WSL. Тогава получих надежда, че уеб разработката на Windows най-накрая ще премине на ново ниво. Безспорно, WSL 2 е най-голямото подобрение, което съм виждал оттогава, и изглежда, че сме на прага на нова ера.
Реклама
Ако за работа са нужни Windows сървъри, то определено — автоматична инсталация на Windows Server 2012, 2016 или 2019 с планове с 2 GB RAM или повече, лиценза вече е включен в цената. Само от 21 лв на ден! Имаме и вечни сървъри 😉
Източник: habr.com
