مایکروسافت بی سر و صدا یک تونل امن با میزبانی ابری را به ویژوال استودیو اضافه کرده است که آزمایش APIها، خدمات وب و بکاندهای موبایل را آسانتر میکند.
یکی از اهداف مایکروسافت برای نسخههای اخیر ویندوز، بهبود تجربه توسعهدهندگان با هدف تبدیل آن به پلتفرم مطلوب برای توسعه برنامههای کاربردی مدرن بود. این هدف منجر به انتشار زیر سیستم های ویندوز برای لینوکس و اندروید، ذخیرهسازی مقاوم Dev Drive مبتنی بر سیستم فایل ReFS، مدیر بسته WinGet، و کنترل پنل Dev Home.
این ابزارها به رفع بسیاری از مشکلات کلیدی که توسعهدهندگان با آن مواجه هستند، بدون توجه به سیستم عاملی که استفاده میکنند، کمک میکنند. آنها با هم از توسعه بین پلتفرمی پشتیبانی می کنند و به شما کمک می کنند از کد خود محافظت کنید، زنجیره ابزار خود را مدیریت کنید و منابع مورد استفاده برنامه ها و ابزارهای خود را پیگیری کنید.
یکی دیگر از حوزههای کلیدی در دسترس قرار دادن کد توسعه برای کاربران و دستگاههای راه دور است، بهویژه زمانی که در حال آزمایش برنامههای تلفن همراه و وب هستید. این ما را به تونلهای توسعهدهنده مایکروسافت میرساند که اخیراً در Visual Studio 2022 در دسترس قرار گرفت.
تونل های ورودی و توسعه دهنده
ابزارهای ورودی مانند تونلهای توسعهدهنده، پراکسیهای معکوس را با یک API و دروازه وب ترکیب میکنند و از شبکههای خارجی به رایانه توسعهدهنده شما تونل میزنند، در حالی که تنها ترافیکی را که میخواهید از آن عبور کنید، تضمین میکند.
دسترسی به منابع محلی زمانی ضروری است که در حال ساخت برنامههای مدرن و بومی ابری هستید، با APIهای RESTful راه دور کار میکنید و APIهای خود را ارائه میکنید. مدتی طول میکشد تا مدیران شبکه، پروکسیها را روی فایروال شما راهاندازی کنند—زمانی که مانع آزمایشها و نمایشهای موقتی میشود.
در عوض، میتوانیم دسترسی به کد اشکالزدایی را از طریق یک سرویس ابری منعکس کنیم و از آن برای ارائه یک آدرس IP عمومی و در برخی موارد، یک نام دامنه کاملاً واجد شرایط استفاده کنیم. اینها معمولاً از طریق یک پورت غیر استاندارد عمل میکنند و خطر اتصال مهاجم به یک سرویس احتمالاً باگ را کاهش میدهند.
احتمالا معروفترین ابزار از این نوع ngrok است که هم طرحهای رایگان و هم پولی را ارائه میدهد. با این حال، تونلهای توسعهدهنده، اخیراً به عنوان بخشی از Visual معرفی شدهاند. استودیو ۲۰۲۲ نسخه ۱۷.۶ نیز همین هدف را دنبال می کند. تونلهای توسعهدهنده که در ابتدا بهعنوان یک ابزار اشکالزدایی طراحی شده بودند، یک پورت خاص در دستگاه محلی شما را در معرض اینترنت عمومی قرار میدهند، بنابراین میتوانید از دستگاهها و سرویسهای دیگر به آن دسترسی داشته باشید. حتی میتوانید از آن برای ارائه دسترسی آزمایشی برای ذینفعان و مشتریان استفاده کنید و به آنها بینشی در مورد کار در حال انجام بدهید.
شاید مهمترین مزیت سرویسهایی مانند تونلهای توسعهدهنده این باشد که به شما این امکان را میدهد که با نقاط پایانی و APIهای واقعی کار کنید، بهجای اینکه نیاز به ساختن ساختگی و استفاده از دادههای مصنوعی یا نمونه داشته باشید. به جای صرف زمان برای ساختن و اعتبارسنجی شبیه سازی ها، می توانید روی نوشتن کد تمرکز کنید. این رویکرد خطر طراحی برنامه شما را بر اساس یک الگوی باگی کاهش می دهد و همچنین آزمایش و اشکال زدایی کد را بسیار آسان تر می کند.
شروع به کار با تونل های توسعه دهنده
دو راه برای پیکربندی تونلهای توسعهدهنده وجود دارد، از داخل Visual Studio 2022 و از رابط خط فرمان خود.
راه اندازی یک تونل توسعه دهنده در Visual Studio 2022 نسبتاً ساده است. میتوانید ابزارهای مدیریت تونل توسعهدهنده را در منوی View، در سایر ویندوزها پیدا کنید. برای باز کردن لیستی از تونلهای موجود، «تونلهای توسعه» را انتخاب کنید و برای ایجاد یک نمونه جدید روی علامت مثبت کلیک کنید.
تونل های توسعه دهنده با حساب مورد استفاده برای ثبت ویژوال استودیو مرتبط هستند ، بنابراین می تواند یک شناسه Entra (چیزی که قبلاً Azure Active Directory بود) یا یک حساب کاربری مایکروسافت مصرف کننده (MSA) باشد. مورد دوم به احتمال زیاد برای فردی است که از نسخه Community Visual Studio برای توسعه شخصی یا منبع باز استفاده می کند.
با نامگذاری تونل خود شروع کنید. شما میتوانید یک کتابخانه از ترکیبهای مختلف نامها، انواع و کنترلهای دسترسی تونل ایجاد کنید که در صورت لزوم میتوان آنها را با هم عوض کرد. تونلها میتوانند موقت یا دائمی باشند، با هر بار که Visual Studio را راهاندازی میکنید، تونلهای موقت یک URL جدید دریافت میکنند.
انتخاب نهایی این است که انتخاب کنید چه کسی دسترسی دارد. تونل های خصوصی به شناسه کاربری که تونل را ایجاد کرده است گره خورده است، در حالی که تونل های سازمانی فقط برای اعضای همان گروه Entra به عنوان کاربر است. در حالی که می توانید یک محدوده سازمانی برای یک تونل با یک MSA مصرف کننده ایجاد کنید، واقعاً هیچ فایده ای برای انجام این کار وجود ندارد.
اگر نگران این نیستید که چه کسی دسترسی دارد، یا اگر یک تونل موقت را به عنوان بخشی از یک آزمایش نمایشی یا آزمایشی در مقیاس بزرگتر در معرض دید مشتریان قرار میدهید، میتوانید گزینه عمومی را انتخاب کنید. این نیازی به احراز هویت ندارد، بنابراین باید فقط زمانی استفاده شود که به کاربران اعتماد دارید یا زمانی که URL استفاده شده پس از تکمیل نسخه نمایشی بازیافت میشود.
دسترسی به تونل از طریق نشانهها کنترل میشود. با کلیک راست روی تونل موجود در لیست تونل های توسعه دهنده، که آنها را در کلیپ بورد کپی می کند، می توان به آنها دسترسی داشت. هنگامی که یک رمز دارید و نیاز به دسترسی به یک سرویس دارید، به عنوان مثال اگر در حال جستجوی یک سرویس RESTful یا یک نقطه پایانی gRPC هستید، میتوانید یک سرصفحه موقت X-Tunnel-Authorization HTTP به تماس خود اضافه کنید تا به مشتری مجوز دهید.
استفاده از تونل های توسعه دهنده در Visual Studio 2022
برای راهاندازی یک تونل از داخل ویژوال استودیو، به سادگی یک تونل را برای استفاده از نمای راهاندازی برنامه انتخاب کنید، سپس یک جلسه اشکالزدایی بسازید و اجرا کنید. این یک پنجره مرورگر محلی را باز می کند که به نقطه پایانی میزبان مایکروسافت برای تونل متصل است. اگر از یک تونل احراز هویت شده با یک برنامه وب استفاده می کنید، هنگام دسترسی به URL تولید شده، از شما اعتبار خواسته می شود. میتوانید URL تونل را کپی کنید و در صورت نیاز با همکاران به اشتراک بگذارید.
برای مدیریت تونل خود به سمت راست پنجره Visual Studio Dev Tunnels بروید و روی نماد مدیریت کلیک کنید. این نشان می دهد که اتصال فعلی یک تونل، برنامه ای که در حال تونل زدن است و پورت استفاده شده را نشان می دهد. از این نما، روی Inspect کلیک کنید تا یک بازرس شبکه میزبان لبه به عنوان یک ابزار اشکال زدایی اضافی راه اندازی شود تا به درک نحوه عملکرد کد شما با مرورگر یا هر کلاینت دیگری کمک کند.
استفاده از تونل های توسعه دهنده CLI
شما محدود به استفاده از تونل های توسعه دهنده با Visual Studio نیستید، زیرا می توان با استفاده از CLI مدیریت کرد. این را می توان از Winget برای Windows دانلود کرد و همچنین برای macOS و لینوکس.
تونلهای توسعهدهنده مبتنی بر CLI حتی میتوانند با حسابهای GitHub (در صورت نصب ابزارهای جداگانه GitHub) و همچنین شناسههای Entra و MSA ایجاد شوند که به شما امکان میدهد از ورود کد دستگاه GitHub به عنوان جایگزینی برای احراز هویت پیشفرض مبتنی بر مرورگر استفاده کنید. گزینه. پس از ورود به دستگاهی که میخواهید تونل را میزبانی کنید، از دستور devtunnel host
برای ایجاد یک تونل جدید استفاده کنید. این دستور به شما امکان میدهد نام یک تونل، پورتهایی که آن را ارسال میکند و اینکه آیا دسترسی ناشناس مجاز است را انتخاب کنید.
هنگامی که تونل ایجاد شد، URI تونل به شما ارائه می شود که می تواند کپی شود و در کدی که در حال آزمایش آن هستید یا توسط شخص ثالث استفاده شود. نقشهبرداری از پورتها نیز امکانپذیر است، بنابراین برنامهای که به دنبال API در پورت ۳۰۰۰ میگردد میتواند از طریق آن پورت به یک تونل دسترسی پیدا کند. به این دلیل که فناوری اساسی مورد استفاده توسط تونلهای توسعهدهنده مبتنی بر ارسال پورت SSH است که یک صفحه جلویی با کاربری آسان برای یک ویژگی اغلب پیچیده ارائه میکند.
متر در حال اجراست
توجه داشته باشید محدودیت هایی برای استفاده از تونل وجود دارد. اشتراک Enterprise به ازای هر کاربر ۱۰ تونل با محدودیت پهنای باند ۵ گیگابایت به شما می دهد. محدودیت های دیگر تعداد اتصالات و پورت های پشتیبانی شده در هر تونل و همچنین نرخ درخواست و انتقال را کنترل می کنند. این بدان معناست که نباید انتظار داشته باشید که بتوانید از تونل های توسعه دهنده برای تست استرس یک برنامه استفاده کنید. در عوض، آنها برای آزمایش ویژگیها و ادغام و همچنین برای بررسی سریع نحوه نمایش کد شما در دستگاههای مشتری در نظر گرفته شدهاند.
داشتن یک پروکسی ورودی مانند تونل های توسعه دهنده در (و خارج از) ویژوال استودیو باید ساخت زنجیره های ابزار توسعه را ساده کند. تا به حال، اگر برنامههای مثلاً Teams را میساختید و آزمایش میکردید، باید از ngrok یا یک ابزار شخص ثالث مشابه برای پیوند دادن سیستم توسعه خود به مستأجر Teams سازمان خود استفاده کنید. اکنون به سادگی بخشی از جعبه ابزار موجود شماست. آیا وقتی زندگی ساده تر می شود خوب نیست؟
پست های مرتبط
غواصی در تونل های توسعه دهنده مایکروسافت
غواصی در تونل های توسعه دهنده مایکروسافت
غواصی در تونل های توسعه دهنده مایکروسافت