بررسی استاندارد WebAssembly در توسعه وب اپلیکیشن ها


در این قسمت از وبسایت پرووید قسمت چهارم از سری آموزش معنی و رایگان فریمورک به Blazor را به شما تقدیم خواهیم کرد. امیدواریم که تمام قسمتهای قبل از این آموزش را مطالعه کرده باشید اگر این کار را انجام نداده اید توصیه می کنیم که حتماً قبل از ادامه دادن این مقاله این کار را کنید چرا که دانستن مفاهیم مطرح شده در قسمت های قبلی برای درک هرچه بهتر موضوع این قسمت ضروری می‌باشند. در این قسمت قرار است که در رابطه با استاندارد به WebAssembly و اهمیت آن صحبت کنیم.

استاندارد WebAssembly چیست؟

در سال ۲۰۱۵ کمپانی های مطرح ایجاد مرورگرهای وب در W3C Community Group گرد هم آمدند و یک استاندارد وب باز و یا اصطلاحاً Open Web Standard را به نام به WebAssembly مطرح نمودند. در واقع WebAssembly شبیه به byte code برای وب عمل می کند اگر شما بتوانید کد خود را به WebAssembly تبدیل کنید سپس می توانید آن را بر روی پلتفرم های مختلف و مرورگرهای مختلف به سادگی اجرا کنید. تلاش های اولیه در استاندارد WebAssembly برای زبان های سی و سی پلاس پلاس بود. با استفاده از WebAssembly شما میتوانید بدون نیاز به نصب کردن پلاگین اضافه در مرورگر خود کدهای مورد نظرتان را اجرا کنید این موضوع را می‌توان با تکنولوژی سیلورلایت که برای استفاده کردن از آن نیاز به نصب‌کردن پلاگین اضافه داشتید، مقایسه کرد. ضمنا در این رابطه توصیه می کنیم از بسته ی آموزش ویدئویی سیلورلایت 5 دیدن کنید.

از زمان مطرح شدن WebAssembly تا به اکنون این استاندارد در حال استانداردسازی و پیاده سازی در تمامی مرورگرهای اصلی می باشد. بنابراین کار کردن با WebAssembly و اجرا کردن کد های دات نت در مرورگر های مختلف در اواخر سال ۲۰۱۷ آغاز شد، هم اکنون به سادگی می‌توان کدهای دات نت را در مرورگر اجرا نمود. پیش‌بینی می‌شود که با مطرح شدن و انتشار دات نت ۵ در سال ۲۰۲۰ این قابلیت تکمیل بگردد بنابراین با استفاده از این موضوع امکان توسعه نرم افزارهای وب به صورت Full-Stack وجود خواهد داشت . در این رابطه توصیه می کنیم از بسته ی آموزش ویدئویی تبدیل شدن به یک توسعه دهنده Full-stack در دات نت سری اول و بسته ی آموزش ویدئویی تبدیل شدن به یک توسعه دهنده Full-stack در دات نت سری دوم و بسته ی آموزش ویدئویی تبدیل شدن به یک توسعه دهنده Full-stack در دات نت سری سوم دیدن بفرمایید.

معرفی Blazor : توسعه نرم افزار های وب به صورت Full-Stack با استفاده از دات نت

به طور کلی قابلیت اجرا کردن کدهای DotNET در یک مرورگر تجربه توسعه نرم افزار های وب سمت کلاینت را برای ما رقم نمیزند به همین دلیل است که فریم ورک Blazor مطرح شد در واقع فریم ورک Blazor یک client-side web UI است ، که مبتنی بر زبان برنامه نویسی سی شارپ و نه جاوا اسکریپت عمل می‌کند. به عبارت دیگر با استفاده از Blazor و زبان برنامه نویسی سی شارپ شما می توانید کدهای مربوط به واسط کاربری برنامه را در سمت client اینبار با زبان برنامه نویسی سی شارپ ایجاد کنید. برای اجرا کردن کدهای Blazor نیازی به نصب کردن هیچ پلاگین اضافه در مرورگر ندارید و این کدها با استفاده از استاندارد به WebAssembly اجرا خواهند شد. بطور جایگزین اپلیکیشن هایی که با استفاده از Blazor نوشته می‌شوند می‌توانند به صورت server-side بر روی Dotnet core نیز اجرا بشود و تمامی تعاملات کاربر با این نوع از برنامه های Blazor توسط یک کانکشن از نوع SignalR به سمت سرور ارسال میگردد. در رابطه با SignalR توصیه می‌کنیم از بسته ی آموزش ویدئویی شروع به کار با ASP.NET Core و SignalR دیدن بفرمایید.

خوشبختانه فریم ورک که به Blazor به صورت کامل در ویژوال استودیو و ویژوال استودیو کد پشتیبانی می شود. برای یادگیری ویژوال استودیو توصیه می‌کنیم از لینک بسته ویژوال استودیو دیدن کنید. علاوه بر این موضوع Componentهای متعددی برای ساختن UIی مربوط به اپلیکیشن های وب در Blazor وجود دارد که برخی از آنها شامل موارد زیر می باشد:

  • ایجاد کردن فرم ها و پیاده سازی validation
  • پیاده سازی Dependency injection
  • پیاده سازی Client-side routing
  • کار کردن با Layouts
  • پیاده‌سازی In-browser debugging
  • قابلیت JavaScript interop

Blazor مشترکات زیادی با فریم ورک و تکنولوژی ASP.NET Web Forms دارند. هر دو این فریم ورک ها به صورت Component-Based, Event-Driven و البته Stateful عمل می‌کند. در این قسمت از ترجمه کردن این سه واژه جلوگیری می‌کنیم چرا که هر سه از واژه‌های فنی توسعه نرم افزارهای تحت وب به حساب می آیند . علاوه بر این هر دو این تکنولوژی ها با استفاده از یک واسط کاربری و یا UI کار برنامه را پیش می‌برند. تفاوت اصلی در فریم ورک ASP.NET Web Forms و Blazor از لحاظ معماری آنها می باشد، به عبارت دیگر بر اینکه ASP.NET Web Forms فقط بر روی سرور اجرا می‌شود و این در حالی است که برنامه های Blazor می تواند هم در مرورگر و هم در سرور اجرا شود. اما به طور کلی اگر تجربه کار کردن با فریم ورک ASP.NET Web Forms را دارید خواهید دید که در تکنولوژی Blazor همه چیز تقریبا شبیه به ASP.NET Web Forms می باشند. در واقع بر اینکه Blazor یک راه حل کاملاً طبیعی برای برنامه نویسی ASP.NET Web Forms می‌باشد که تلاش می‌کنند از Client-Side Development و همچنین Open-source بودند و Cross-Platform بودن دات نت استفاده کنند.

همانطور که می‌دانید در این آموزش متنی که به صورت رایگان از وب سایت پرووید به شما ارائه می شود قرار است در رابطه با فریم ورک blazor صحبت کنیم اما بررسی تاریخچه که تا به اینجای کار مطرح نمودید نیز بسیار مهم بوده است. در این آموزش ما قصد داریم که با مفهوم به ویژه به طور کلی آشنا بشویم و تفاوتها و شباهتهای آن با فریم ورک ASP.NET Web Forms را مطرح نماییم. در پایان این آموزش خواهید توانست به سادگی برنامه‌های Blazor ایجاد کنید و در رابطه با اینکه یک اپلیکیشن با Blazor چگونه کار می کند، دانش زیاد و مناسبی را کسب کنید. ارتباط با Blazor با Dotnet core و راهبردهای اساسی انتقال دادن پروژه های ASP.NET Web Forms به Blazor را نیز بررسی خواهیم نمود در پایان این درس از شما دعوت می کنیم که حتما از بسته ی آموزش ویدئویی شروع به کار با Blazor در ASP.NET Core و بسته ی آموزش ویدئویی بلیزر (Blazor) پیشرفته و ساخت برنامه های تجاری و بسته ی آموزش ویدئویی Authentication و Authorization در بلیزر (Blazor) دیدن بفرمایید.

شروع به کار با Blazor

ضمنا برای شروع به کار با فریمروک Blazor به سادگی می توانید به آدرس http://blazor.net بروید و Dotnet core SDK و البته پروژه Template های مربوط به پروژه‌های Blazor را نصب کنید. دستورالعمل های راه اندازی blazor در ویژوال استودیو و ویژوال استودیو کد نیز در همین وب سایت قرار داده شده اند.