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

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

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

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

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

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

به طور کلی قابلیت اجرا کردن کدهای .Net در یک مرورگر تجربه توسعه نرم افزار های وب سمت کلاینت را برای ما رقم نمیزند. به همین دلیل است که فریم ورک Blazor مطرح شد. در واقع فریم ورک Blazor یک Client-Side Web UI است ، که مبتنی بر زبان برنامه نویسی سی شارپ و نه جاوا اسکریپت عمل می‌کند. به عبارت دیگر با استفاده از Blazor و زبان برنامه نویسی سی شارپ؛ شما می توانید کدهای مربوط به واسط کاربری برنامه را در سمت Client این بار با زبان برنامه نویسی سی شارپ ایجاد کنید. برای اجرا کردن کدهای Blazor نیازی به نصب کردن هیچ پلاگین اضافه در مرورگر ندارید و این کدها با استفاده از استاندارد به WebAssembly اجرا خواهند شد. بطور جایگزین اپلیکیشن هایی که با استفاده از Blazor نوشته می‌شوند، می‌توانند به صورت Server-Side بر روی .Net Core نیز اجرا بشود و تمامی تعاملات کاربر با این نوع از برنامه های Blazor توسط یک Connection از نوع SignalR به سمت سرور ارسال می گردد. در رابطه با SignalR توصیه می‌کنیم از بسته ی آموزش ویدئویی شروع به کار با ASP.NET Core و SignalR دیدن بفرمایید.

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

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

بلزرها مشترکات زیادی با فریم ورک و تکنولوژی 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 بودن .Net استفاده کنند.

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

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

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