Blazor من الصفر: سلسلة جديدة
أكتب عن Blazor منذ فترة — دورات حياة المكوّنات، CSS المعزول، نماذج التفاعل، المصادقة. كانت هذه المقالات مفيدة بحد ذاتها، لكنني دائمًا شعرت أنها تفتقر إلى الأساس. إذ تفترض أنك تعرف بالفعل ما هو Blazor، ولماذا وُجد، وكيف يندرج في منظومة .NET. ليس الجميع يعرف ذلك، وهذا أمر طبيعي تمامًا.
لذا أبدأ شيئًا جديدًا: Blazor من الصفر. سلسلة متكاملة، مبنية من الأساس، موجّهة للمطوّرين الذين يريدون فهمًا حقيقيًا لما يبنونه — لا مجرد لصق الكود حتى يعمل.
لمن هذه السلسلة
هذه السلسلة مناسبة لك إذا كنت:
- مطوّر .NET سمعت عن Blazor لكن لم تجد الوقت أو نقطة الانطلاق المناسبة للتعمق فيه.
- جرّبت Blazor وجعلته يعمل، لكنك تشعر أنك تخمّن لماذا تعمل الأشياء.
- قادمًا من عالم JavaScript/React/Angular وتريد فهم رؤية Microsoft للواجهة الأمامية الحديثة.
- تريد مرجعًا موحّدًا ومتسقًا بدلًا من توثيق متفرّق ومقالات مبعثرة.
لا تحتاج إلى أن تكون مطوّرًا متقدمًا. تحتاج فقط إلى إتقان أساسيات C# — الكلاسات، الواجهات، async/await. إذا كنت قادرًا على كتابة API CRUD بسيط في ASP.NET Core، فأنت مستعد.
ما سنتناوله
إليك خارطة الطريق التقريبية لما أخطط له:
- ما هو Blazor؟ — نماذج الاستضافة، التاريخ، المقارنة مع تطوير الويب التقليدي
- تطبيقك الأول في Blazor — البنية الأولية للمشروع، التشغيل محليًا
- المكوّنات — اللبنة الأساسية لكل واجهة في Blazor
- ربط البيانات والأحداث — جعل واجهتك تفاعلية
- التواصل بين المكوّنات — المعاملات، EventCallbacks، القيم المتتالية
- التوجيه والتنقل — كيف يتعامل Blazor مع الـ URLs وانتقالات الصفحات
- حقن التبعيات — الخدمات، النطاقات، وحاوية DI في Blazor
- النماذج والتحقق — EditForm، DataAnnotations، المحقّقات المخصصة
- HTTP والبيانات الخارجية — استدعاء APIs من تطبيق Blazor
- المصادقة والتفويض — تأمين تطبيقك بالطريقة الصحيحة
- التشغيل البيني مع JavaScript — متى تحتاج للوصول إلى المتصفح
- الأداء والتحسين — التمثيل الافتراضي، التحميل الكسول، استراتيجيات الرندر
- اختبار مكوّنات Blazor — bUnit وكيف يبدو الاختبار الجيد
- النشر — النشر على Azure وIIS والمضيفين الثابتين
ستتطور هذه القائمة. بعض المواضيع ستتوسع لتشمل عدة مقالات؛ وقد تتدمج أخرى. سأحدّث هذه المقالة مع تقدم السلسلة وأضيف الروابط عند النشر.
لماذا سلسلة، ولماذا الآن
نضج Blazor كثيرًا. مع .NET 8 و9، أُعيد تصميم نموذج الرندر جذريًا — SSR الثابت، streaming rendering، Server التفاعلي، WebAssembly التفاعلي، والوضع التلقائي، كلها تتعايش الآن تحت سقف واحد. إنه إطار عمل مثير للاهتمام وقادر حقًا، لكن التعقيد المتزايد يجعل تجربة البداية مربكة في أحيان كثيرة.
أريد بناء مرجع يلتقي بك حيث أنت ويأخذك عبر المنظومة بشكل منهجي. ليس بديلًا عن التوثيق الرسمي — فهو جيد ويجب أن تقرأه — بل رفيق يشرح لماذا وراء ماذا.
كيف تتابع السلسلة
كل مقالة في السلسلة ستكون مكتفية بذاتها بما يكفي للقراءة منفردة، لكنها ستتراكم فوق بعضها أيضًا. إذا كنت تبدأ من الصفر، أنصح بالتسلسل. إذا كنت تنضم لسد ثغرة محددة، فهذا مقبول أيضًا — سأضع روابط للمقالات السابقة الضرورية عند الحاجة.
كود كل مقالة سيكون متاحًا على GitHub. سأشارك الروابط مع التقدم.
إلى اللقاء في المقالة التالية.