آیا بلیزر دنیای وب را تغییر میدهد؟
معرفی بلیزر
بلیزر یک چارچوب تولید و توسعه برنامههای تک صفحهای (Single Page) مبتنی بر وب است. بلیزر ترکیب دو واژه Browser (مرورگر وب) و Razor (موتور تولید صفحات وب بر پایه فناوری دات نت) است. تلفظ صحیح این کلمه نیز bla·zer است.
تاریخچه پیدایش بلیزر
معرفی مقاله بلیزر توسط مایکروسافت در سال 2018:
بلیزر یک فریمورک وب است که اجازه میدهد در مرورگر از کد سی شارپ بدون استفاده از هیچ پلاگینی استفاده کنید. در سی شارپ قابلیتهای فراوانی وجود دارد، شما میتوانید از تمامی آن قابلیتها در سمت مرورگر استفاده کنید. برای اولین بار یک برنامهنویس Full-stack میتواند از یک زبان برنامهنویسی مانند سی شارپ برای تولید تمامی کدهای یک وبسایت استفاده نماید.
در بلیزر به جای تولید صفحات وب در سرور و انجام فرآیند و پردازش سمت سرور، این عمل در مرورگر قابل اجرا است. و مرورگرها میتوانند برنامههای مبتنی بر بلیزر را در سمت کلاینت یا بازدیدکننده سایت پردازش و نمایش دهند.
چرا بلیزر؟
مدیریت و پشتیبانی پروژههای بزرگ و پیچیده که با استفاده از جاوا اسکریپت پیادهسازی شدهاند، بسیار دشوار است. استفاده از یک فریمورک مانند بلیزر که تمامی قواعد و قابلیتهای زبان سی شارپ را در سمت کلاینت به برنامهنویس ارائه میکند، بزرگترین نقطه قوت این فریمورک است.
وقتی نسخههای اولیه بلیزر منتشر شد، اکثر توسعهدهندگان مایکروسافتی دیدی نسبتا منفی نسبت به این فریمورک داشتند، دلیل آن نیز خاتمه یکباره تکنولوژی Silverlight بود که در نسخه 5 مایکروسافت آن را کنار گذاشت. اما بلیزر تفاوتهایی با سیلورلایت دارد:
1- سیلورلایت نیازمند نصب یک پلاگین در سمت مرورگر بود و اگر کاربر پلاگین را نصب نمیکرد، نمیتوانست محتوای سایت را مشاهده کند. همچنین سیلورلایت قابل اجرا روی دستگاههای iOS نبود.
2- برخلاف سیلورلایت، بلیزر یک فریمورک متن باز است که توسعهدهندگان متعددی در حال کار روی کدهای آن هستند.
3- بلیزر میتواند در سمت سرور نیز اجرا شده و کدهای نهایی را به سمت مرورگر ارسال کند. یعنی میتواند با استفاده از قابلیت پردازش Web Assembly در مرورگرها، پس از دریافت محتوای اولیه در سمت مرورگر با سرور نیز در ارتباط باشد.
4- از آنجا که وب اسمبلی یک استاندارد است که در مرورگرهای امروزی پشتیبانی میشود، بلیزر میتواند در همه سیستم عاملها (Windows/Mac/Linux/Android and iOS) به صورت یکسان اجرا شود.
انواع هاستینگ بلیزر
بلیزر دو مدل اصلی هاستینگ را پشتیبانی میکند، Server Side و WebAssembly البته در نسخههای جدید این فریمورک مدلهای دیگری نیز بهوجود آمدهاند که مهمترین آنها مدل سرور و وب اسمبلی است.
مدل بلیزر وب اسمبلی
نقاط قوت
- وب اسمبلی روی مرورگر کلاینت اجرا میشود، بنابراین به صورت فایلهای استاتیک در سمت مرورگر دریافت میشوند. با وجود این، برنامههای بلیزر به خاطر مسایل امنیتی، به صورت مستقیم توسط سیستمعامل قابل اجرا نیستند.
- برنامههای وب اسمبلی بدون اینترنت نیز قابل اجرا هستند. و اگر در حین استفاده ارتباط با اینترنت قطع شود، برنامه میتواند به کار ادامه دهد (در صورتی که نیازی به دادهای از سمت اینترنت نداشته باشد).
- برنامههای وب اسمبلی به صورت Progress Web App اجرا میشوند به این معنی که کاربران میتوانند با استفاده از مرورگرهای خود، برنامه را روی دستگاه خود نصب کنند و هر زمان که لازم داشتند، بدون نیاز به دسترسی به اینترنت از آن استفاده نمایند.
- چون کدها در سمت بازدید کننده اجرا میشوند، حجم پردازش در سمت سرور کاهش خواهد داشت.
نقاط ضعف
- اولین باری که یک برنامه وب اسمبلی باز میشود، به دلیل دانلود کامل فایلهای مورد نیاز نسبت به مدل سرور، زمانبر است. البته پس از آن، فایلها توسط مرورگر نگهداری شده و برای بازدید دفعات بعدی فایلهای از همان کلاینت بارگذاری میشوند و سرعت اجرا در دفعات بعدی بسیار بالا خواهد بود.
مدل بلیزر سمت سرور
نقاط قوت
- محتوای برنامههای سمت سرور ابتدا در سرور پیش پردازش شده و بعد به سمت کاربر ارسال میشوند. این موضوع باعث افزایش سرعت بارگذاری برنامه میشود.
- برنامههای سروری، میتوانند در مرورگرهای قدیمی (مانند اینترنت اکسپلورر 11) نیز اجرا شوند.
نقاط ضعف
- برنامههای سمت سرور نیازمند نگهداری اطلاعات کاربر در حافظه سرور بوده و بخشی از حافظه و سیپییو را اشغال میکند. هر برنامه به ازای هر کاربر بخشی از حافظه و پردازش را به خود اختصاص داده و منجر به هزینه سمت سرور میگردد.
- وقتی برنامه سمت سرور اجرای میشود، اگر یک رویداد در مرورگر کاربر رخ دهد، این رویداد به سرور منتقل شده و پردازش لازم انجام میشود، سپس تغییرات در سمت سرور پردازش شده و به سمت مرورگر برگردانده میشود، در این حالت اگر ارتباط کلاینت و سرور کند باشد، کاربر را دچار عدم رضایت از برنامه خواهد نمود. اگر تغییرات زیادی اتفاق افتاده باشد، کندی زیادی در سمت مرورگر کاربر خواهیم داشت.
- برخلاف برنامههای وب اسمبلی، اگر ارتباط بین سرور و کلاینت قطع شود، برنامه قادر به ادامه نخواهد بود. در این حالت برنامه با نمایش پیامی منتظر برقراری ارتباط با سرور خواهد شد و کاربر امکان کار با برنامه را نخواهد داشت.
تاریخچه نسخههای بلیزر
در نسخههای اولیه این فریمورک به هیچ وجه امکان تولید و توسعه برنامههای تجاری وجود نداشت. قابلیتهای لازم برای توسعه برنامههای تجاری و موضوعاتی که در وب اسمبلی وجود داشت، اجازه نداد که این فریمورک تا نسخه 3.1 در پروژههای تجاری استفاده شود. شرکت توسعه فنآوری آریا وندیداد از همان ابتدای معرفی نسخه 3.0 بلیزر روی این چارچوب مطالعات خود را شروع نمود تا بتواند در این عرصه پیش قدم از سایرین حرکت نماید.
نسخههای اولیه بلیزر از 0.1.0 شروع و تا به نسخه 0.9.0 با همان روش شمارهگذاری شد. اما از زمان ارائه دات نت کور نسخه 3.0 بلیزر نیز به این شماره نسخه تغییر یافته و همزمان با انتشار دات نت کور، نسخههای بعدی بلیزر نیز منتشر شد. به نوعی در نسخه 3.0 هماهنگی و توسعه بلیزر با دات نت کور به وقوع پیوست.
تمامی نسخههای اولیه بلیزر تا قبل از نسخه NET Core 3.0.0 به صورت آزمایشی و پیش انتشار، در اختیار برنامهنویسان قرار گرفت و اولین نسخه رسمی انتشار یافته به همراه دات نت 3.0 منتشر شد که البته همچنان قابل استفاده در پروژههای تجاری نبود. نسخه بعدی، یعنی نسخه .NET Core 3.1.0 اولین نسخه رسمی جهت تولید برنامههای تجاری بود. ما پس از انتشار این نسخه بود که نسبت به تولید یک چارچوب داخلی روی بلیزر اقدام نمودیم و پروژه ارکا (Orca Framework) با هدف ایجاد یک چارچوب داخلی برای تولید انواع برنامههای مبتنی بر وب تولید گردید.
در نسخه .NET 5.0 که آخرین نسخه بلیزر (به عنوان یک فریمورک مجزا از دات نت) است، اکثر مشکلات اجرایی رفع شده و پروژههای بزرگ تجاری تولید شدند.
در حال حاضر نیز ارکا بر مبنای دات نت نسخه 7 بروزرسانی شده و مجموعهای از ماژولهای آماده و کامپوننتهای لازم (بیش از 60 کامپوننت) برای تولید برنامههای مبتنی بر وب را پشتیبانی میکند. پروژههای متعددی از مارکت پلیس، فروشگاه، سایت شرکتی و ... تک زبانه و چند زبانه (وب اسمبلی و سرور) با استفاده از فریمورک ارکا پیادهسازی شده که حاصل تلاش تیم فنی شرکت توسعه فنآوری آریا وندیداد است.
بزرگترین پروژهای که بر اساس فریمورک ارکا و بلیزر پیادهسازی شده، مرکز صدای مشتری است که با استفاده از مدل وب اسمبلی پنل های لازم برای کاربران مختلف را در دسترس آنها قرار میدهد. ماژول صندوق پیام از سامانه مرکز صدای مشتری، یک ابزار دوسویه برای افراد و سازمانهاست که مایل هستند نظرات و پیامهای مستقیم مشتریان و مخاطبان خود را دریافت کنند.
دیدگاه تان را بنویسید