mrizvandi
mrizvandi
خواندن ۳ دقیقه·۲ سال پیش

تاریخچه پیدایش بلیزر

مقدمه و معرفی

بلیزر (Blazor) از دو کلمه Browser و Razor تشکیل شده است که به معنی اجرای کدهای زبان برنامه‌نویسی دات نت (سی شارپ یا وی بی) در مرورگر است. تلفظ صحیح این کلمه نیز bla·zer است.

در سال 2018 مایکروسافت در مقاله‌ای بلیزر را این گونه معرفی می‌کند:

بلیزر یک فریمورک وب است که اجازه می‌دهد در مرورگر از کد سی شارپ بدون استفاده از هیچ پلاگینی استفاده کنید. از آنجا که در سی شارپ قابلیت‌های فراوانی وجود دارد، شما می‌توانید از تمامی آن قابلیت‌های در سمت مرورگر استفاده کنید. برای اولین بار یک برنامه‌نویس Full-stack می‌تواند از یک زبان برنامه‌نویسی مانند سی شارپ برای تولید تمامی کدهای یک وبسایت استفاده نماید.

در سایت رسمی بلیزر نیز این جمله معرفی کاملی از بلیزر است:

Build beautiful, web apps with Blazor

Use the power of .NET and C# to build full stack web apps without writing a line of JavaScript.

چرا بلیزر؟

مدیریت و پشتیبانی پروژه‌های بزرگ و پیچیده که با استفاده از جاوا اسکریپت پیاده‌سازی شده‌اند، بسیار دشوار است. استفاده از یک فریمورک مانند بلیزر که تمامی قواعد و قابلیت‌های زبان سی شارپ را در سمت کلاینت به برنامه‌نویس ارائه می‌کند، بزرگ‌ترین نقطه قوت این فریمورک است.

وقتی نسخه‌های اولیه بلیزر در سال 2018 منتشر شد، اکثر توسعه‌دهندگان مایکروسافتی دیدی نسبتا منفی نسبت به این فریمورک داشتند، دلیل آن نیز خاتمه یکباره تکنولوژی Silverlightبود که در نسخه 5 مایکروسافت آن را کنار گذاشت. اما بلیزر تفاوت‌هایی با سیلورلایت دارد که می‌توان گفت آینده بهتری نسبت به سیلورلایت خواهد داشت:

1- سیلورلایت نیازمند نصب یک پلاگین در سمت مرورگر بود و اگر کاربر پلاگین را نصب نمی‌کرد، نمی‌توانست محتوای سایت را مشاهده کند. همچنین سیلورلایت قابل اجرا روی دستگاه‌های iOSنبود.

2- برخلاف سیلورلایت، بلیزر یک فریمورک متن باز است که توسعه‌دهندگان متعددی در حال کار روی کدهای آن هستند. مالک اصلی بلیزر موسسه غیر انتفاعی دات نت (dot net foundation) است که متن کامل بلیزر را در گیت هاب منتشر نموده.

3- بلیزر می‌تواند در سمت سرور نیز اجرا شده و کدهای نهایی را به سمت مرورگر ارسال کند. این یعنی می‌تواند با استفاده از قابلیت پردازش Web Assembly در مرورگرها، پس از دریافت محتوای اولیه در سمت مرورگر با سرور نیز در ارتباط باشد.

4- از آنجا که Web Assemblyوب اسمبلی یک استاندارد است که در مرورگرهای امروزی پشتیبانی می‌شود، بلیزر می‌تواند در همه سیستم عامل‌ها (Windows/Mac/Linux/Android and iOS) به صورت یکسان اجرا شود.

تاریخچه نسخه‌های بلیزر

در نسخه‌های اولیه این فریمورک به هیچ وجه امکان تولید و توسعه برنامه‌های تجاری وجود نداشت. قابلیت‌های لازم برای توسعه برنامه‌های تجاری و موضوعاتی که در وب اسمبلی وجود داشت، اجازه نداد که این فریمورک تا نسخه 3.1 در پروژه‌های تجاری استفاده شود.

نسخه‌های اولیه بلیزر از 0.1.0 شروع و تا به نسخه 0.9.0 با همان روش شماره‌گذاری شد. اما از زمان ارائه دات نت کور نسخه 3.0 بلیزر نیز به این شماره نسخه تغییر یافته و هم‌زمان با انتشار دات نت کور، نسخه‌های بعدی بلیزر نیز منتشر شد. به نوعی در نسخه 3.0 هماهنگی و توسعه بلیزر با دات نت کور به وقوع پیوست.

لازم به ذکر است که تمامی نسخه‌های اولیه بلیزر تا قبل از نسخه .NET Core 3.0.0 به صورت آزمایشی و پیش انتشار، در اختیار برنامه‌نویسان قرار گرفت و اولین نسخه رسمی انتشار یافته به همراه دات نت 3.0 منتشر شد که البته همچنان قابل استفاده در پروژه‌های تجاری نبود. نسخه بعدی که با فاصله زمانی کمی نیز منتشر شد، یعنی نسخه .NET Core 3.1.0 اولین نسخه رسمی جهت تولید برنامه‌های تجاری بود. البته این به معنی کامل بودن تمام امکانات لازم برای تولید برنامه‌های تجاری نیست و در این نسخه نیز مشکلات فراوانی وجود داشت که پروژه‌های تجاری بزرگ را با چالش روبرو ساخته بود. در نسخه .NET 5.0 که آخرین نسخه بلیزر (به عنوان یک فریمورک مجزا از دات نت) است، اکثر مشکلات اجرایی رفع شده و پروژه‌های بزرگ تجاری تولید شدند. پس از این نسخه سورس کد بلیزر به پروژه Asp.NET Core منتقل و با آن تلفیق و همراه با دات نت منتشر می‌شود.

منابع و کدها:

سورس کد دات نت در گیت هاب

سورس کد بلیزر تا قبل از قرارگیری در دات نت

صفحه رسمی بلیزر در مایکروسافت

سی شارپblazorweb development
شاید از این پست‌ها خوشتان بیاید