Microsoft Blazor: الميزات الرئيسية لتطوير الويب التفاعلي في .NET

Microsoft Blazor: الميزات الرئيسية لتطوير الويب التفاعلي في .NET

توفر Microsoft أداة لتطوير تطبيقات Android و iOS أصلية عبر لغات البرمجة مثل .NET أو C #.

يهدف Microsoft Technology Associate إلى تسهيل مطوري dot net للاستفادة من إمكانات أحدث مجموعة أدوات Blazor لإنشاء تطبيقات الويب أو تطبيقات iOS / Android الأصلية. أعلنت Microsoft عن "مبنى Blazor" تجريبي لـ Blazor وهي ميزة لمنصة ASP.NET تتيح للمطورين إنشاء تطبيقات ويب تفاعلية وواجهة مستخدم بمساعدة C # بدلاً من JavaScript. يتيح لهم ربط المكونات هذا إنشاء تطبيقات جوال أصلية باستخدام .NET أو C # لنظام Android أو iOS بمساعدة برمجة الويب المألوفة.

في عام 2019 ، عرضت Microsoft حلاً باستخدام نفس التقنية التي طورت من خلالها تطبيق Flutter لسطح المكتب ، مخصص للجوال ومكتوب في dart ولكن بدلاً من ذلك بمساعدة Blazor و .NET. Microsoft Blazor هو إطار عمل تجريبي لواجهة مستخدم الويب بواسطة ASP.NET يهدف إلى جلب التطبيقات عبر جميع المتصفحات من خلال WebAssembly. يسمح للمطورين بإنشاء تطبيقات كاملة حقيقية ومشاركة التعليمات البرمجية عبر العملاء والخوادم دون أي متطلبات من المكونات الإضافية أو الترجمة. تقوم Microsoft بتجربة النظام الأساسي لتلبية متطلبات المطورين الذين هم على دراية بأساسيات برمجة الويب وأنماط إنشاء تطبيقات أصلية. في هذه المقالة ، سنستكشف كيف يُحدث Microsoft Blazor ثورة في خدمات تطوير مواقع الويب في .NET.

لماذا بليزر هي الدعاية الجديدة؟

Microsoft Blazor هو أحدث إطار عمل لواجهة المستخدم من جانب العميل مشتق من مجتمع ASP.NET. يتمثل أكبر جانب بيع لهذا النظام الأساسي في قدرته على تطوير تجارب واجهة مستخدم ويب ثرية بمساعدة CSS أو HTML أو C # بدلاً من JavaScript. إنه يحتوي على كل ما كان يحلم به معظم المطورين لفترة طويلة. بصفتك مطورًا أو مساعدًا لموقع Microsoft على الويب ، إذا كنت تواكب التطورات الجديدة في مجال ASP.NET على مدار السنوات القليلة الماضية ، فقد سمعت بالتأكيد عن Blazor. كان إطار عمل JavaScript هو الإجراء الفعلي منذ إنشائه لتطوير الويب للواجهة الأمامية ولم يبد أبدًا أن المطورين سعداء به. وكان هناك العديد من عمليات التحويل والمجموعات الفائقة التي ظهرت على مدار العامين الماضيين مثل Dart و CoffeeScript و Elm و Scala وما إلى ذلك من أجل تحسين نظام JavaScript الأساسي وجعله أكثر قابلية للصيانة. ومع ذلك ، فقد بدأت Blazor العملية بالفعل نظرًا لإمكانية كونها منصة برمجة فعالة وعالية الإنتاجية بخلاف تصميمها الأصلي وتثبت أنها معاصرة مباشرة لأطر تطوير تطبيقات JavaScript ذات الصفحة الواحدة. الأهداف الأساسية لهذا الإطار هي-

  • إنشاء تطبيقات ويب / واجهة مستخدم غنية وتفاعلية بمساعدة C # بدلاً من JavaScript

  • مشاركة أو تجميع منطق التطبيق من جانب الخادم أو العميل الذي تم تطويره في إطار عمل .NET

  • تقديم CSS و HTML لواجهة المستخدم لدعم المستعرض الذي يشمل متصفحات الهاتف المحمول

  • دمج أحدث منصات الاستضافة مثل Docker وغيرها الكثير.

إطار عمل Blazor هو حل لتطوير التطبيقات من صفحة واحدة يسمح للمستخدمين ببناء واجهة مستخدم ويب تفاعلية بمساعدة C # بدلاً من JavaScript. مستوحى من أطر عمل JavaScript مثل Angular أو Vue أو React ، فإنه يستخدم مفاهيم مماثلة لتطوير حلول تفاعلية. تم تطوير أي تطبيق Blazor من المكونات القابلة لإعادة الاستخدام لـ Razor ، أي بناء جملة الترميز لـ C # و HTML. مع Blazor ، تشارك Microsoft العديد من التجارب الجارية والتنقل فيها باستخدام أفضل تطبيقات سطح المكتب بمساعدة Web Window. ولكن أحدثها لتطوير تطبيقات الأجهزة المحمولة الأصلية هو المكان الذي يتم فيه إقران برمجة Blazor مع عناصر تحكم Xamarin.

اقرأ المدونة- تعمل Microsoft على زيادة عملها لاستهداف تطوير تطبيقات الأجهزة المحمولة باستخدام Blazor

ما الذي يجعل Blazor منصة مرنة لأفضل شركة لتطوير مواقع الويب؟

Blazor عبارة عن هندسة حيث أنه يحتوي على الفصل بين كيفية عرض التغييرات وكيفية حساب نماذج مكونات واجهة المستخدم أو تغييرات التطبيق. تميز هذه الميزة هذا النظام الأساسي بعيدًا عن معاصريه ، أي أطر تطوير واجهة المستخدم الأخرى مثل ReactJS أو Angular أو React Native التي يمكنها فقط تطوير تقنيات الويب بناءً على واجهات المستخدم. من خلال استخدام عروض متعددة لتطوير الحلول ، لا تستطيع Blazor تطوير المكونات المستندة إلى الويب فحسب ، بل يمكنها أيضًا تطوير واجهات مستخدم محمولة أصلية. بالإضافة إلى ذلك ، لا يتطلب تطوير المكونات بشكل مختلف ، وبالتالي لا يمكن استخدام المكونات التي تم تطويرها لعارضات الويب جنبًا إلى جنب مع عروض الأجهزة المحمولة الأخرى. لكن نموذج البرمجة يظل كما هو ، مما يعني أنه بمجرد أن يصبح المطورون على دراية بهذا النموذج يمكنه بسهولة إنشاء واجهات مستخدم بمساعدة أي عارض. مكونات نموذج التطبيق الخاص بها هي-

  • عارض WebAssembly

  • التقديم عن بعد

  • عارض الإلكترون

  • موبايل Blazor Binding Renderer

نموذج الاستضافة - يعتبر نموذج Blazor AP في جوهره مسؤولاً عن حساب تغييرات واجهة المستخدم والحفاظ عليها عبر خدمات تطوير ASP.NET. ومع ذلك ، يمكن للمطورين أيضًا استخدام أجهزة عرض أخرى للتحكم في العرض والتحديثات. يشار إلى نماذج عارض التطبيقات هذه في الغالب باسم نماذج الاستضافة ، وفي وقت التطوير عادة ما تكون هناك أربعة نماذج في Blazor. هم انهم-

  • خادم Blazor

  • BlazorWebAssembly

  • بلازور الكترون

  • ربطات بليزر

من بين هذه النماذج ، يعد Blazor Server هو النموذج الوحيد المصنف على أنه الإنتاج المدعوم أثناء وقت الكتابة ، بينما تم تمييز Blazor Bindings و Electron كنماذج مدعومة تجريبياً.

Microsoft Technology Associate: ميزات Blazor

لقد تم بالفعل الإعلان عن أن عام 2020 سيكون بالتأكيد ذروة نجاح مايكروسوفت بلازور وقريبًا سيصبح سائدًا. النظام الأساسي بسيط حقًا وسهل الاستخدام لأنه يجمع بين راحة Razor (متصفح + Razor) جنبًا إلى جنب مع مفاهيم ASP.NET. قام Blazor أيضًا بتبسيط الأنماط المذهلة عبر أطر عمل JavaScript الشائعة مثل React أو Angular جنبًا إلى جنب مع الاستفادة من القوالب التي تقدمها اتفاقيات Dotnet أو Razor. Blazor عبارة عن نظام أساسي مذهل يسهل إنشاء واجهات مستخدم ويب تفاعلية من جانب العميل بمساعدة إطار عمل ASP.NET. بمساعدة منصة Blazor ، يمكن للمطورين إعادة استخدام المكتبات والأكواد من أي قطاع من تطبيقات الخادم. نظرًا لأنه يستخدم أيضًا إطار عمل ASP.NET لتطوير تطبيقات تفاعلية من جانب العميل ، فإنه يعتمد على مجموعة قوية بالفعل من الأطر والمكتبات. بعض الميزات المفيدة لهذه المنصة التي تميزها هي-

  • يحتوي على الكثير من مكونات واجهة المستخدم المعدة مسبقًا بحيث يمكن للمطورين البدء بسهولة في إنشاء تطبيقات مذهلة. تحظى هذه الميزة بتقدير كبير من قبل كل شركة أو مؤسسة مخصصة لتطوير الويب

  • لا تتطلب هذه الحزمة أي تقنية أو ميزات JavaScript. بدلاً من ذلك ، يمكن إنجاز المهام بسهولة باستخدام C #. هذا لتحسين الإنتاجية الإجمالية للمطورين أو المنظمات

  • يحتوي على دعم مضمن لمصادقة مكونات تطوير التطبيق لإطار عمل .NET

  • يمكن للمطورين استدعاء ميزات JavaScript من منهجية ASP.NET بمساعدة وظيفة تسمى 'JavaScript interoperability'

يجد كل مطور مواقع ويب من Microsoft أن Blazor جذاب لأنه تم تطويره بواسطة مجتمع ASP.NET كإطار عمل لإنشاء تطبيقات من جانب العميل تعمل ضمن WebAssembly. إنه يوفر مزايا إطار عمل تطبيق حديث وغني من صفحة واحدة باستخدام تقنية ASP.NET من طرف إلى طرف. أيضًا ، يمكن لفكرة إطار العمل هذا أن تجمع بين كفاءات C # ، و Razor هو مشروع ويب من جانب العميل يمكن تشغيله بالكامل في المتصفح. يحتوي على جميع الميزات المطلوبة لإنشاء إطار عمل ويب حديث ، تم سرد بعضها أدناه-

  • نموذج لتطوير واجهة مستخدم قابلة للتكوين

  • تحميل مباشر للمتصفح أثناء مرحلة تطوير التطبيق

  • استخدام أحدث ميزات تطوير الويب

  • حقن التبعية

  • القدرة على العمل عبر المتصفحات القديمة

  • أكمل تصحيح أخطاء ASP.NET

  • شرائح مطورة لمنصة تطوير الويب المفتوحة دون الحاجة إلى مكونات إضافية

  • أدوات تطوير الذكاء وواجهة المستخدم

  • التقديم من جانب الخادم

اقرأ المدونة - ما الفرق بين C # و .NET و ASP.NET و Microsoft.NET و Visual Studio؟

كيف يقارن Microsoft Blazor مع ASP.NET Interactive Web Development

يعرض أي ASP.NET عادي واجهة المستخدم ككتلة من السلاسل. من ناحية أخرى ، قام Blazor بتطوير أو تقديم شجرة ولكن ليس سلسلة. هذا الإطار هو تمثيل لنموذج كائن المستند مما يعني أنه يحتفظ بالمكونات في الذاكرة بينما يحتفظ Blazor بالتمثيل. يمكن لأي تغييرات أو تعديلات يتم إجراؤها على هذه المكونات تشغيل تحديث واجهة المستخدم لنفس عناصر طراز كائن المستند. هناك فرق كبير بين كلتا العمليتين عرض السلاسل. على وجه الخصوص ، تستخدم أفضل شركة لتطوير الويب أكواد Blazor ولا يمكنها الوصول إلى أكواد نموذج كائن المستند مباشرةً. يعمل هذا القيد بشكل مختلف مع ASP.NET core و Razor لأنهما يعتمدان على إطار عمل JavaScript من أجل الحصول على وصول كامل إلى عناصر واجهة المستخدم للتطبيقات التفاعلية.

يعرض منتجع Blazor الأشجار للعودة إلى تمثيل نموذج كائن المستند (DOM) السابق والبحث عن قطع معينة من نفس النموذج. لاحقًا ، يقوم إطار العمل هذا بتحديثها أو تحريرها أو حذفها وفقًا لذلك. يبسط إطار العمل التغييرات التي تم إجراؤها على نموذج المستند أو يعالج شجرة العرض لتنفيذ التغييرات. هذه الآلية هي شيء يسمح للغة C # بالعمل على عرض التطبيق التفاعلي من جانب العميل. محاسن Blazor من جانب العميل -

  • بالنسبة لخدمات تطوير مواقع الويب ، يسمح Blazor للمطورين بتشغيل كود ASP.NET مباشرة في المتصفح. يكسر هذا الإطار أيضًا احتكار إطار عمل JavaScript على نظام أساسي متكامل ، نظرًا لمساعدته ، لا يحتاج محترفو .NET إلى أن يصبحوا متعددي اللغات للبرمجة. يمكنهم أيضًا تطوير حلول كاملة دون كتابة أكواد في JavaScript

  • يتم تجميع أكواد Blazor UI في ASP.NET كلغة وسيطة وهذا يعني أن إطار العمل لديه نفس إمكانات كود JavaScript. يمكن أن يخلق نموذج التجميع الخاص به أيضًا فرقًا كبيرًا في حلول الويب للمتصفحات التي تعتمد على الأداء.

  • يمكن للمطورين التحقق بسهولة من صحة التعليمات البرمجية بين الخادم أو التطبيقات من جانب العميل. على سبيل المثال ، ضع في اعتبارك أن منصة خدمات تطوير ASP.NET لديها منطق التحقق من الصحة الذي يمكن تطبيقه على الواجهة الخلفية وكذلك المستعرض. سمح لهم Blazor بإنشاء مكتبة فصل دراسي بمعيار ASP.NET ومشاركتها عبر تطبيقات جانب الخادم أو من جانب العميل. أيضًا ، سيتم تطبيق أي تغييرات في منطق التحقق تلقائيًا على كل من هذه الأنظمة الأساسية.

خادم Blazor

هذا النموذج هو أحد النماذج المدعومة رسميًا في الوقت الحالي ، وبمساعدته ، يمكن تشغيل التطبيقات بسهولة على الخادم ولكن ليس في المتصفح. يستخدم خادم Blazor اتصال SignalR لنقل تحديثات واجهة المستخدم من الخادم إلى المتصفح. نموذج استضافة الخادم هذا موجود حاليًا في خيار دعم حالة الإنتاج لتطوير Microsoft الأساسي. ضمن هذا النموذج ، يتم تشغيل التطبيقات الموجهة للنظام الأساسي على الخادم وفي الجزء العلوي من وقت تشغيل ASP.NET. عندما يقوم المطورون أو المستخدمون بتحميل هذا التطبيق ، يتم أولاً تنزيل ملف JavaScript صغير يقوم بإنشاء اتصال في الوقت الحقيقي ثنائي الاتجاه بالخادم (اتصال SignalR). يتم نقل أي تفاعل بين المستخدم والتطبيق على الفور إلى الخادم المقابل مع الاتصال لمعالجة الخادم. بمجرد الانتهاء من معالجة الخادم ، يتم إرسال تحديثات واجهة المستخدم والتغييرات إلى نفس العميل وتطبيقها على نموذج كائن المستند. طورت Microsoft خوارزمية عالية الأداء لحساب الفروق ونقلها بتنسيق ثنائي مضغوط. على عكس معظم تطبيقات الويب التفاعلية الأخرى التي تتبع نهجًا عديم الحالة ، فإن نماذج تطبيق خادم Blazor تحمل نفس الحالة عبر الخادم.

بالنسبة لمجتمع المطورين ، يتطلب الأمر نهجًا لإعادة التفكير في حالات قليلة ، ولكن بشكل عام ، يمكنهم استخدام مفاهيم مماثلة كما يستخدمونها في تطبيقات ASP.NET الأساسية. أكبر ميزة لهذا النموذج هي أنك لست مضطرًا لتطوير واجهة برمجة تطبيقات أخرى للتواصل بين الخادم والعميل. هذا لأن كل جانب يعمل على الخادم بحيث يمكن لشركة أو مطور ويب مخصص استدعاء هذه الوظائف مباشرة وفقًا لمنطقهم. نظرًا للعمليات الحسابية على الخادم ، فإن حلول الويب التفاعلية من Blazor Server تمثل ملاءمة مثالية للأجهزة ذات النهاية المنخفضة أو العملاء الرقيقين.

BlazorWebAssembly

إنها صفقة كبيرة بالنسبة لنماذج الاستضافة التي تحصل على المزيد ولكن لأسباب وجيهة. يوفر هذا النموذج منافسة مباشرة لتطوير تطبيقات JavaScript التفاعلية مثل React أو VueJS أو Angular. باستخدام WebAssembly ، يمكن للمطورين كتابة رموز ورموز واجهة المستخدم بسهولة بمساعدة C # بدلاً من JavaScript. عندما أعلنت Microsoft عن Blazor في البداية ، كان الأمر يتعلق تمامًا بنماذج WebAssembly. سمح هذا النموذج للتطبيق بالتحميل أولاً بتنسيق وقت التشغيل وبعد ذلك ، قام بتحميل مجموعة التطبيق بالكامل مع تبعياتها. تشمل تبعيات BlazorWebAssembly إطار العمل و System.dll وما إلى ذلك ، ولكن وقت التشغيل بتنسيق ثنائي وتكون التجميعات الأخرى بنفس التنسيق بحيث يمكن للمطورين استخدامه في تطوير تطبيق ASP.NET المعتاد.

يستخدم Blazor WebAssembly رمز المترجم الفوري لتشغيل تطبيق أو تحميله وفي هذا الوضع ، يمكن للمترجم تنفيذ واجهة مستخدم تطبيق تفاعلية. الجزء الوحيد من هذه العملية الذي يتم دمجه في وضع WebAssembly هو وقت التشغيل الأحادي. ميزته الرئيسية هي الأداء والمقايضة مع الملفات الكبيرة أو الضخمة. بعض مزايا WebAssembly في Blazor هي-

  • يقوم بتجميع الملفات الثابتة ، مما يعني أنه لا توجد متطلبات للمطورين للنظر في وقت تشغيل ASP.NET على الخادم

  • يتم إلغاء تحميل معظم المهام في Blazor من الخادم إلى عملائه

  • يمكن أيضًا تشغيل التطبيقات في وضع أو حالة غير متصل بالشبكة

  • يسهل مشاركة الكود حيث يمكن مشاركة مكونات C # بشكل فعال بين الخادم والعملاء

بشكل عام ، في تطبيقات ASP.NET ، يتم استخدام مترجم في الوقت المناسب ولكن لم يتم دعمه مؤخرًا بواسطة WebAssembly. ومع ذلك ، قد تتم إضافته في الإصدار المستقبلي من المعيار ولكن في الوقت الحالي ، يتم استخدام إصدار آخر لتنفيذ التعليمات البرمجية لـ ASP.NET. تعمل منصة Microsoft Associate على الخطط وتجميع الوقت المسبق (AOT) من أجل تجميع التطبيقات أو تجميعات إطار العمل مباشرةً إلى WebAssembly. ينتج عن هذا التجميع وقت تطوير تطبيق تفاعلي فعال وسيثبت أنه موجه نحو الأداء من حيث وقت التشغيل.

الخط السفلي

في هذا الوقت حيث يوجد بالفعل الكثير من الاهتمام والمناقشة حول دخول Blazor في تطوير .NET ، يُترك للمطورين العديد من الخيارات. في هذه المقالة ، راجعنا المقدمة والمفاهيم الأساسية لـ Microsoft Blazor و Sever و WebAssembly وما إلى ذلك. كما ناقشنا أيضًا كيفية نشر هذا الإطار في الوقت الحالي لتطوير تطبيقات الويب التفاعلية في منصة ASP.NET. Blazor عبارة عن منصة مثيرة ولديها مجال أوسع للتحسين ، خاصة فيما يتعلق بالتطوير والأدوات.

تعد WebAssembly أيضًا تقنيتها الأساسية التي لا يمكن لمعظم شركات تطوير التطبيقات أو مطوري الواجهة الأمامية تجاهلها ببساطة. هذه منصة ممتازة لمحترفي ASP.NET تتيح لهم الاستفادة منها ليصبحوا مطورين متكاملين دون الحاجة إلى تعلم لغات برمجة إضافية. توفر هذه المنصة الوضوح عندما يتعلق الأمر بتطوير واجهة مستخدم لنموذج برمجة واحد ويمكن تعلمها بسهولة مع تطبيق مكونات إطار العمل في أي مكان.