سنقوم ببناء موقع ويب بسيط حيث يمكن للأشخاص نشر الصور والتعليقات.
سنقوم ببناء 3 أجزاء.
1.1 - عميل الواجهة الأمامية
سيتفاعل هذا المشروع مع المستخدم من خلال المتصفح من خلال إنشاء واجهة مستخدم HTML ديناميكيًا وسيتحدث مع الخادم الخاص به باستخدام gRPC Web و HttpClient .
1.2 - الواجهة الخلفية للواجهة الأمامية (BFF)
يستضيف هذا المشروع تطبيق Blazor Client ويخدمه. كما أنه يعمل بمثابة وكيل عكسي لإعادة توجيه المكالمات إلى الواجهات الخلفية لـ REST وgRpc.
2.1 - خدمة استراحة الصور
2.2 - تعليقات خدمة gRPC
ستكون هذه المشاريع مسؤولة عن تخزين البيانات على الخادم والاستجابة لطلبات العميل من خلال http وjson وprotobuf.
سيهتم هذا المشروع بجزء المصادقة. سيتم إصدار رموز JWT التي سيتم استخدامها بواسطة تطبيق العميل للوصول إلى الخدمات.
في وقت كتابة هذا البرنامج التعليمي، لا يمكن استخدام .NET Core 7.0 إلا مع Visual Studio 2022. يوصى بتثبيت أحدث إصدار من Visual Studio 2022 للعمل مع .NET Core 7.0.
قد ترغب في الانتقال إلى وثائق البدء للحصول على مجموعة محدثة من الإرشادات.
سنتبع بعض الخطوات البسيطة. ستركز كل خطوة على مهمة واحدة وستعتمد على الخطوة السابقة. سنبدأ بمشاريع بسيطة ستصبح أكثر تعقيدًا على طول الطريق. على سبيل المثال، لن نركز على المصادقة والترخيص في البداية. وسوف نقوم بإضافته في خطوة لاحقة.
إذا بدأت من Lab01 واتبعت كل readme.md، فيمكنك إكمال كل معمل والاستمرار في التمرين التالي باستخدام الكود الخاص بك. لا حاجة لفتح مجلدات Start
أو Solution
المتوفرة في هذا الريبو.
Start
هي نقاط البداية لكل خطوة.Solution
هي الإصدارات النهائية لكل خطوة، ويتم تقديمها لك فقط في حالة رغبتك في التحقق من الشكل المفترض لمشروعك في نهاية كل مختبر. ما عليك فعله هو فتح مجلد Start
المتوافق مع الدرس التطبيقي الذي تريد تجربته ( Lab01/Start
لكي تبدأ من الصفر) واتباع الإرشادات التي تجدها في ملف readme.md
. عند الانتهاء، لا تتردد في مقارنة عملك بالحل المتوفر في مجلد Solution
.
Labs
Lab01
Start
.readme.md
للمتابعةLab15SolutionblazorPhotoSharingApplicationPhotoSharingApplication.sln
في Visual Studioابدأ التطبيق
أو
أفترض أنك مبرمج C# مهتم ببناء تطبيق ويب. اعتمادًا على عمرك، ربما تكون قد استخدمت بالفعل صفحات asp وaspx وmvc و/أو razor وتريد الآن تجربة blazor. ربما تكون على دراية بـ HTML وCSS وربما استخدمت بعض إطارات عمل جافا سكريبت مثل Angular أو React أو Vue.
سأقوم بربط عدد كبير من الوثائق حول مفاهيم وتقنيات الويب، لذلك لا تقلق إذا لم تكن خبيرًا في مطور الويب، فيمكنك تعلم كل شيء على طول الطريق. يجب أن تتقن لغة C# على الأقل، وإلا سيكون من الصعب متابعة هذا البرنامج التعليمي. معظم الكود الذي سنكتبه سيكون في الواقع C#. سنقوم أيضًا بكتابة بعض HTML، ولكن من السهل تعلم ذلك، لذا لن يمثل ذلك مشكلة.
Duende.Bff.Yarp