فهرست محتوا
طراحی سایت و ساخت برنامههای تحت وب از آن دست حوزههای برنامهنویسی است که باید گفت روشهای مختلف و زیادی برای آن وجود دارد که ممکن است در مسیر ورود به آن برنامهنویسان تازهکار را دچار سردرگمی کند. انتخاب زبان برنامهنویسی موردنظر برای راهاندازی یک سایت از آن دست مواردی است که میتواند کمی گمراهکننده باشد. اکنون که آپدیت این مقاله را در ابتدای سال 2022 انجام میدهیم، میتوان گفت که بازار برنامههای تحت وب در اختیار زبانهای جاوا اسکریپت و بعد از آن هم PHP است و با توجه به مسیری که در پیش گرفتهاند به نظر نمیرسد جاوا اسکریپت بخواهد به این راحتیها جایگاه اول را به کسی بدهد. هر چند که زبانهایی مانند PHP و ASP در ردههای بعدی قرار گرفتهاند. در این مقاله با بررسی اینکه Blazor چیست قصد داریم تا یکی از فریمورکهای طراحی سایت از مایکروسافت را به طور کامل بررسی کنیم.
در واقع باید در مورد Blazor گفت که با یکی از فریمورکهایی طرفیم که حاشیه و حرفوحدیث برای آن زیاد وجود دارد و باید گفت که خیلی از موارد اطلاعات ضدونقیضی به ما میرسد که این فریمورک یک فریمورک خوب و یا بدردنخور است. در این رابطه باید گفت شما هستید که در آخر تصمیمی میگیرید که این فریمورک برای شما خوب کار میکند یا خیر، اما اگر یک برنامهنویس #C هستید باید گفت که این فریمورک برای شما قابلیتهای خوبی دارد و بهتر است تا انتهای مقاله با ما همراه باشید. قبل از اینکه بهسراغ این موضوع که Blazor چیست برویم لازم است کمی در مورد اینکه دقیقا فریمورکها چه هستند و باید چه انتظاراتی را از Blazor داشته باشیم صحبت کنیم.
فریمورک چیست و چه کاری را برای ما انجام میدهد؟
اگر نگاهی به روشهایی که برای طراحی و ساخت برنامهها از آنها استفاده میشود بیندازید قطعا متوجه این موضوع خواهید شد که این روشها تغییرات زیادی را داشتهاند. در گذشته وقتی برنامهای در دستور کار ساخته شدن قرار میگرفت، برنامهنویسان مختلف روشهای مختلفی را برای این کار داشتند و این امر باعث افزایش پیچیدگی میشد و بعضا مشکلاتی در برنامه پدید میآمد. البته خیلی از این روشها و راهها نیز موثر بوده و برنامههای خوبی ساخته میشد.
اجتماع این روشهای خوب در کنار هم و استفاده از آنها به صورت یک اصل کمکم باعث شد تا الگوهای طراحی و همینطور کامپوننتهای Reusable یا همان مولفههای قابل استفاده مجدد پدید آیند. کدهایی که یک بار نوشته شده و چند بار مورد استفاده قرار میگرفتند. این مولفهها کمکم گستردهتر شده و کتابخانهها را به وجود آوردند. کتابخانهها مجموع فایلها و توابعی بودند که برنامهنویسان میتوانستند برای کارهای خود از آنها استفاده کنند و بهکارگیری این ماژولها میتوانست با جلو بردن کار باعث افزایش سرعت و جلوگیری از اختراع دوباره چرخ بشود.
کمکم این روشها نیز مانند ماژولها سیستماتیک شد و الگوهای طراحی به وجود آمدند. الگوهای طراحی روشهایی بودند که به صورت ثابت میتوانستند در راهاندازی یک برنامهی خاص به برنامهنویسان کمک کنند. از معروفترین و مهمترین این الگوها میتوان به برنامهنویسی MVC اشاره کرد که سه مولفهی نرمافزاری، مدل، نما و کنترلر را بهکار میگرفت و یکی از اصلیترین المانها در طراحی سایت به شمار میآمد. ترکیب الگوهای طراحیای مانند MVC و ماژولهای آماده و کتابخانههایی که میتوانستند این ماژولها را ارائه کنند باعث پیدایش عنصری به نام فریمورک شد.
فریمورک در لغت به معنی چارچوب است. به این صورت که شما برای طراحی یک سایت و یا ساخت یک برنامهی کامپیوتری میتوانید با استفاده از یک زبان برنامهنویسی خاص مانند PHP و دنبال کردن مسیری که الگوهای یک فریمورک برای شما تعیین میکنند و ماژولها و امکاناتی که فراهم میکنند، یک محصول نرمافزاری را بهسادگی ارائه کنید.
اگر دقت کرده باشید وقت صحبت از طراحی سایت و فریمورکهای آن به میان میآید معمولا اولین گزینههایی که معرفی میشوند مربوط به زبان PHP هستند که به عنوان مثال میتوان از آنها فریمورکهای سیمفونی، لاراول و Yii را نام برد که در مقالههای لاراول چیست، سیمفونی چیست و فریم ورک Yii چیست به بررسی این فریمورکها پرداختیم و دیدیم که چه کارهایی از آنها ساخته است. اما باید گفت که PHP تنها زبان ارائهکننده این فریمورک ها نیست و مایکروسافت نیز برای زبانها و استانداردهای خود کارهایی کرده است و دست روی دست نگذاشته است.
یکی از این فریمورکها که زیرمجموعهی فریمورک بزرگ Net. میباشد Blazor نام دارد و در ادامه به بررسی آن میپردازیم.
Blazor چیست؟
برای اینکه بتوانیم به صورت کامل به بررسی این مورد که Blazor چیست بپردازیم لازم است که کمی در مورد فریمورک بالادستی آن یعنی Net. صحبت کنیم و ببینیم که این فریمورک چیست و چه کارهایی را میتواند برای ما انجام دهد؟ NET. را میتوان یک گام بزرگ برای مایکروسافت دانست که در آن محصول خود را به سمت اوپنسورس هدایت کرد و برای بار اول در این مقیاس وارد این دنیای بزرگ و بیانتها از برنامهنویسی شد.
ساخته برنامهها و سایتها با زبانهای سمت مایکروسافت در ایران یک امر متداول بود که با استفاده از پلتفرم ASP و زبان محبوب #C این اتفاق میافتاد و بیشتر کاربرد خود را مدیون این فرهنگ بود که برنامهنویسان ایرانی خود را درگیر کپی رایت نمیکنند و همینطور کاربران هم برای لایسنسها مگر در مواقع حساس ارزشی قائل نیستند، پس برنامهنویس از هر آنچه که لازم باشد به بهترین شکل برای رشد برنامهی خود استفاده میکند. اما باید بگوییم که این زبانهای به ظاهر محبوب در جهان حرفی برای گفتن نداشتند و انحصاری نگه داشتن این پلتفرم باعث شده بود که همه تواناییهای آن ادعایی بیش نباشد.
مایکروسافت گامی بزرگ برای اثبات ادعای خود برداشت و در دومین تجربه Open Source کار کردن خود NET. را که بزرگترین بسته نرمافزاری و پلتفرم مایکروسافت به حساب میآمد را به همراه IDE معروف خود یعنی Visual Studio به صورت رایگان ارائه کرد. اولین تجربه اوپنسورس مایکروسافت بهزمان انتشار TypeScript باز میگردد که یک سینتکس برای استفاده از جاوا اسکریپت است و البته به پیشرفتهای خوبی از نظر کاربرد دست پیدا کرده است اما در بعضی از موراد سختیهای خود را دارد و کار با آن ظرافتهایی دارد که ممکن است در ابتدای کار برنامهنویس را کمی سردرگم کند.
در پاسخ به این سوال که Blazor چیست باید بگوییم یک فریمورک است که به شما این امکان را میدهد تا یک سایت اینترنتی را با استفاده از زبان #C و پلتفرم ASP.NET به صورت کامل طراحی کرده و تمامی امکانات لازم برای این کار را در اختیار شما قرار میدهد. در واقع در پاسخ به این سوال که رسالت اصلی Blazor چیست باید بگوییم قرار است نقش یک ارائهدهنده خدمات به تولیدکنندگان وب را برای مایکروسافت بازی کند و تا اینجای کار را هم توانسته عملکرد خوبی را از خود به نمایش بگذارد و امکانات خوبی را به برنامهنویسان خود ارائه کند.
اکنون که میدانیم در واقعیت Blazor چیست و چه کاری را انجام می دهد بهتر است که یک تعریف کتابی و تخصصی هم از آن ارائه کنیم. میتوانیم بگوییم یک فریمورک رایگان و اوپنسورس است که به برنامهنویسان این امکان را میدهد که با استفاده از زبانهای #C و HTML برنامههای وب را بسازند. و همچنین این فریمورک توسط مایکروسافت ارائه شده و پشتیبانی میشود. اگر بخواهیم بگوییم تاریخچه Blazor چیست و از چه زمانی سروکلهاش پیدا شده است؟ باید به سال 2018 اشاره کنیم که این برنامه به NET. ملحق شد و سورس کد آن در گیت هاب منتشر گردید.
SPA، مهمترین هدف Blazor
در بخش قبلی دیدیم که Blazor چیست و قرار است چه نقشی را در استراتژیهای مایکروسافت بازی کند. اکنون نوبت به این رسیده است که به بررسی این موضوع بپردازیم که قرار است این کار را با استفاده از چه تکنیکهایی انجام دهد. در واقع هدفی که Blazor برای آن رشد و تکامل پیدا کرده این است که بتواند UI یک سایت را بر اساس پایههای NET. طراحی کند. اگر بخواهیم بگوییم که جزئیات کار Blazor چیست باید به این موضوع اشاره کنیم که قرار است کاری مانند Angular و React انجام دهد و کتابخانههای مورد نیاز را برای Single Page Applicationها را در اختیار برنامهنویسان قرار دهد.
البته تفاوتهایی در مورد روند کار Blazor با این کتابخانههای بزرگ وجود دارد و آن این است که در آخر قرار نیست این کدها به Java Script ترجمه شود. روند کار در Blazor به این صورت است که شما برنامهنویسی را با استفاده از کدهای #C انجام میدهید و این کدها در آخر به وب اسمبلی ترجمه میشود. این کدهای وب اسمبلی این امکان را خواهند داشت که در مرورگر کاربر نهایی و یا دستگاهی که روی آن نصب میشوند مورد استفاده قرار گیرند و بهصورت کامل اجرا بشوند.
اکنون که میدانیم Blazor به چه صورت کار میکند لازم است تا بیشتر با انواع آن آشنا شویم و باید بدانیم که این فریمورک از فریمورکهایی نیست که صرفا یک روش را در اختیار برنامهنویسان قرار دهد. در ادامه به بررسی کامل این موضوع که انواع مختلف Blazor چیست خواهیم پرداخت.
انواع Blazor چیست؟
یکی از مهمترین اصولی که در زمان طراحی یک فریمورک دنبال میشود این است که اگر تغییراتی در ساختار ایجاد شود، چه بهینهسازیهایی میتواند روی محصولات نهایی انجام شود و فریمورک در چه صورت بهتر عمل میکند. این تفکر ممکن است باعث شود که تغییراتی روی ساختار فریمورک اعمال شود و بعضا انواع ورژنهای مختلفی از فریمورک ایجاد شود که بیشتر به حالت Mode معرفی میشوند و شامل روشهای جدا برای استفاده از کتابخانهها هستند. Blazor یکی از سیستمهایی است که این اتفاق روی آن افتاده است.
به طور کلی میتوانیم بگوییم که دو ویرایش مختلف از Blazor وجود دارد که برنامهنویسان باید با توجه به نیازی که دارند و محصول نهایی که میخواهند تولید کنند از نسخه و ویژگیهای Blazor مناسب خود استفاده کنند. در پاسخ به اینکه انواع Blazor چیست میتوان به این موارد اشاره کرد:
Blazor Server
اولین نسخهای که میتوان به آن اشاره کرد نسخهی سرور است. وقتی که شما با استفاده از این نسخه برنامههای خود را بنویسید کلیهی برنامهها روی کدهای ASP.NET Core میزبانی میشود که با فرمت و سینتکس Razor قابل دسترسی میباشد. برنامههایی که با استفادهی این نسخه از Blazor نوشته میشوند میتوانند به راحتی با Thin Clientها کار کنند و تمامی بخشهای پردازشی روی سرور انجام میشود. البته این موضوع باعث میشود تا منابع سرور مصرف شود اما میتوانید از این موضوع که کلاینتهای شما در کمترین حالت منابع توانایی استفاده از این سیستم را دارند خود میتواند نقطهی قوت بزرگی برای شما باشد.
Blazor WebAssembly
در مورد اینکه کارکرد این بخش از فریمورک Blazor چیست باید بگوییم که در اینجا شما صفحههایی را به صورت SPA خواهید داشت و به این صورت کار خواهند کرد که این صفحهها روی کلاینت شما دانلود شده و بعد از آن مرورگر وب آنها را برای شما ران خواهد کرد. در این حالت کار به این صورت دنبال خواهد شد تا زمانی که صفحه به طور کامل روی سیستم شما نیامده است چیزی به کاربر نمایش داده نمیشود.
این مورد، هم میتواند خوب باشد و هم بد. خوبی آن از این نظر است که وقتی صفحه به کاربر نمایش داده میشود صفحه کامل و آماده بهکار است و کاربر بهراحتی میتواند از آن استفاده کند. اما اگر بخواهیم بگوییم که جنبهی بد این بخش از Blazor چیست باید گفت که در صورتی که مدت زمان زیادی برای دانلود صفحه طول بکشد، کاربر ممکن است صفحه را ترک کند و هرگز کار به آنجایی که باید از برنامه استفاده شود نکشد. به طور معمول میتوانیم بگوییم که استفاده از این نوع برنامهنویسی داستانهای خود را به همراه دارد و بستگی به سیاستی دارد که شما برای سایت خود در نظر خواهید داشت.
اما در مورد کیفیتی که کار با این برنامهها ارائه میکنند میتوان گفت که با یکی از کمترین زمانهای پاسخدهی یا همان Response Time سروکار داریم و اینگونه سیستمها بهراحتی میتوانند پردازشها را با استفاده از منابع سیستم انجام دهند و یک کیفیت خوب را در اختیار کاربران خود بگذارند. با توجه به قابلیتهای ویژهای که این مورد میتواند ایجاد کند، Blazor میتواند یک پتانسیل خوب را برای تولید برنامههای PWA داشته باشد که در ادامه به آنها میپردازیم.
Blazor PWA، پروژهی جدید مایکروسافت
یکی از امکانات ایدهآل برای طراحی برنامههای وب استفاده از مکانیزم PWA یا همان برنامههای وب پیشرونده (Progressive Web Application) هستند که در سال 2015 توسط گوگل ارائه شدند. در این نوع از برنامهها یک ویژگی بزرگ وجود داشت و آن این بود که برنامههای وبسایتها این امکان را داشتند که دقیقا مانند یک برنامهی نصب شده روی سیستم اجرا شوند و حتی از امکانات و منابع سیستم نیاز برای پردازش استفاده کنند.
یکی از ویژگیهایی که برنامههای نصب شده یا همان برنامههای نیتیو داشتند و بهعنوان یک نقطه قوت و برتری نسبت به وب اپلیکیشنها به حساب میآمد، وجود قابلیتهای خوبی برای بهرهمندی از امکانات سختافزاری مانند دوربین و نوتیفیکیشنها بود که این نوع از برنامهها توانستند از شیوههایی استفاده کنند که این قابلیت برنامههای نیتیو را نیز بدست بیاورند. همینطور قابلیت استفاده از سرویس ورکر که به برنامه PWA این امکان را میدهد که یک هستهی پردازشی را ایجاد کند و از منابعی مانند رم و سیپییو سیستم کلاینت استفاده کند، یکی از ویژگیهایی است که در پاسخ به قابلیتهای نوع PWA از Blazor چیست میتواند مطرح شود.
اما اگر بخواهیم بگوییم که مهمترین ویژگی در مورد برنامههای PWA روی Blazor چیست باید به امکان استفاده از Application Shell اشاره کنیم که مایکروسافت در حال گسترش آن است و به این برنامهها اجازه میدهد که با یک قالب خاص روی کلاینت نمایش داده شوند. بعضا این قالبها امکان تغییر رنگبندی و تم رنگ و همینطور فونت را نیز دارند. در مقاله PWA چیست به صورت کامل به ویژگیها و مزایایی که این برنامهها میتوانند داشته باشند پرداختهایم و جهت اطلاعات بیشتر میتوانید به آن مراجعه کنید.
اکنون به صورت کلی میدانیم که این فریمورک قرار است برای ما چه کارهایی را انجام دهد و مسیر پیش روی آن به چه سمتی میرود، حال نوبت به این رسیده است ببینیم که استفاده از آن میتواند برای برنامهنویسان مناسب باشد و آیا انتخاب این فریمورک برای طراحی سایت کاری عقلانی است یا خیر و اگر روی آن وقت و انرژی بگذاریم برای ما سودی خواهد داشت؟ در ادامه مزایایی که این فریمورک برای برنامهنویسان دارد را بررسی میکنیم.
مزایای Blazor چیست؟
در مورد این فریمورک که پردردسر به نظر میرسد باید گفت که هر چند معمولا زبانهای مایکروسافتی دردسرهایی را دارند، و برنامهنویسی با فریمورکهای آنها کار دشواری است اما Blazor مزایایی را ارائه کرده است که در این بخش آنها را بررسی میکنیم. در مورد این مزایا باید گفت که بیشتر آنها حول محور برنامههای کامپایل شده و برنامههایی که با یک زبان برنامهنویسی قدرتمند مانند #C و ASP نوشته میشوند، میچرخد و از خود آنچنان چیز دندانگیری را ارائه نمیکند.
در صورتی که بخواهیم مزایایی که برای این فریمورک وجود دارد را لیست کنیم میتوانیم به این موارد اشاره کنیم:
سرعت سایت و برنامههای ساخته شده
یکی از موارد مهمی که میتوان آن را از بهترین و بالاترین مزایای استفاده از Blazor برای طراحی سایت معرفی کرد این است که در آخر سایت و برنامهای سریع به شما تحویل میدهد که میتوان گفت از نظر سرعت میتواند بدون مشکل کار کند و با توجه به اهمیتی که سرعت در بازدهی و در موادی مانند سئو و رضایت کاربران و همینطور موتورهای جستوجو دارد، میتواند این امتیاز را برای شما داشته باشد که سایتی که در آخر طراحی میکنید یک سایت کاربردی و خوب در بازدهی است.
از همین رو هم میتوان گفت که شما میتوانید قیمت خود را بالاتر ببرید و هم بازار کار خوبی برای پروژههای بزرگ و درستوحسابی که توجه زیادی را به بازدهی دارند و از نظر مالی نیز محدودیتی ندارند برای این فریمورک ایجاد خواهد شد و اگر بخواهیم رویهمرفته بگوییم که فایدهی این مزیت از Blazor چیست باید گفت که در آخر کار تمیز و سریعی ارائه میکند که خیلی از پروژههای خوب به دنبال آن هستند.
کارکرد خوب روی سرور
یکی دیگر از موارد مهم که باید به آن هم توجه داشته باشیم این است که کارکرد Blazor با سرور یک مورد کاملا سازگار خواهد بود و از آنجا که هم زبان برنامهنویسی این سایت و هم زبان سرور یکی هستند با سازگاری کامل با این سرورها کار میکند و مشکلی از این بابت ندارد.
تمامی مزایایی که در مورد یک سایت سریع در مورد قبلی بررسی کردیم برای این مورد نیز سازگار میباشد. البته این سازگاری منوط به این است که این سایت روی یک سرور ویندوزی پیادهسازی شود که البته باید گفت این عدم انعطافپذیری کمی دردسرساز خواهد بود. اما در کل باید گفت که کیفیت کار نهایی را بالا خواهد برد.
برنامهنویسی با #C
یکی دیگر از مزایای که میتوان برای Blazor معرفی کرد این است که شما میتوانید با استفاده از زبان #C که خیلی از برنامهنویسان با استفاده از آن کار میکنند سایتهای خود را طراحی کنید و در این خصوص باید گفت که نیازی نیست که زبان جدیدی را یاد بگیرید. در واقع باید گفت که Blazor یکی از فریمورکهایی است که صرفا برای راحتی برنامهنویسانی که با زبان های #C و زبانهای مایکروسافتی کار میکنند ارائه شده است و به نوعی یک ابزار کمکی برای آنها بهحساب میآید که راحتتر روی NET Core. کار طراحی سایت را انجام دهند و باید گفت که ظاهرا توانسته نظر آنها را به خود جلب کند.
در کنار این مزایای که تاکنون بررسی کردیم، معایبی نیز برای این سیستم وجود دارد که لازم است قبل از اینکه به سراغ کار کردن با آن بروید حتما در مورد آنها اطلاع داشته باشید و بدانید که دقیقا به چه میدانی پا میگذارید. در ادامه معایب فریمورک Blazor را بررسی میکنیم.
معایب Blazor چیست؟
در رابطه با معایب Blazor میتوانیم یک فهرست طولانی را نام ببریم و در صورتی که شما کمی در مورد بدیها و معایب Blazor در وبلاگهای معتبر خارجی جستوجو کنید، قطعا این موضوع را متوجه خواهید شد که در خیلی از مواقع این فریمورک یک فریمورک بدردنخور تلقی شده است و اصلا بد بودن یکی از ارکان پایهای در مورد این فریمورک است که خیلی از برنامهنویسانی که با آن آشنا هستند آن را قبول دارند. البته باید گفت اوضاع Blazor آنقدرها هم بد نیست و برای برنامهنویسان ویندوزی خوب بوده است. اما فقط برای کسانی که با #C و ویندوز کار میکنند!
در این خصوص باید گفت متاسفانه خیلی از موارد مختلف از جمله برنامهنویسی با سبک و سیاق ویندوزی و ناسازگاریها با سرور لینوکسی و دردسرهای سرورهای ویندوزی و وجود مکانیزمهایی مانند ارتباط فعال و Active بین کاربر و سرور این فریمورک را در صحنه رقابت با فریمورکهای مطرح کنار زده است. در صورتی که بخواهیم بگوییم مهمترین ایرادات Blazor چیست میتوانیم به این لیست اشاره کنیم:
سرورهای ویندوزی
یکی از معایبی که اغلب برای Blazor معرفی میشود سرورهای ویندوزی است که میتوانند دردسرهای زیادی را برای مدیریت داشته باشند و معمولا کاری پیچیده نیاز دارند و همینطور لازم است که شما هزینههای زیادی را برای این سرورها بپردازید، زیرا سیستمعاملهای آنها به صورت پرمیوم میباشد و ویندوز سرور مانند سیستمعاملهای لینوکسی سنتاواس و یا اوبونتو رایگان نیست. البته با استفاده از سرویسهایی مانند هاست ویندوز میتوانید به یک سرویس اقتصادی و خوب برای این کار دسترسی داشته باشید. اما باید گفت که Blazor در کل دردسرهای سرورهای ویندوزی را به گردن ما خواهد انداخت و این موارد را به ما تحمیل میکند.
پیچیدگیهای استفاده از کتابخانهها
یکی از موارد مهمی که در مورد معایب این فریمورک میتوان به آن اشاره کرد، پیچیدگیهای استفاده از کتابخانهها و مولفههای قابل استفاده مجددی است که NET. در اختیار کاربران خود قرار میدهد. در این رابطه باید گفت که پیادهسازی خیلی از این کدهای کاربردی که NET. ارائه میکند، روی محیط برنامهنویسی Blazor با دشواریهای زیادی مواجه است و نمیتوان آنطور که انتظار میرود از آنها استفاده کرد.
پس باید گفت که هر چند شما در این فریمورک میتوانید کار برنامهنویسی و طراحی سایت را با #C انجام دهید، اما آن ابزارهای کاربردی و حرفهای خود را که همیشه در سایر محیطهای برنامهنویسی NET. از آنها استفاده میکردید، نمیتوانید همراه خود داشته باشید و به کار رفتن آنها برای شما دردسرهای زیادی را به همراه دارد.
ارتباط فعال با سرور
یکی دیگر از معضلاتی که Blazor با آن دستوپنجه نرم میکند و در معماری اصلی آن هم وجود دارد این است که سایتهایی که با آن میسازید به این صورت عمل میکنند که برای هر کاربری که روی سایت وجود دارد یک ارتباط فعال و Active را روی سایت خواهد داشت و برای این کار باید گفت که Blazor مصرف منابع و پهنای باند بالایی را نیاز دارد. به همین دلیل در صورتی که اتفاقی برای ارتباطات اینترنتی بیفتد ممکن است خیلی از اطلاعاتی که کاربر در حال وارد کردن آنها بوده از بین برود و کلا باید گفت که قابلیت اطمینان را پایین میآورد.
با وجود این مانع وقتی که کاربران بخواهند از این سایت استفاده کنند و ارتباط اینترنت ضعیف شود و سرور دچار مشکل شود، همهی کاربران ارتباط خود را به یکباره از دست خواهند داد و دردسرهای زیادی ایجاد میشود. این در حالی است که در سایتهایی که با زبانهای دیگر مانند PHP نوشته شده باشد، وقتی که ارور سمت سرور ایجاد شود، تنها بعضی از کاربران این ارور را میبینند و سایت را به یکباره داون نمیکند.
تاخیر بالا برای ارتباط با سرور
یکی دیگر از معایبی که خیلی از برنامهنویسان را شاکی کرده است، ارتباطگیری با سرور است که با تاخیر بالایی این اتفاق میافتد و میتواند دردسرهای زیادی را برای ما ایجاد کند. در واقع ارتباط با سایتهای طراحی شده با این فریمورک در اولین بار که میخواهند کانکت شوند بالا خواهد بود و این موضوع میتواند منجر به فراری شدن کاربران از سایت ما شود و به نوعی کاربران بیحوصله کیفیت پایینی از سایت ما دریافت خواهند کرد.
مقیاسپذیر نبودن
تیر خلاصی که میتوان به معایب Blazor زد این است که برعکس خیلی از برنامههای ویندوزی و فریمورکهایی که برای نوشتن برنامهها در این زبان وجود دارد، محصول نهایی ما یک فریمورک مقیاسپذیر یا Scalable نیست و میتواند دردسرهای زیادی را برای ما ایجاد کند. در صورتی که تعداد کاربرانی که از این فریمورک استفاده میکنند بیشتر شود و بهصورت تصاعدی افزایش پیدا کند، آنچه که ما طراحی کردهایم و منابعی که برای این کار در نظر گرفتهایم دیگر جوابگوی این مورد نخواهند بود.
در این صورت میتوان گفت که راهاندازی یک کمپین تبلیغاتی سایت که با Blazor راهاندازی کردهایم را دچار مشکل میکند و محاسبات ما به هم میریزد. ازاینرو میتوان گفت که Blazor هر چند که پشتوانهی قوی و کاربردی مایکروسافت را با خود به همراه دارد اما به این راحتیها نمیتوان از آن استفاده کرد و چندان فریمورک قابل اعتمادی نخواهد بود.
نتیجهگیری
در این مقاله به بررسی اینکه Blazor چیست و این فریمورک قرار است چه کاری را برای ما انجام دهد پرداختیم. به صورت کلی میتوان گفت که این فریمورک حاصل تلاشهای مایکروسافت برای داشتن یک فریمورک قوی برای برنامههای تحت وب است. انواع فریمورک Blazor در این مقاله بررسی شد و دیدیم که نقشهی مایکروسافت برای آینده Blazor چیست و چگونه برای گسترش آن در حال پیادهسازی امکانات PWA روی این فریمورک میباشد. رویهمرفته میتوان با توجه به قابلیت وب اسمبلی این فریمورک را یک گزینه ایدهآل برای برنامهنویسان #C دانست که به راحتی میتوانند برنامههای تحت وب را با استفاده از آن پیادهسازی کنند.
1 دیدگاه. Leave new
سلام تشکر از این مطلب
با ورژن 8 دات نت معایب گفته شده برطرف شده
من هم با ورژن های قدیمی مشکلاتی میدیدم اما که در دات نت 8 همگی به خوبی برطرف شده
این جمله درست نیست شاید در دانت نت های قبلی : در صورتی که تعداد کاربرانی که از این فریمورک استفاده میکنند بیشتر شود و بهصورت تصاعدی افزایش پیدا کند، آنچه که ما طراحی کردهایم و منابعی که برای این کار در نظر گرفتهایم دیگر جوابگوی این مورد نخواهند بود.