.NET Web Technologies

ما هو إطار تصميم صفحات الويب Blazor في ال .NET

كتب بواسطة خليل سليم

أهلا وسهلا بك في هذه السلسلة الجديدة من تصميم صفحات الويب باستخدام Microsoft .NET Blazor أو لغاية اللحظة مايكروسوفت تطلق عليه لقب Blazor فقط وهو اختصار ل Razor  في ال Browser لأنه أمر جديد عليهم ولم يتم الفصل بشأن اسم المولود بعد.

ما هو  Blazor

البلازور هو single-page web app framework ، يعني إطار عمل لبرمجة الويب بعقلية الصفحة الواحدة SPA ، مبني على الدوت نت بالكامل ويعمل على المتصفح باستخدام محرك جديد اسمه WebAssembly ، أنا عارف إنه الصورة ضبابية بعد، لكن شيئا فشيئا ستتضح الرؤية.

أفترض أنك مبرمج .NET سابق ولهذا يهمك المقال، أو إذا كنت جديد، فالدوت نت تحتاج إلى تنصيب لكي تعمل على الجهاز، مثل الجافا.

Blazor

Blazor

 

ولكن كيف ستعمل البرمجيات عبر هذه التقنية على المتصفح وعند العميل Client   (المستخدم النهائي)

عبر معيار الويب الجديد WebAssembly وهو باختصار بسيط عبارة عن محرك محمول يمكنك من تشغيل وتحميل مكتبات من الموقع DLL على المتصفح وتشغييلها على جهاز العميل، وهذا بسرعة فائقة وتكلفة مصادر قليلة جدا.

طيب جميل، بس احنا عارفين انه منصة الدوت نت ما بتشتغل إلا على الويندوز،

فكيف ستعمل على باقي أنظمة التشغيل ؟

تمام التمام، لهذا السبب البلازور يعتمد على .NET runtime (specifically Mono)

واضح الكلام، طيب

هل يحتوي الآن الملف الذي تم عمل Compile  له ، على كل منصة مونو Mono ؟

بالتأكيد سيكون حجم الموقع المحمل كبير؟

القليل جدا من الملفات سيتم تحميلها وتنصيبها على جهاز العميل، والمكتبات ستكون فقط WebAssembly-based .NET runtime ، مع أن هذا سيكلف بعض الطاقة والوقت، ولكن عملية التحسين مستمرة، وأنسخ هذه الفقرة

Early Blazor prototypes used a compact .NET runtime (including assembly execution, garbage collection, threading) that compiled to a mere 60KB of WebAssembly

ما هي المزايا الحالية في النسخة الأولية من بلازور ؟

  • A component model for building composable UI
  • Routing
  • Layouts
  • Forms and validation
  • Dependency injection
  • JavaScript interop
  • Live reloading in the browser during development
  • Server-side rendering
  • Full .NET debugging both in browsers and in the IDE
  • Rich IntelliSense and tooling
  • Ability to run on older (non-WebAssembly) browsers via asm.js
  • Publishing and app size trimming

 

هذا يأخذنا لسؤال مهم

هل يمكنني تشغيل أي موقع ببلازور على أي جهاز لا يوجد له .NET Framework

نعم وبالمنطق نعم، لأن ملفات ال DLL الموجودة في المشروع، يفهمها المتصفح ، هي عبارة عن ملفات Mono في المتصفح يترجمها الWebAssembly

 

وما الفائدة إذا ؟ هل يمكنني الوصل بعمق لمكتبات ال.NET مثل ASP.NET Core ؟

نعم يمكنك ذلك ولديك كافة إمكانيات full-stack web development solution ، ولكن هنالك خدعة لهذا الأمر سنراها مستقبلا.

 

هل البلازور إطار عمل مبني على الجافا سكريبت إذا ؟

لا لا ، هو مشابه لنفكرة ال Angular وال React وال Vue وال Knockout و ال Ember وغيرها، لكنه جديد بالكامل، ولا يعتمد على غيره

 

هل يمكنني استخدام البلازور الآن ؟

نعم يمكنك استخدامه إلا أنه ما زال في نسخته الأولية Alpha لأن هنالك بعض النقاط ما زال الفريق يعمل عليها، ولكن يجب الإشارة إلى انه مشروع مفتوح المصدر Open Source ولا خوف عليه، ويجب التنبيه أنه لا علاقة له بالابن الضال Silverlight ولا يعتمد على XAML، هو إطار ويب حقيقي

 

ماذا عن الهواتف الذكية ومتصفحاتها ؟

نعم يعمل وهذه قائمة بالأجهزة المدعومة, modern mobile browsers also support WebAssembly.

صحيح أن ال WebAssembly معيار جديد وتم طرحه في 2015 في المتصفحات، إلا أنه هنالك 4 محركات متصفحات أساسية تدعمه في الويب، وهي

Microsoft Edge

Mozilla Firefox

Google Chrome

Apple Safari

ما هو ال WebAssembly  مرة أخرى ؟

للأسف يجب أن يخبرك هو عن نفسه وباللغة الانجليزية ، تفضل يا سيادة ال WebAssembly  عرف عن نفسك

WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.

 

ماذا عن المتصفحات التي لا تدعم ؟

لا تقلق، هنالك نسخة من البلازور مع الويب اسمبلي في ملف جافا سكريبت، تشغله، تحت مسمى asmjs ، صحيح أن الحجم تقريبا 7 ميغا، ولكن مع الكاشنج وال CDN الأمور ممكنة جدا، ومع تقدم المتصفحات لن نعود بحاجة له.

 

ما هي الخطوة التالية ؟

إما أن تنطلق وحدك في هذا المسار https://blazor.net/

أو تنتظر السلسلة التي قد أطرحها، والله الموفق والمستعان

 

 

عن الكاتب

خليل سليم

اترك تعليق

سبعة − خمسة =

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.