TOP ASP.NET Core Libraries For Building Applications

لو بتشتغل على مشروع باستخدام ASP.NET أو بتفكر تبدأ فيه، هتحتاج مجموعة من الأدوات اللي هتساعدك تبني التطبيق بشكل أسرع وأفضل.
TOP ASP.NET Core Libraries For Building Applications
TOP ASP.NET Core Libraries For Building Applications

في هذه الصفحة

المقدمة

لو بتشتغل على مشروع باستخدام ASP.NET أو بتفكر تبدأ فيه، هتحتاج مجموعة من الأدوات اللي هتساعدك تبني التطبيق بشكل أسرع وأفضل. من أهم الحاجات اللي بتسهل الشغل هي استخدام المكتبات والتقنيات اللي بتعالج المشاكل المعقدة وتبسط الكود. في المقال دا هتكلم عن أهم المكتبات .


1- ORM (Object-Relational Mapping)

  • EF Core: دي مكتبة بتسهل عليك التعامل مع قواعد البيانات من خلال تحويل الكود المكتوب بـ C# إلى SQL. يعني بدل ما تكتب استعلامات SQL معقدة، المكتبة دي بتساعدك تشتغل بالكود العادي اللي بيتحول لـ SQL تلقائياً.
  • Dapper: مكتبة خفيفة وسريعة مقارنةً بـ EF Core، لكنها بتحتاج منك تكتب استعلامات SQL بنفسك. بتكون مثالية في السيناريوهات اللي الأداء فيها مهم جداً.

2- DI (Dependency Injection)

  • Autofac و Scrutor: أدوات بتساعدك في فصل مكونات الكود وإدارة الاعتمادية بينهم. بتسهل عملية استدعاء الكائنات والخدمات بشكل مباشر وبتجعل الكود قابل للاختبار بشكل أسهل وأوضح.

3- API Toolkit

  • SignalR: بيساعدك في بناء تطبيقات بتشتغل في الوقت الحقيقي (real-time) زي تطبيقات الشات أو الإشعارات المباشرة. بيخلي المستخدمين يشوفوا التحديثات لحظيًا.
  • FluentValidation: دي مكتبة قوية بتساعدك في التحقق من البيانات المدخلة قبل ما يتم إرسالها للتطبيق. لو في خطأ في البيانات، بترجع رسالة للمستخدم توضح المشكلة قبل تنفيذ أي عمليات.
  • MediatR: أداة بتنظم التواصل بين مكونات الكود من خلال وسيط بين الكائنات. بتركز على مبدأ فصل المسؤوليات، وبتساعد في تحسين ترتيب وهيكلة الكود.
  • YARP: مكتبة متخصصة في إدارة طلبات الـ API بين الخدمات المختلفة (Microservices). بتسهل عليك إعادة توجيه الطلبات وتكوين بوابة واحدة للوصول لكل الخدمات.

4- Testing

  • xUnit: مكتبة لاختبار الكود تلقائياً. بتساعدك في كتابة اختبارات تلقائية للتحقق من أن كل جزء في الكود شغال زي ما هو متوقع.
  • Testcontainer’s و FluentAssertions: أدوات بتساعدك في اختبار الكود بشكل أكثر دقة. Testcontainers بتسهل عمل اختبارات باستخدام حاويات (containers)، وFluentAssertions بتسهل عليك كتابة اختبارات أكثر وضوحاً.
  • Moq و Verify: أدوات لتوليد بيانات وهمية (mocks) لاختبار الكود في الحالات اللي بيعتمد فيها على خدمات خارجية. يعني بدل ما تختبر الخدمة الحقيقية، بتختبر نسخة وهمية منها

5- Background Tasks

  • Hangfire: مكتبة بتمكنك من تنفيذ مهام في الخلفية بسهولة زي جدولة المهام، إرسال الإشعارات التلقائية، أو معالجة البيانات دون تعطيل المستخدم.
  • Quartz.NET: إطار عمل قوي ومخصص لجدولة المهام وعمليات الخلفية. بيوفر نظام قوي لتنفيذ المهام في توقيتات محددة أو على فترات زمنية دورية.

تقدروا دلوقتي تشتركوا في النشرة الأسبوعية لاقرأ-تِك بشكل مجاني تمامًا عشان يجيلكوا كل جديد بشكل أسبوعي فيما يخص مواضيع متنوعة وبشروحات بسيطة وسهلة وبجودة عالية 🚀

النشرة هيكون ليها شكل جديد ومختلف عن شكلها القديم وهنحاول انها تكون مميزة ومختلفة وخليط بين المحتوى الأساسي اللي بينزل ومفاجآت تانية كتير 🎉

Eqraatech Newsletter | Eqraatech - اقرأ-تِك | Substack
محتوى تقني متميز في مختلف مجالات هندسة البرمجيات باللغة العربية عن طريق تبسيط المفاهيم البرمجية المعقدة بشكل سلس وباستخدام صور توضيحية مذهلة. Click to read Eqraatech Newsletter, a Substack publication with hundreds of subscribers.

بفضل الله قمنا بإطلاق قناة اقرأ-تِك على التليجرام مجانًا للجميع 🚀

آملين بده اننا نفتح باب تاني لتحقيق رؤيتنا نحو إثراء المحتوى التقني باللغة العربية ، ومساعدة لكل متابعينا في انهم يوصلوا لجميع أخبار اقرأ-تِك من حيث المقالات ومحتوى ورقة وقلم والنشرة الأسبوعية وكل جديد بطريقة سريعة وسهلة

مستنينكوا تنورونا , وده رابط القناة 👇

https://t.me/eqraatechcom


6- Logging & Monitoring

  • Serilog و NLog: أدوات لتسجيل أي أحداث أو أخطاء بتحصل في التطبيق. لو حصلت مشكلة، تقدر تعتمد على الـ logs لتتبع الأسباب وحل المشكلة.
  • OpenTelemetry: إطار عمل قوي بيساعدك في مراقبة أداء التطبيق وجمع بيانات عن أدائه. مهم جداً لتحديد أي مشاكل في الأداء أو الأماكن اللي تحتاج تحسين.

7- HTTP Clients & Resiliency

  • Polly: مكتبة متخصصة في إدارة أخطاء الاتصال بالإنترنت أو الشبكة، بتساعدك إنك تعيد المحاولة تلقائيًا في حالة فشل الطلب HTTP وتتعامل مع المشكلات مثل التوقيتات وتجاوز الحدود.
  • RestSharp و Refit: مكتبات بتسهل عليك إرسال طلبات HTTP والحصول على ردود بسرعة. بتقلل كمية الكود اللي تحتاج تكتبه للتعامل مع الـ APIs.

8- Office

  • ClosedXML و EPPlus و Excel-DNA: دي مكتبات مخصصة للتعامل مع ملفات Excel. بتمكنك من قراءة، كتابة، وتعديل ملفات Excel بسهولة في التطبيقات.

9- Auth (Authentication)

  • Microsoft.AspNetCore.Identity: نظام إدارة هويات المستخدمين زي التسجيل، الدخول والخروج، وإدارة صلاحيات المستخدمين.
  • openiddict و Keycloak: أدوات لإدارة عمليات المصادقة الشاملة وتوزيع الأدوار والصلاحيات بين المستخدمين في التطبيقات المعقدة

10- Queue

RabbitMQ و MassTransit و NServiceBus: مكتبات مخصصة لإدارة الرسائل بين الخدمات في الأنظمة الكبيرة. بتخلي كل خدمة تبعت البيانات في الوقت المناسب وتستقبلها بدون تأخير، وده بيضمن استقرار النظام حتى في الحالات اللي فيها ضغط كبير على البيانات.


في الختام

بكده نكون شوفنا مع بعض أهم الـ Libraries اللي ممكن نحتاجها في بناء التطبيقات وشوفنا كل Library منهم بيتم استعمالها في ايه 🎉

اشترك الآن بنشرة اقرأ-تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!