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. А сега познайте на какво се основава съвременната уеб-разработка? Да. Когато събирате накуп куп зависимости и парчета код при всяко записване на файл, на практика извършвате много операции по запис на диск и системни повиквания за десетки хиляди файлове.
След като разберете това на горчивия си опит, след това е трудно да забравите. Започвате постепенно да изпадате в депресия, когато си представяте колко бавно и мизерно работи всичko това. И разбирате, че светът ви вече няма да е същият и инструментът, който сте обичали, вече не изглежда полезен и ефективен.
За щастие, екипът на WSL пое риск и напълно преработи подсистемата. В WSL 2 тези проблеми бяха решени: разработчиците вградиха собствена виртуална машина Linux в Windows и възложиха файловите операции на мрежовия диск 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.
След като прекарах 5 години в Windows, преживях много: невъзможността да инсталирам Rails, борба с изкуствените обвивки Cygwin. Седях на първия ред на конференцията Build 2016, когато Microsoft обяви първата версия на WSL. Тогава получих надежда, че уеб разработката на Windows най-накрая ще се издигне на ново ниво. Без съмнение, WSL 2 е най-голямото подобрение, което съм виждал оттогава, и изглежда, че сме на ръба на нова ера.
Реклама
Ако за работа са необходими Windows сървъри, то определено — автоматична инсталация на Windows Server 2012, 2016 или 2019 на тарифни планове с 2 GB RAM или повече, лицензията вече е включена в цената. Само от 21 лв на ден! Освен това, имаме и вечни сървъри 😉
Източник: habr.com
