مایکروسافت در حال آمادهسازی نسخهای Windows بهروزرسانی مه ۲۰۲۰ (۲۰H1). این بهروزرسانی شامل چندین بهبود خوب در رابط کاربری خواهد بود، اما برای توسعهدهندگان و سایر کاربران حرفهای، مهمترین چیز این است که نسخه جدید Windows پدیدار خواهد شد (Windows زیرسیستم برای Linux). این اطلاعات مربوط به کسانی است که میخواستند به سیستم عامل تغییر دهند Windows، اما نتوانستم تصمیم بگیرم.
دیو روپرت WSL 2 را روی لپتاپ سرفیس ۱۳ اینچی خود نصب کرد و نتایج اولیه آن را مشاهده کرد.
با کمال تعجب:

نسخه دوم WSL سیزده برابر سریعتر از نسخه اول است! هر روز که نمیشود به طور رایگان ۱۳ برابر افزایش عملکرد دریافت کرد. وقتی برای اولین بار این نتایج را دیدم، احساس سرما کردم و اشک ریختم. چرا؟ خب، بیشتر داشتم برای زمان از دست رفتهای که طی پنج سال کار با نسخه اول WSL جمع شده بود، سوگواری میکردم.
و فقط اعداد نیستند. در WSL 2، نصب npm، ساخت، بستهبندی، مشاهده فایلها، بارگذاری مجدد ماژولهای داغ، شروع سرورها - تقریباً هر چیزی که من به عنوان یک توسعهدهنده وب روزانه از آن استفاده میکنم - به طور قابل توجهی سریعتر شده است. این حس را دارد که دوباره پشت یک مک نشستهام (یا شاید حتی بهتر، زیرا اپل در سالهای اخیر به شدت پردازندههای خود را به نفع عمر باتری کاهش داده است).
چنین چابکی از کجا میآید؟
چطور به افزایش ۱۳ برابری عملکرد دست یافتند؟ پیش از این، وقتی به فکر مهاجرت به مک بودم، ایدههایی به ذهنم رسید، هرچند صرفاً در سطح فرضیات. مسئله این است که نوشتن روی دیسک و فراخوانیهای سیستمی Linux به دلیل معماری نسخه اول WSL، آنها (از نظر زمان) بسیار گران بودند. و حدس بزنید توسعه وب مدرن به چه چیزی به شدت متکی است؟ بله. وقتی هر بار که یک فایل را ذخیره میکنید، مجموعهای از وابستگیها و قطعه کدها را با هم ترکیب میکنید، در واقع تعداد زیادی نوشتن روی دیسک و فراخوانیهای سیستمی را در دهها هزار فایل انجام میدهید.
وقتی این را به سختی یاد بگیری، فراموش کردنش سخت است. کم کم شروع به غرق شدن در افسردگی میکنی، چون تصور میکنی همه چیز چقدر کند و اسفناک است. و متوجه میشوی که دنیایت دیگر هرگز مثل قبل نخواهد بود، و ابزاری که زمانی دوست داشتی دیگر مفید یا مؤثر به نظر نمیرسد.
خوشبختانه، تیم WSL ریسک کرد و زیرسیستم را کاملاً از نو نوشت. در WSL 2، این مشکلات حل شد: توسعهدهندگان آن را ساختند. Windows ماشین مجازی اختصاصی Linux و عملیات فایل را به یک درایو شبکه VHD (دیسک سختافزاری مجازی) واگذار کرد. نکته منفی این است که شما باید در اولین باری که ماشین مجازی را اجرا میکنید، مدتی را صرف چرخاندن آن کنید. این زمان بر حسب میلیثانیه اندازهگیری میشود و برای من به سختی قابل توجه است. من، به شخصه، از صبر کردن خوشحالم چون میدانم ماجرا از چه قرار است.
حالا فایلها کجا ذخیره میشوند؟
برای استفاده کامل از WSL 2، باید فایلهای پروژه خود را از ... منتقل کنید. /mnt/c/کاربران/<نام کاربری>/ به دایرکتوری خانه جدید ~/Linux روی یک VHD جدید. میتوانید محتویات این دیسک را به صورت آنلاین با رفتن به \\wsl$\<نام توزیع>\<نام کاربری>\home یا با وارد کردن دستور explorer.exe از پوسته Bash شما.
این یک سیستم فایل واقعی است. Linuxو همانطور که انتظار دارید عمل و رفتار میکند. من یک پوشه ایجاد کردم ~/پروژه ها، جایی که تمام مخازن پروژه من وجود دارد، و سپس پروژهها را در Visual Studio Code با استفاده از دستور code باز میکنم.
در مورد VS Code چطور؟
نصب WSL برای توسعه از راه دور در VS Code (VS Code Remote - WSL) مرحله نهایی است که یک تجربه توسعه راحت را تضمین میکند. این افزونه به VS Code اجازه میدهد تا تمام عملیات خود (دستورات git، کنسولها، نصب افزونه و غیره) را با تعامل با ماشین مجازی انجام دهد. Linux مستقیماً. این باعث میشود کل فرآیند بسیار خودکار باشد.
در ابتدا، کمی از نصب این افزونه ناامید شدم، چون مجبور شدم هر چیزی را که قبلاً نصب و پیکربندی کرده بودم، دوباره نصب کنم. اما حالا قدرش را میدانم، چون یک لایه بصریسازی به من میدهد که نشان میدهد در چه محیطی کار میکنم و فایلهایم کجا هستند. این ویژگی فرآیند توسعه وب را بسیار سادهتر کرده است. Windows شفافتر شده و رابط کاربری کنترل نسخه در VS Code را بسیار آسانتر میکند.
اشک شادی و امید به آیندهای روشن
نمیتونم جلوی هیجانم رو برای نسخه بعدی بگیرم. Windows بهروزرسانی مه ۲۰۲۰ و بهینهسازی زیرسیستم Linuxکه به سادگی روی کامپیوتر بازی قدرتمند من پرواز میکند. ممکن است مشکلات دیگری هم وجود داشته باشد که من هنوز از آنها آگاه نیستم، اما بعد از من به این نتیجه رسیدم که تیم WSL اکثر مشکلات را حل کرده است.
همچنین، فراموش نکنید که خیلی هم خوب! انگار شکایات من در مورد کمبود تبها، تنظیمات JSON و نیاز به «احساس باحال بودن» در ... رو شنیدن. Windowsهنوز هم عجیب به نظر میرسد، اما Windows ترمینال شاید بهترین ترمینال برای Windows.
کار کردن در Windows پنج سال گذشته، من خیلی چیزها را پشت سر گذاشتهام: عدم توانایی در نصب Rails، مبارزه با پوسته مصنوعی Cygwin. من در همان کنفرانس Build 2016 در ردیف جلو نشسته بودم که مایکروسافت اولین نسخه WSL را معرفی کرد. و سپس امیدوار بودم که توسعه وب بالاخره رونق بگیرد. Windows بالاخره به سطح جدیدی خواهد رسید. بدون شک، WSL 2 بزرگترین پیشرفتی است که از آن زمان دیدهام و احساس میشود که در آستانهی یک دورهی جدید هستیم.
در حقوق تبلیغات
اگر برای کار به آن نیاز دارید Windows-سرورها، پس قطعاً شما - نصب خودکار Windows Server در طرحهای ۲۰۱۲، ۲۰۱۶ یا ۲۰۱۹ با ۲ گیگابایت رم یا بالاتر، لایسنس از قبل در قیمت لحاظ شده است. جمع کل از 21 روبل در روز! سرورهای دائمی هم داریم 😉
منبع: www.habr.com
