بهروزرسانیهای زیرسیستم ویندوز برای لینوکس و زیرسیستم ویندوز برای اندروید، توسعه چند پلتفرمی را در ویندوز آسان میکند.
مایکروسافت مدتهاست که قصد دارد ویندوز را به مکانی برای توسعه دهندگان تبدیل کند. هدف آن هم در نرمافزار و هم در سختافزار نشان داده شده است زیرا هدف شرکت ارائه ابزارهایی است که ساخت کد را در هر کجا و برای هر مکانی ممکن میسازد.
یک مثال اخیر: مشخصات نسخه دوم سرفیس لپ تاپ استودیو پرچمدار آن. این آخرین نسخه نه تنها دارای یک NPU اینتل برای توسعه هوش مصنوعی است، بلکه حافظه سیستم را از ۳۲ گیگابایت به ۶۴ گیگابایت برای نسخه رده بالای لپ تاپ دو برابر می کند. این به شما منابع زیادی را برای ساختن برنامههای کاربردی سرتاسری که از ابر به موبایل و فراتر از آن منتقل میشوند، در اختیار شما قرار میدهد.
داشتن حافظه زیاد، اجرای همزمان چندین سیستم عامل را ساده میکند و به شما امکان میدهد زنجیرههای ابزار توسعه بین پلتفرمی بسازید که رایانه شما را ترک نمیکنند و از مزیتهای زیرسیستم ویندوز برای لینوکس و زیرسیستم ویندوز برای اندروید استفاده کنید. . هر دو زیرسیستم که در بالای هایپروایزر کریپتون ویندوز اجرا می شوند، راهی برای ساخت و آزمایش کد در هر کجا که کار می کنید، بدون نیاز به چرخش منابع اضافی یا وصل کردن سخت افزار اضافی ارائه می دهند. آنها همچنین هر دو در حال توسعه مداوم هستند و مرتباً ویژگیها و ابزارهای جدیدی را اضافه میکنند.
WSL اکنون برای پرایم تایم آماده است
چشم انداز اصلی مجموعه ای از APIهای سازگار با لینوکس در بالای ویندوز ثابت شد که حفظ آن پیچیده است و همیشه از هسته سریع لینوکس عقب می ماند. در نتیجه، به نفع یک ماشین مجازی لینوکس که بر روی یک میزبان ویندوز اجرا میشد، با یک سیستم فایل مشترک برای سادهسازی کار بین پلتفرم، منسوخ شد. بهروزرسانیها راهی برای اجرای رابطهای گرافیکی X11 و Wayland در کنار برنامههای Windows، با استفاده از نسخهای از ابزار دسکتاپ راه دور خود ویندوز اضافه کردند.
هیبرید حاصل به خوبی کار می کند، از ترمینال ویندوز به عنوان خط فرمان برای انتخاب لینوکس استفاده می کند و توزیع های لینوکس را مستقیماً از فروشگاه ویندوز نصب می کند. هنوز حفرههایی وجود دارد، مخصوصاً در جاهایی که برنامهها نیاز به راهاندازی خودکار فرآیندهای back-end یا کار با فناوریهایی مانند systemd دارند. شما همچنین به یک دیسک مجازی ثابت و تخصیص حافظه ثابت محدود شدهاید، که WSL را مجبور میکند تا در محدودیتهای منابع سختگیرانه اجرا شود، و قادر به افزایش یا کاهش با تقاضا نیست. مشکلات دیگر مربوط به شبکه است، جایی که شما با چندین آدرس IP کار می کنید نه اینکه این دو محیط را به طور کلی در نظر بگیرید.
با وجود این مشکلات، WSL محبوبیت خود را نشان داده است. استفاده از آن آسان است و راهی برای ساخت برنامههای بومی ابری در محیط توسعه ویندوز ارائه میدهد. ابزارهایی مانند Visual Studio Code میتوانند با مهمان لینوکس کار کنند و از Windows برای میزبانی رابط کاربری خود در حالی که مستقیماً در سیستم فایل لینوکس (و با GitHub) کار میکنند استفاده کنند تا از ابزارهای اشکالزدایی آن با Kubernetes و وب سرورهای مبتنی بر لینوکس استفاده کنند.
مایکروسافت به به روز رسانی ابزار میزبان WSL ادامه داده و تقریباً ماهانه آن را از طریق فروشگاه ویندوز به روز می کند. محیطهای لینوکس با استفاده از ابزارهای اصلی خود بهروزرسانی میشوند، بنابراین اگر از اوبونتو استفاده میکنید، مانند سایر سیستمهای مبتنی بر دبیان، به استفاده از apt ادامه میدهید و در صورت لزوم، برای پشتیبانی از ابزارهایی مانند Microsoft Edge، مخازن را اضافه میکنید.
آخرین نسخه WSL 2 مجموعه ای را اضافه می کند ویژگیهایی که به حفظ محیط توسعه کمک میکنند، استفاده بهینه از حافظه و دیسک را تضمین میکنند، و همچنین ویژگیهای جدید شبکه را اضافه میکنند که پیکربندی و ادغام با سیستم عامل میزبان را ساده میکند. اگرچه در حال حاضر فقط تحت یک پرچم آزمایشی در فایل پیکربندی WSL قابل دسترسی هستند. ، به اندازه کافی برای استفاده در محیط توسعه شما مهم هستند.
ویژگی های جدید مدیریت منابع WSL
بازیابی خودکار حافظه بررسی میکند که آیا WSL بیحرکت است یا خیر، میزان حافظه استفاده شده توسط ماشین مجازی آن را کاهش میدهد. شما دو گزینه دارید: تدریجی، برای انتشار آهسته، و dropcache برای آزادسازی فوری حافظه مورد استفاده برای حافظه پنهان. گزینه آهسته ۳۰ دقیقه طول می کشد تا به صفر برسد، و به نصب WSL شما اجازه می دهد تا حافظه را پس از بیکار شدن بازیابی کند. این رویکرد به عملیاتهای مبتنی بر حافظه ویندوز مانند کامپایل اجازه میدهد تا بدون خاموش کردن WSL VM بیشترین استفاده را از رایانه شخصی خود ببرید.
به طور مشابه، اکنون راهی برای کوچک کردن هارد دیسک های مجازی WSL، با استفاده از گزینه sparse disk Hyper-V وجود دارد. در حال حاضر، فقط برای دیسک های جدید است، اگرچه می توانید از خط فرمان WSL برای تنظیم دیسک های توزیع موجود در حالت پراکنده نیز استفاده کنید. این باید به کاهش اندازه دیسکهای مجازی کمک کند و در عین حال به آنها اجازه دهد تا از برنامههای جدید یا فایلهای صفحه پشتیبانی کنند.
ادغام شبکه ویندوز و لینوکس
درک این نکته مهم است که اگرچه در ویندوز اجرا می شود، اما WSL یک محیط جداگانه است که از ابزارهای لینوکس استفاده می کند. ممکن است مجبور شوید تلاشها را تکرار کنید، برای مثال مدیریت امنیت و فایروالها به طور جداگانه. ابزارهای جدید WSL این شکاف را پر میکنند و راههایی را ارائه میدهند که به WSL اجازه میدهد تنظیمات ویندوز موجود را مصرف کند تا مجبور نباشید از ابزارهای لینوکس استفاده کنید.
حالت جدید شبکه آینهای، تونل خروجی NAT را با اتصال مستقیم به LAN شما جایگزین میکند. این برای مدتی مورد نیاز بوده است و در نهایت نیاز به اتصال به لینوکس VM در یک آدرس IP جداگانه را برطرف می کند. اکنون اگر سرورهای توسعه را تحت WSL اجرا می کنید، می توانید با استفاده از آدرس حلقه بک آشنا، ۱۲۷.۰.۰.۱، متصل شوید. همچنین در نهایت دسترسی IPv6 به و از WSL VM شما را فعال میکند و به شما امکان میدهد اجرا در یک ارائهدهنده ابری مانند Azure را شبیهسازی کنید.
از دیگر ویژگیهای شبکه جدید میتوان به تونلسازی DNS اشاره کرد که به WSL VM اجازه میدهد مستقیماً با سرور DNS ویندوز کار کند تا وضوح آدرس را بدون ارسال هیچ بستهای از WSL به حلکنندهها مدیریت کند. این باید خطر مشکلات شبکه را کاهش دهد، به خصوص زمانی که پشت فایروال کار می کنید که بسته ها را از آدرس های IP ناشناخته فیلتر می کند.
در نهایت، اکنون می توانید از قوانین فایروال ویندوز در پشته شبکه Hyper-V استفاده کنید و به WSL اجازه می دهد تنظیمات امنیتی شبکه را مستقیماً از ویندوز به ارث می برد. همچنین گزینه ای برای اضافه کردن قوانین فایروال مخصوص WSL به Hyper-V از طریق PowerShell وجود دارد.
مدیریت منابع و شبکهسازی از زمان راهاندازی برای WSL مشکلات همیشگی بوده است و به نظر میرسد این بهروزرسانی بیشتر نگرانیهای رایج را برطرف میکند. جالب است که ببینیم ویژگیهای جدید در عمل چگونه کار میکنند و آیا مایکروسافت ابزارهای مدیریتی برای فایلهای پیکربندی WSL ارائه میکند یا خیر. مطمئناً ابزارهایی را برای پیکربندی ترمینال ویندوز ارائه کرده است و ممکن است مکان خوبی برای مدیریت WSL نیز باشد.
اندروید را در ویندوز بسازید و آزمایش کنید
مثل WSL، زیر سیستم Windows برای Android یک ماشین مجازی Android را با استفاده از بازوی اینتل اجرا میکند. به ابزار x86. مایکروسافت ویژگیهای دیگری را اضافه کرده است: پشتیبانی از درایورهای گرافیک ویندوز، از جمله پشتیبانی Direct 3D 12 برای Vulkan API. سایر ویژگی ها به طور مستقیم پوشه های ویندوز را به اشتراک می گذارند و از اتصالات شبکه محلی استفاده می کنند. این بهروزرسانیها، استفاده از آن را به عنوان هدفی برای توسعه برنامههای Android، با استفاده از ابزارهای Android برای بارگذاری جانبی کد خود در محیط مجازی Android، آسانتر میکنند.
نتیجه یک پلتفرم توسعه واحد است که به شما امکان میدهد از محیطها و ابزارهای توسعه ویندوز، ساخت سرورها در لینوکس، وب و کلاینتهای دسکتاپ در ویندوز و کار با ابزارهایی مانند Flutter برای ارائه برنامههای Android استفاده کنید، همگی بدون ترک لپتاپ. به علاوه میتوانید همه آنها را در دیوار آتش یا حتی بدون اتصال به اینترنت اجرا کنید و از دامهای محیطهای توسعه میزبان ابری اجتناب کنید. همه اینها برای نشان دادن اینکه ما در نهایت به رویای مایکروسافت برای تبدیل ویندوز به سیستم عامل توسعه دهنده یک مرحله ای نزدیک می شویم.
پست های مرتبط
ساختن برای لینوکس و اندروید در ویندوز
ساختن برای لینوکس و اندروید در ویندوز
ساختن برای لینوکس و اندروید در ویندوز