نسخه Open-source و Cross-platform فریم ورک دات نت

با قسمت دوم از سری آموزش رایگان فریم ورک Blazor از وب سایت پرووید در خدمت شما هستیم. همانطور که دیدید در قسمت قبلی کمی در رابطه با فریم ورک ASP.NET Web Forms صحبت کردیم و در پایان نتیجه‌گیری کرد اینکه امروزه با بیان شدن مفاهیم و اهمیت پیدا کردن پروژه های Open-Source و Cross-Platform تغییراتی در تکنولوژی های مربوط به توسعه تحت وب اتفاق افتاده است. در این قسمت می خواهیم نگاهی به نسخه Open-Source و Cross-Platform .Net بیندازیم.

نسخه Open-Source و Cross-Platform .Net فریم ورک

زمانی که اولین بار فریم ورک که .Net و ASP.NET Web Forms توسط مایکروسافت معرفی شدند به طور کلی توسعه نرم افزارهای تحت وب و تحت ویندوز توسط محصولات مایکروسافت قبضه می شدند، دیگر پلتفرم ها از قبیل macOS و لینوکس شبیه به امروز محبوب نبودند بنابراین ASP.NET Web Forms به همراه .Net فریم ورک به عنوان یک ابزار برای توسعه نرم افزارهای تحت وب در ویندوز معرفی شد، این بدان معناست که برنامه هایی که با استفاده از ASP.NET Web Forms توسعه داده می شوند فقط امکان اجرا شدن بر روی ماشین های ویندوز سرور را دارند. بسیاری از محیط های مدرن امروزه از دیگر پلتفرم های مشابه برای سرورها و ماشین های توسعه استفاده می کند به همین دلیل داشتن ابزارهایی برای توسعه Cross-Platform و یا چند سکویی یک موضوع بسیار مهم به حساب می آیند. در این رابطه توصیه می کنیم از این بسته ی آموزش ویدئویی .NET Core برای برنامه نویسان ویندوز استفاده کنید.

بسیاری از فریم ورک های توسعه نرم افزارهای تحت وب امروز به صورت Open-source عمل می‌کنند متن باز بودن و یا همان Open-Source بودن مزایای متعددی را دارد، یکی از این مزایا این است که برنامه نویسان دیگر توسط یک مالک تک یعنی همان شرکت توسعه دهنده فریم ورک محدود نمی‌شوند و منتظر نمی ماند که ویژگی ها و قابلیت های جدیدی توسط آن شرکت اضافه گردد. پروژه‌های Open-Source می‌توانند به سادگی پیشرفت‌های خود را از جامعه برنامه نویسانی که بر روی آن فریم ورک کار می‌کنند دریافت کنند و این بدان معناست که روند رشد پروژه های Open-Source سریعتر از پروژه های معمولی است.البته در پروژه های Open-source نیز چالش ها و موضوعات دیگری مطرح می شوند که می‌بایست به طور ویژه به آنها دقت کرد تا بتوان به صورت ایمن و قابل درک پروژه Open-Source مورد نظر را پیشرفت داد، برای مثال بحث‌های مربوط به License Agreement و Friendly License ها و Pedigree Scans ها و موضوعاتی از این دست مباحثی هستند که در توسعه نرم افزارها به صورت Open-Source مطرح می‌شوند.

جامعه نویسان .Net مفاهیم مربوط به پروژه‌های Open-Source و Cross-Platform را به طور ویژه پشتیبانی کرده و هم اکنون فریم ورک .NET Core یک پیاده سازی Cross-Platform و Open-Source از .Net فریم ورک می باشد که می تواند بر روی پلتفرم های مختلف از قبیل ویندوز و macOS و لینوکس اجرا بگردد. در این رابطه توصیه می‌کنیم از آموزش ویدئویی مباحث مقدماتی و شروع به کار ASP.NET Core MVC استفاده کنید.

علاوه بر این می دانید که فریم ورک Xamarin این با استفاده از Mono که یک نسخه Open-Source از .Net می باشد. امروزه می‌تواند پروژه‌های را ایجاد کند که بر روی اندروید و iOS و دیگر دستگاه‌های موبایل اجرا بشوند. در رابطه با Xamarin و Xamarin Forms نیز آموزش‌های زیادی بر روی وبسایت پرووید قرار گرفتند که برای مثال می توانید از بسته ی آموزش ویدئویی پروژه محور ساخت اپلیکیشن پیشرفته موبایل با Xamarin.Forms دیدن کنید.

مایکروسافت با معرفی کردن نسخه پنجم از .Net این موضوع را بیان کرد که .Net Core و Mono تبدیل به یک فریم ورک بر Runtime تک خواهند شد که می‌توانند به طور ویژه برای ساخت نرم‌افزارهای Open-Source و Cross-Platform مورد استفاده قرار بگیرند. حال سوالی که مطرح می‌شود این است که آیا فریم ورک ASP.NET Web Forms نیز می تواند از این روند رو به رشد در پروژه های Open-Source و Cross-Platform استفاده کند؟ متأسفانه پاسخ این سوال خیر است، چرا که در حال حاضر امکان انجام این کار وجود ندارد. تیم توسعه .Net امروزه اعلام کرده است که ASP.NET Web Forms به .NET Core و یا .NET Framework 5 منتقل نخواهد شد. سوالی که اینجا ممکن است پیش بیاید این است که چرا؟ دقت کنید که تلاش‌های زیادی در ابتدای ظهور .NET Core برای منتقل کردن ASP.NET Web Forms به آن صورت گرفت، اما نیاز به تغییرات کلی و بسیاری موضوعات دیگر باعث شد که مایکروسافت تصمیم بگیرد که عملاً این اتفاق رخ ندهد. علاوه بر این موضوع ممکن است که برنامه نویسان جامعه .Net به طور داوطلبانه اقدام به منتقل کردن کدهای ASP.NET Web Forms به .NET Core کنند. احتمالاً می‌دانید که Source-Code فریم ورک ASP.NET Web Forms امروزه به صورت عمومی منتشر شده و کاملا Open-source می باشند. ضمناً در این رابطه توصیه می‌کنیم حتماً از بسته ی آموزش ویدئویی گیت هاب (GitHub) و مبانی استفاده کردن از آن استفاده بفرمایید. اما در حال حاضر فریم ورک ASP.NET Web Forms فقط یک فریم ورک ویندوزی باقی خواهد ماند و هیچ قابلیت Open-Source خاصی در آن پیاده سازی نخواهد شد.

اگر به طور ویژه پیاده سازی پروژه به صورت Open-Source و Cross-Platform برای شما اهمیت دارد، نیاز است که به نسخه های دیگر این فریم ورک فکر کنید. حال سوالی که در پایان مطرح می‌شود این است که آیا فریم ورک ASP.NET Web Forms عمر خود را کرده است و حال دیگر نمی توان از آن استفاده کرد؟ البته که پاسخ این سوال خیر است تا زمانی که فریم ورک دادن به عنوان یک جزء تشکیل دهنده و یا Component با ویندوز منتشر بشود فریم ورک ASP.NET Web Forms به هم در کنار آن منتشر خواهد شد. برای بسیاری از برنامه نویسان وب نداشتن قابلیت Cross-Platform و Open-Source مشکلی را ایجاد نخواهد کرد. بنابراین اگر شما عملاً نیاز به Cross-Platform و یا Open-Source پروژه ندارید و یا به قابلیت های .NET Core و یا .NET Framework 5 اهمیت نمی دهید، استفاده کردن از فریم ورک ASP.NET Web Forms برای ویندوز یک انتخاب عاقلانه خواهد بود. فریم ورک ASP.NET Web Forms به روشی پایدار برای توسعه نرم افزار های وب تا سال‌های دیگر به عمر خود ادامه خواهد داد. در قسمت بعد از این آموزش در رابطه با اهمیت اجرا شدن بخشی از کد برنامه در سمت کلاینت صحبت خواهیم کرد.