آریا وندیداد | فناوری | بلیزر معرفی بلیزر بلیزر یک چارچوب تولید و توسعه برنامههای تک صفحهای مبتنی بر وب است. بلیزر ترکیب دو واژه Browser (مرورگر وب) و Razor (موتور تولید صفحات وب بر پایه فناوری دات نت) است. در بلیزر به جای تولید صفحات وب در سرور و انجام فرآیند و پردازش سمت سرور، این عمل در مرورگر قابل اجرا است. و مرورگرها میتوانند برنامههای مبتنی بر بلیزر را در سمت کلاینت یا بازدیدکننده سایت پردازش و نمایش دهند. هر چند که در بلیزر امکان پردازش در سمت سرور نیز وجود دارد. برنامههای مبتنی بر بلیزر نیازی به نصب پلاگین یا هیچ نرمافزاری در سمت بازدید کننده سایت ندارند و به راحتی توسط مرورگرهای امروزی پردازش شده و قابل استفاده است. با استفاده از فناوری وب اسمبلی این قابلیت وجود دارد که برنامهها بسیار سریعتر از حالت معمول در سمت کلاینت اجرا شوند. امروزه همه مرورگرهای سیستم عاملهای مختلف (ویندوز، لینوکس، مک، اندروید و آی او اس) از وب اسمبلی پشتیبانی میکنند (اصطلاحا Cross-Platform یا چندسکویی است). بلیزر دو مدل هاستینگ را پشتیبانی میکند، Server Side و WebAssembly. چارچوب بلیزر از WebAssembly استفاده میکند. وب اسمبلی در واقع یک قالب باینری برای کد در مرورگر است و هنگام اجرا از جاوا اسکریپت بسیار سریعتر است و سرعت اجرای آن مانند اجرای برنامه به صورت محلی و روی سیستم کاربر است. مدل بلیزر وب اسمبلی نقاط قوت وب اسمبلی روی مرورگر کلاینت اجرا میشود، بنابراین به صورت فایلهای استاتیک در سمت مرورگر دریافت میشوند. با وجود این، برنامههای بلیزر به خاطر مسایل امنیتی، به صورت مستقیم توسط سیستمعامل قابل اجرا نیستند. برنامههای وب اسمبلی بدون اینترنت نیز قابل اجرا هستند. و اگر در حین استفاده ارتباط با اینترنت قطع شود، برنامه میتواند به کار ادامه دهد (در صورتی که نیازی به دادهای از سمت اینترنت نداشته باشد). برنامههای وب اسمبلی به صورت Progress Web App اجرا میشوند به این معنی که کاربران میتوانند با استفاده از مرورگرهای خود، برنامه را روی دستگاه خود نصب کنند و هر زمان که لازم داشتند، بدون نیاز به دسترسی به اینترنت از آن استفاده نمایند. چون کدها در سمت بازدید کننده اجرا میشوند، به این معنی خواهد بود که حجم پردازش در سمت سرور کاهش خواهد داشت. نقاط ضعف اولین مرتبه باز نمودن یک برنامه وب اسمبلی، به دلیل دانلود کامل فایلهای مورد نیاز نسبت به مدل سرور، زمانبر است. پس از آن فایلها توسط مرورگر نگهداری شده و برای بازدید دفعات بعدی فایلهای از همان کلاینت بارگذاری میشوند و سرعت اجرا در دفعات بعدی بسیار بالا خواهد بود. مترجم برنامههای دات روی مرورگ قدری از نسخه سروری کندتر اجرا میشوند. بلیزر وب اسمبلی هنوز از چند ریسمانی در سمت مرورگر پشتیبانی نمیکند. هر چند که با استفاده از اجرای غیر همزمان کدهای بلیزر و جاوا اسکریپت، مرورگر کاربر قفل نشده و قابل استفاده است. معرفی بلیزر سمت سرور نقاط قوت محتوای برنامه های سمت سرور ابتدا در سرور پیش پردازش شده و بعد به سمت کاربر ارسال میشوند. این موضوع باعث افزایش سرعت بارگذاری برنامه میشود. برنامههای سروری، میتوانند در مرورگرهای قدیمی (مانند اینترنت اکسپلورر 11) نیز اجرا شوند. نقاط ضعف برنامههای سمت سرور نیازمند نگهداری اطلاعات کاربر در حافظه سرور بوده و بخشی از حافظه و سیپییو را اشغال میکند. هر برنامه به ازای هر کاربر بخشی از حافظه و پردازش را به خود اختصاص داده و منجر به هزینه سمت سرور میگردد. وقتی برنامه سمت سرور اجرای میشود، اگر یک رویداد در مرورگر کاربر رخ دهد، این رویداد به سرور منتقل شده و پردازش لازم انجام میشود، سپس تغییرات در سمت سرور پردازش شده و به سمت مرورگر برگردانده میشود، در این حالت اگر ارتباط کلاینت و سرور کند باشد، کاربر را دچار عدم رضایت از برنامه خواهد نمود. همچنین اگر تغییرات زیادی اتفاق افتاده باشد، کندی زیادی در سمت مرورگر کاربر خواهیم داشت. بر خلاف برنامههای وب اسمبلی، اگر ارتباط بین سرور و کلاینت قطع شود، برنامه قادر به ادامه نخواهد بود. در این حالت برنامه با نمایش پیامی منتظر برقراری ارتباط با سرور خواهد شد و کاربر امکان کار با برنامه را نخواهد داشت. چرا بلیزر وب اسمبلی؟ بلیزر شما را قادر میسازد که برنامه وب (به واسطه وب اسمبلی) را در سمت کاربر روی هر مرورگری اجرا کنید. بدون نیاز به نصب هر برنامه یا پلاگین روی مرورگر کاربر. در بلیزر با استفاده از زبان برنامهنویسی سی شارپ امکان بررسی مشکلات کد در زمان اجرا وجود دارد. امکان تولید برنامههای موبایل و وب به صورت هیبرید در بلیزر امکانپذیر شده است. بر خلاف برنامههای وب اسمبلی، اگر ارتباط بین سرور و کلاینت قطع شود، برنامه قادر به ادامه نخواهد بود. در این حالت برنامه با نمایش پیامی منتظر برقراری ارتباط با سرور خواهد شد و کاربر امکان کار با برنامه را نخواهد داشت.