هیچ دوره ای در سبد خرید شما وجود ندارد
یکی از تکنولوژی های جدیدی که این روزها خیلی سر زبان ها افتاده و اکثر برنامه نویسان به دنبال یادگیری آن هستند ساخت وب سایت های تک صفحه ای یا Single Page Application هستند. این وب سایتها علاوه بر سرعت بهتر UI جذابتری را برای کاربران سایت به ارمغان می آورند. خب در این رابطه تکنولوژی ها و فریم ورک های جدیدی به وجود آمده است که برخی از آنها عبارتند از :
- Angular
- react js
- Vue js
شما با یادگیری فریم ورک های بالا و ترکیب آنها با پروژه های Asp.net Core قادر خواهید بود وب سایت های SPA ایجاد کنید. اما مطئنا اگر به دنبال یادگیری این فریم ورک ها رفته اید متوجه شده اید که یادگیری این فریم ورک ها و ترکیب آنها با Asp.net Core کاری بسیار پیچیده می باشد و در اکثر موارد باعث صرف نظر کردن برنامه نویس از یادگیری این فریم ورک ها شده است.
در دوره آموزش Blazor چه می آموزید ؟
- Blazor Web Assembly
- Blazor Server Side
- نحوه پیاده سازی قالب در Blazor
- کار با Entity Framework Core در Blazor
- کار با AutoMapper
پیش نیازهای دوره آموزش blazor چیست ؟
- اشنایی با Html-Css-JavaScript
- اشنایی با Asp.net core
- اشنایی با entity framework core
چه نرم افزارهایی در آموزش blazor webassembly استفاده شده است ؟
- Visual Studio 2022
- Sql Server 2019
Blazor چیست ؟
اگر برنامه نویس دات نت یا Core هستید قطعا علاقه زیادی به استفاده از فریم ورک های ساخت SPA دارید. اما از ادغام این فریم ورک ها با Asp.net Core بسیار اذیت شده اید یا در یادگیری فریم ورک های اشاره شده به مشکلات زیادی برخورد کرده اید. اما یک خبر خوب !!!
خوشبختانه بالاخره مایکروسافت دست به کار شده و با ارائه فریم ورک Blazor (بلیزور) امکان ایجاد وب سایتهای تک صفحه ای را برای برنامه نویسان خود فراهم آورده است.
انواع مدل Blazor
Blazor, یک فریمورک ساخت برنامههای وب توسط Microsoft است که امکان توسعه برنامههای وب با استفاده از C# و .NET را فراهم میکند. Blazor دارای چندین مدل اجرایی است که هر یک ویژگیهای خاص خود را دارند. اصلیترین مدلهای Blazor عبارتند از:
Blazor Server
اولین نسخه Blazor نسخهی سرور است. در این نسخه، تمام برنامهها روی کدهای ASP.NET Core میزبانی میشوند که با فرمت و سینتکس Razor قابل دسترسی هستند. برنامههایی که با استفاده از این نسخه از Blazor نوشته میشوند، میتوانند به راحتی با Thin Clients کار کنند و تمامی بخشهای پردازشی روی سرور انجام میشود. این موضوع میتواند باعث مصرف بیشتر منابع سرور شود، اما میتواند نقطهی قوتی باشد، زیرا کلاینتهای شما در کمترین حالت منابع، توانایی استفاده از این سیستم را دارند.
به این ترتیب، Blazor Server به توسعهدهندگان امکان میدهد تا برنامههای وب خود را با استفاده از زبان برنامهنویسی C# و مؤلفههای رابط کاربری بنویسند. این رویکرد مزایایی مانند استفاده از کد .NET در سرور، امکان بهرهگیری از اکوسیستم .NET و سهولت در توسعه برنامههایی با منطق کسبوکار پیچیده را به همراه دارد.
Blazor WebAssembly
Blazor WebAssembly امکان توسعه برنامههای وب با استفاده از زبان برنامهنویسی C# را فراهم میکند، بنابراین توسعهدهندگان میتوانند از تمام ابزارها و کتابخانههای موجود در اکوسیستم .NET در توسعه برنامههای وب خود استفاده کنند.
در Blazor WebAssembly، کد برنامه به صورت WebAssembly به کلاینت ارسال میشود و در مرورگر وب اجرا میگردد. WebAssembly یک استاندارد جدید و پرسرعت است که امکان اجرای کدهای سریع را در مرورگر فراهم میکند. این امر به Blazor WebAssembly این امکان را میدهد که بدون نیاز به پلاگینهای اضافی یا تکنولوژیهای مبتنی بر جاوااسکریپت، کد .NET را در مرورگر اجرا کند.
مزایای اصلی Blazor WebAssembly شامل استفاده از زبان C#، بهرهمندی از اکوسیستم .NET و امکان اجرا بر روی انواع مختلف پلتفرمها میباشد. این فریمورک به توسعهدهندگان امکان میدهد تا با بهرهگیری از مهارتهای موجود خود در توسعه برنامههای سمت سرور، برنامههای وب سمت کلاینت را نیز بنویسند. در مجموع، Blazor WebAssembly یک رویکرد جذاب برای توسعه برنامههای وب با استفاده از تکنولوژیهای .NET است که میتواند مزایای سرعت و بازدهی را به همراه داشته باشد.
ویژگی های Blazor WebAssembly
- عملکرد بالا: Blazor WebAssembly برنامهها را به WebAssembly کامپایل میکند، که به عملکرد و سرعت اجرای بسیار بالایی در مقایسه با JavaScript منجر میشود. این امکان انجام محاسبات سنگین را در برنامههای وب فراهم میکند.
- سازگاری با اکوسیستم .NET: فریمورک Blazor به توسعهدهندگان .NET این امکان را میدهد که از زبان C#، کتابخانهها و ابزارهای .NET برای توسعه برنامههای وب استفاده کنند. این موجب یکپارچگی بهتر با سایر بخشهای برنامه مبتنی بر .NET میشود.
- پشتیبانی در اکثر مرورگرها: Blazor WebAssembly برنامهها را بهصورت استاندارد وب منتشر میکند که میتوانند در همه مرورگرهای موجود که HTML و JavaScript پشتیبانی میکنند اجرا شوند.
- امکان استفاده از کد موجود: توسعهدهندگان میتوانند از هزاران کتابخانه و بستههای موجود در اکوسیستم .NET در برنامههای وب خود بهره ببرند.
- توسعه کاربردی:با Blazor میتوان برنامههای وب کاربردی و پیچیده را توسعه داد که شامل رابط کاربری پیشرفته، تعاملات آنی و قابلیتهای آفلاین میشود.
برخی از مزایای Blazor
برای یادگیری هر تکنولوژی یا فریم ورک در ابتدا باید مزایای یادگیری آن فریم ورک را بدانیم. یادگیری فریم ورک Blazor به دلایل زیر برای برنامه نویسان دات نت بشدت توصیه می شود.
- پیاده سازی این فریم ورک از طریق کدهای سی شارپ می باشد. به عبارتی برای یادگیری این فریم ورک نیازی به یادگیری TypeScript یا nodejs یا بسیاری از زبانهای سخت دیگر ندارید.
- برای استفاده از این فریم ورک نیازی به سرور اضافی مانند nodejs ندارید و همه کار از طریق خود Core انجام می شود.
- کدهای سی شارپ نوشته شده در این فریم ورک در نهایت تبدیل به کدهای Web Assembly می شود که سرعت اجرای بسیار خوبی دارد و یک استاندارد مورد تایید همه مرورگرها نیز می باشد.
- در استفاده از Blazor برای ایجاد SPA ها کدهای سمت سرور و سمت کلاینت هر دو سی شارپ می باشد. بنابراین هماهنگی بسیار خوبی بین کلاینت و سرور وجود دارد.
حاتم
جناب کلانتر چجوری میشه از دو تمپلت جداگانه در پروژه های blazor استفاده کنیم ؟
بهنام کلانتر مدرس دوره
سلام به لینک زیر مراجعه کنید کامل توضیح داده
https://stackoverflow.com/questions/71734735/add-multiple-separate-templates-to-the-blazor-app-server-side-project
asghar72 دانشجوی دوره
با سلام ..
استاد اگر اون قالب آماده رو که خودون تو پروژه استفاده کردید ُ فایل دانلودش رو سایت قرار میداید به همراه فیلم ها تا موقع تمرین ازش استفاده میکیردیم ُ خیلی بهتر میشد.
بهنام کلانتر مدرس دوره
سلام قالب در داخل فایل پروژه هست
mohamadz14
شما که به عنوان یک دولاپر با سابقه دارید تولید محتوای آموزش میکنید ، بد نیست که یکم روی تلفظتون بیشتر کار بکنید. تلفظاتون خیلی ضعیفه..
بهنام کلانتر مدرس دوره
سلام چشم
ashkanalamdari78 دانشجوی دوره
سلام
واقعا ارزیابی اساتید بر چه اساسی هست؟؟
وقتی استاد(بعید میدونم این واژه برای ایشون مناسب باشه) سواد تدریس و تسلط کافی ندارن چرا اجازه می دین که موضوع به این مهمی رو تدریس کنن.
مدرس هیج برنامه ای نداشت و سردرگم تدریس میکرد و سعی میکرد با تعریف از خود ضعف ها رو پوشش بدن.
سعید
متاسفانه صدا در فیلم مثل هم دوره های آموزشی آقای کلانتر بسیار ضعیف هست، اتلاف زمان در فیلم ها بسیار بالاست. همین دوره رو میشه با همین محتوا در نصف زمان فیلم آموزش داد. مطالب اصلا کاربردی نیستن و محتوا ضعیف هست. مدرس خودش به مطالب مسلط نیست اصلا.
AhmadrezaDarzi
دو تا قسمت رایگان میزاشتین نوع درس دادن رو متوجه میشدم
soheylakazemi
سلام دوست عزیز
وقتتون بخیر
سه قسمت اول از فصل 1 رایگان هستش و دموی دوره هم گذاشته شده میتونید مشاهده کنید
sunboy دانشجوی دوره
آقای کلانتر بهتر نبود آموزش رو طبق روال اصولی یک سایت واقعی پیش می بردی یعنی برای مدیریت یک صفحه جدا می زدی و یک قالب جدا ست می کردی ؟شما وقتی حرف از آموزش حرفه ای می زنید بهتره کارتون هم حرفه ای باشه انقدر خطاهای مبتدیانه و سطح پایین درحین کدنویسی دارید که حوصله دانشجو سر میره درحین دیدن آموزش مطالبی که تو آموزش شما هست خیلی کاملتر رو میشه بصورت رایگان در سایت های دیگر دانلود کرد اگر خواستید تو کامنت بعدی لینکشو بدم خدمتتون.
sunboy دانشجوی دوره
سلام آقای کلانتر من داشتم قالب تزریق می کردم به نکته عجیبی برخوردم یکیش اینه که هاور های css بدرستی کار نمی کنن(بعضی استایل ها اصلا کار نمی کنن در حالی که تو اینسپکت المنت بررسی کردم نمایش داده میشن) دوم اینکه لوادینگ مربوط به قالب اول صفحه گیر می کنه باید چندبار رفرش بشه تا قالب به درستی نمایش داده بشه آیا تداخلی وجود دارد که باعث این خلل میشه؟قالب رو کامل و بدرستی وارد کردم
sunboy مدرس دوره
آقای کلانتر بهتر نبود آموزش رو طبق روال اصولی یک سایت واقعی پیش می بردی یعنی برای مدیریت یک صفحه جدا می زدی و یک قالب جدا ست می کردی ؟شما وقتی حرف از آموزش حرفه ای می زنید بهتره کارتون هم حرفه ای باشه انقدر خطاهای مبتدیانه و سطح پایین درحین کدنویسی دارید که حوصله دانشجو سر میره درحین دیدن آموزش مطالبی که تو آموزش شما هست خیلی کاملتر رو میشه بصورت رایگان در سایت های دیگر دانلود کرد اگر خواستید تو کامنت بعدی لینکشو بدم خدمتتون.
medz
استاد كلانتر عزيز سلام
ضمن تشكر از زحمات جنابعالي همانطور كه ميدانيد صفحات SPA كه توسط Angular و react js و Vue js ساخته ميشود مشكل سئو دارند و در نتيجه جهت ساخت وب سايتهاي مثل فروشگاه اينترنتي مطلوب نيستند به هم دليل بايد آنها را SSR(Server Side Rendring) كرد كه هر كدام بصورتي است و هر كدام مشكلات خود را دارند. مثلا انگولار با چند خط كد SSR ميشود ولي قالب كه در آن استفاده ميشود حتما بايد فاقد اشياء جاوااسكريپتي باشد كه در مرورگر كلاينت ران مي شود و احتياج به DOM مرورگر دارند و همچنين نبايد در قالب از جي كوئري استفاده كرد و در ريكت جهت SSR بايد از Next.js استفاده كنيم و در Vue js هم از Nuxt.js كه آنها نيز مشكلات خود را دارند و مثلا بايد یک محیط node.js روی سرور بالا بیاريم و بخاطر محاسبات اضافه ای که روی سرور تحمیل میشه ، مقداری منابع بیشتر باید مصرف شود.
حال سوال بنده اين است كه آيا Blazor هم مشكل سئو دارد؟ و آنرا نيز بايد SSR كرد و اگر بايد كرد به چه صورتي است؟
با سپاس فراوان
بهنام کلانتر مدرس دوره
سلام دوست عزیز نظریه شما کاملا درسته متاسفانه blazor هم مانند فریمورکها مشکلات سئو رو دارد
ولی یک راه حلی در یکی سایت ها که قبلا دیده بودم براتون میذارم انشالله که مفید باشه براتون برای حل این مشکل :
https://medium.com/@srpeirce_67604/server-side-render-blazor-client-side-app-wasm-efd3d9d12a6c