انتخاب کردن دو روش برای ساختن وب اپلیکیشن ها: روش سنتی و یا SPA

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

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

به طور کلی دو روش برای توسعه وب اپلیکیشن ها در دنیای امروز وجود دارد: استفاده کردن از وب اپلیکیشن های سنتی که بسیاری از application logic را بر روی سرور اجرا می‌کنند و یا استفاده کردن از single page applications ها که به صورت کوتاه به آنها SPA می‌گویند و بسیاری از user interface logic را در مرورگر کاربر اجرا کرده و با وب سرور و از طریق web API ارتباط برقرار می کنند تا داده های مورد نظر خود را دریافت کنند. البته یک روش ترکیبی نیز امکان پذیر است و آن این است که یک و یا چندین زیر اپلیکیشن شبیه به SPA را در یک وب اپلیکیشن سنتی بزرگتر میزبانی کنیم.

در ادامه در رابطه با سناریوهایی صحبت خواهیم کرد که استفاده کردن از روش ساخت وب اپلیکیشن های سنتی در آنها توصیه می‌شود:

1- زمانی که نیازمندی‌های سمت کلاینت اپلیکیشن و یا اصطلاحاً client-side requirement ها ساده و یا فقط خواندنی هستند.

2- زمانی که اپلیکیشن نیاز دارد در مرورگرهایی که از جاوااسکریپت پشتیبانی نمی کنند اجرا بشود. در رابطه با جاوااسکریپت می توانید از بسته ی آموزش ویدئویی جاوا اسکریپت استفاده کنید.

3- زمانی که تیم توسعه نرم افزار با جاوااسکریپت و یا تکنیک های مشابه از قبیل زبان TypeScript آشنا نیستند. در رابطه با TypeScript نیز آموزش های متعددی بر روی وبسایت پرووید قرار گرفته است که در صورت تمایل می توانید از بسته ی آموزش ویدئویی شروع به کار با TypeScript و بسته ی آموزش ویدئویی آموزش پیشرفته TypeScript و بسته ی آموزش ویدئویی آموزش عمیق TypeScript استفاده نمایید.

در عین حال زمانی از SPA استفاده کنید که شرایط زیر وجود داشته باشند:

1- اپلیکیشن شما نیاز دارد که user interface بسیار غنی را با قابلیت های بسیار زیادی در اختیار کاربر قرار بدهد.

2- تیم توسعه نرم‌افزار شما با زبان جاوااسکریپت و TypeScript آشنا است.

3- اپلیکیشن شما می‌بایست که با یک API از قبل موجود ارتباط برقرار کرده و به صورت Internal و یا Public از کلاینت ها پشتیبانی کند.

ذکر این نکته نیز ضروری است که فریم ورک هایی که برای ساخت وب اپلیکیشن های SPA استفاده می شوند نیاز به مهارت های بیشتری از نقطه نظر معماری و امنیت دارند. علاوه بر این موضوع تغییرات در فریم ورک هایی که برای ساخت وب اپلیکیشن های SPA استفاده می شوند بسیار بیشتر از فریم ورک هایی می باشند که برای ساخت وب اپلیکیشن های سنتی از آنها استفاده می کنیم. پیکربندی کردن automated build و automated deployment و استفاده کردن از گزینه‌های deployment از قبیل Container ها در اپلیکیشن‌های SPA به مراتب دشوارتر از وب اپلیکیشن های سنتی می باشد. از همین جهت می بایست قبل از تصمیم به پیاده سازی یک وب اپلیکیشن با SPA و استفاده کردن از قابلیت های خاص آن در رابطه با user experience و user interface برنامه این گونه از مشکلات نیز بررسی و در رابطه با آنها فکر شود.

فریم ورک Blazor

در ASP.Net Core 3.0 یک مدل جدید برای ساختن اپلیکیشن هایی که UI آنها به صورت تعاملی و قابل ترکیب هستند ایجاد شده است. این تکنولوژی بلیزر نام دارد. برای یادگیری بلیزر می توانید از بسته ی آموزش ویدئویی مباحث پیشرفته کامپوننت ها در بلیزر (Blazor) و بسته ی آموزش ویدئویی Authentication و Authorization در بلیزر (Blazor) و بسته ی آموزش ویدئویی بلیزر (Blazor) پیشرفته و ساخت برنامه های تجاری استفاده کنید. علاوه بر این آموزش متنی Blazor برای توسعه دهندگان ASP.NET Web Forms و بسته ی آموزش ویدئویی شروع به کار با Blazor در ASP.NET Core نیز در وب‌سایت پرووید می توانند برای یادگیری بلیزر مفید باشند. Blazor server-side اجازه می دهد تا برنامه نویسان بتوانند UI برنامه خود را با استفاده از Razor بر روی سرور ایجاد کند و سپس این کد به سمت مرورگر کاربر اجرا شده و با استفاده از WebAssembly و به صورت Client side اجرا بگردد. در رابطه با یادگیری Razor میتوانید از بسته ی آموزش ویدئویی Razor Pages در ASP.NET Core استفاده کنید. در حال حاضر در ASP.NET Core 3.0 میتوانید از Blazor server-side استفاده کنید. استفاده کردن از Blazor client-side در سال ۲۰۲۰ امکان پذیر خواهد بود.

تکنولوژی بلیزر یک گزینه سوم و جدید در اختیار ما قرار می‌دهد که در زمان ایجاد کردن وب اپلیکیشن هایی که به صورت server-rendered و یا SPA در ذهن می پرورانیم می تواند مورد استفاده قرار بگیرد. به عبارت دیگر علاوه بر اپلیکیشن‌هایی که تماماً در ثبت سرور اجرا می‌شوند و اپلیکیشن‌های SPA حال گزینه استفاده کردن از بلیزر نیز وجود دارد. با استفاده از بلیزر می توانیم اپلیکیشن هایی را ایجاد کنیم که شبیه به اپلیکیشن های SPA در سمت کلاینت بسیاری از کارها را انجام بدهند. البته در این نوع از اپلیکیشن ها با استفاده از بلیزر نیازی به استفاده کردن از جاوا اسکریپت نداریم. برای یادگیری جاوا اسکریپت از بسته ی آموزش ویدئویی جاوا اسکریپت استفاده کنید. با اپلیکیشن‌های بلیزر به سادگی می توانیم Request هایی را به API ها ارسال کرده و داده های مورد نیاز را دریافت کنیم و یا حتی عملیاتی را در سمت سرور اجرا نماییم. در رابطه با پیاده سازی Web API ها آموزش های متعددی بر روی وبسایت پرووید قرار داده شده‌اند که دو مورد از مهمترین آنها بسته ی آموزش ویدئویی ساخت Web API در ASP.NET Core 2.0 و بسته ی آموزش ویدئویی پیاده سازی مباحث پیشرفته RESTful API در ASP.NET Core 3 می‌باشند. در زمان استفاده کردن از بلیزر حتماً به دو نکته زیر توجه کنید:

1- زمانی از بلیزر استفاده کنید که واسط کاربری و یا user interface برنامه می بایست بسیار غنی باشند.

2- استفاده کردن از بلیزر در تیم های توسعه نرم‌افزاری پیشنهاد می‌شود که اعضای آن با توسعه نرم‌افزار در فضای دات نت بیشتر از جاوا اسکریپت و TypeScript آشنا هستند.

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