سیر تکامل نحوه نمایش صفحات وب به این شکل بود که در ابتدا صفحاتی که کاربر درخواست میداد توسط سرور رندر میشد و به سمت کلاینت برمیگشت. این صفحات کاملا غیرتعاملی (non-intractive) بودند و اگر قصد داشتید محتوای صفحات را با مثلا کلیک کردن یا ثبت فرم و ... تغییر دهید، مجبور بودید کل صفحه html جدید را مجدد از سرور بگیرید.
کم کم JavaScript به واسطه ویژگیهایی که به صفحه اضافه میکرد باعث شد intractive بودن صفحات ایجاد شود و دیگر نیازی به جنریت کل صفحه از ابتدا نباشد. در ابتدا با امکاناتی مثل Ajax و ... این پویایی برای صفحات وب فراهم شد و در ادامه فریموورک و کتابخانههایی مثل React, Angular, Blazor و... اضافه شدند که پویایی صفحات را با ارائه مفهومی تحت عنوان SPA به اوج خود رساندند.
اخیرا دات نت در آخرین آپدیت خود (NET 8.) در بیلیزور این امکان را فراهم کرده تا شما بتوانید هر قسمت از صفحه را که میخواهید متناسب با نیاز خود از سرور صفحه بخواهید تا جنریت کند یا در خود مرورگر کاربر این کار انجام شود.
مثلا برای این که امتیاز SEO خوبی داشته باشید میتونید چند صفحه اول سایت را به شکلی تنظیم کنید که از سمت سرور رندر شوند و بقیه به حالت web assembly باشند. یا حتی کامپوننت خاص در صفحه را هم میتوانید به این صورت تنظیم کنید.
در ادامه انواع حالتها برای رندر کردن صفحه را با هم میبینیم:
Server:
@rendermode InteractiveServer
WebAssembly:
@rendermode InteractiveWebAssembly
Auto:
@rendermode InteractiveAuto
Streaming:
@attribute [StreamRendering(prerender: true)]
هر کدام از این حالتها مزایای خود را دارند و شما میتوانید بسته به نیاز خود از آنها استفاده کنید. برای فهمیدن این موضوع که کدام حالت مناسب شماست و همچنین برای مطالعه دقیق و عمیقتر این مباحث میتوانید از این لینکها ( 1 , 2 ) استفاده کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
__________