Vie niekto zosumarizovať, aké konkrétne, praktické výhody má použitie WSL2 v porovnaní s Hyper-V Linux virtuálkou na tom istom stroji?
Chápem, že je tu rozdiel, že WSL2 ide aj na Windows Home pričom Hyper-V potrebuje Professional a tiež rozumiem tomu, že by WSL2 mohlo byť o niečo menej náročné na resources, čo je ale vo väčšine prípadov nepodstatné.
Čo okrem toho?
Praktické výhody? Jedním kliknutím máte nainstalovanou oblíbenou distribuci. OS se stará o to, aby se VM nespouštěla zbytečně předčasně, ale ve chvíli, kdy WSL potřebujete (např. otevřete terminál nebo zavoláte příkaz). OS se stará o to, aby se VM suspendovala ve chvíli, kdy ji nepoužíváte. Disky máte namountované mezi sebou - z Windows se dostanete rovnou průzkumníkem na disky ve VM a naopak, aniž byste to musel řešit nějak složitě přes CIFS / Sambu...
Co je taky zajímavé je to, že pracují a zlepšují podporu inotify mezi WSL / Windows. To je další posun v integraci.
Rozhodně bych se k čisté VM nevrátil. Mám sice hafo RAM (64GB), ale i tak mě tradiční VM otravovaly, muselo se o to starat. Když jsem potřeboval něco z nástrojů na Linuxu, bylo pro mě jednodušší otevřít si terminál na server, kde jsem měl Linuxovou VPS. Od WSL2 je pro mě pohodlnější mít ho neustále k dispozici přímo u sebe.
Poměrně šikovně se to dá propojit s vývojovým IDE. Např. JetBrains (ale i VS) umějí využívat rovnou WSL pro nástroje, které požadují. I to je velmi pohodlné, lepší, než používat Windows alternativy. Zatímco distribuce linuxu má obvykle jasně vyřešené, na jakých cestách a jak se pojmenovávají paralelně nainstalované verze nástrojů, na Windows si vše musíte nastavovat ručně. Je pohodlnější proto nainstalovat WSL a IDE nechat pracovat s ním.
Podle mě důvodů, proč je WSL2 dobrý nástroj, je opravdu hodně.
Keď to používate s JetBrains, tak JetBrains máte nainštalovanú windowsovú verziu na samotnom windows hoste alebo linuxovú verziu vo WSL2?
Vo WSL2 spúšťate iba pomocné nástroje typu git, alebo tam beží aj samotný produkt, ktorý developujete (samozrejme v devel verzií, nie v produkcií)?
11. 1. 2021, 08:47 editováno autorem komentáře
Ono existujú tri základné usporiadania, ako sa dá pracovať:
1. Všetko Windows, čiže IDE, produkt aj tools bežia vo Windows
2. Hybridné - IDE beží vo Windows, produkt a tools v Linuxe
3. Všetko Linux - IDE, produkt aj tools beží v Linuxe a Windows funguje iba ako terminál
Ve WSL2 mi přijde pohodlné pouštěť Git, composer, node, yarn apod. Pohodlně se tam nainstaluje víc verzí paralelně, IDE s tím spolupracuje.
Tu treba povedať, s ktorým setupom porovnávame.
Ak ste zvykol pracovať "all Windows" spôsobom, tak WSL2 vám musí prísť ako dar z nebies, pretože "all Windows" setup bol prakticky nepoužiteľný, snáď s výnimkou situácie, ak aj vaša produkčná platforma je Windows. Ten prínos WSL2 spočíva ale najmä v tom, že v podstate prechádzate na oveľa použiteľnejší "hybridný" setup.
Ak ste aj predtým pracoval hybridným spôsobom, tak WSL2 je určitým zlepšením, o niečo zjednodušuje manažment virtuálky, významne zjednodušuje konfiguráciu sharingu, na druhej strane vás ale oberá o možnosť mať tých virtuálok viacero v rôznej konfigurácií a ako ste sám spomenul, nerieši zatiaľ inotify, čo je všeobecný problém hybridného setupu.
No a pokiaľ ste zvyknutý pracovať v "all Linux" setup-e, tak vám WSL2 v porovnaní s Hyper-V či VMware workstation neprináša asi nič, iba komplikácie navyše (aspoň ja som teda zatiaľ žiaden prínos neobjavil). Preto som sa pýtal, či ten JetBrains máte nainštalovaný vo WSL2 - priamo ste mi na to neodpovedal, ale predpokladám, že nie a pracujete skôr tým hybridným spôsobom.