Loading...
صورة المقالة

ما هو API و ماهي تقنية ASP.net core

ستتعرف على API وكيف تستخدمة و ايضا ستتعرف على تقنية Asp.net core API وفائدتها

نشر : قبل شهر واحدة

🔰 مقدمة بسيطة: ما هو الـ API ولماذا هو مهم؟

تخيل أنك تطلب وجبة من مطعم. أنت لا تدخل المطبخ، بل تطلب من النادل، والنادل يوصل طلبك للطباخ ثم يُرجعه لك. في عالم البرمجة، هذا النادل هو الـ API.

💡 الـ API (Application Programming Interface) هو "الوسيط" الذي يسمح لتطبيقٍ ما (مثل تطبيق الهاتف) أن يتواصل مع تطبيقٍ آخر (مثل الخادم أو السيرفر)، ليطلب منه بيانات أو يرسل له معلومات.

👨‍💻 مثال سريع:


🔨 ما التقنية التي نستخدمها لبناء هذا الـ API؟

يوجد تقنيات كثيرة لبناء APIs، مثل:


🚀 لماذا اخترنا ASP.NET Core API؟

لأنها تقنية حديثة، قوية، وسريعة من تطوير Microsoft، وتُستخدم في بناء:

💎 مميزات ASP.NET Core API:


في هذه المقالة، سنأخذك خطوة بخطوة لفهم الـ API، ثم نبدأ معًا ببناء REST API باستخدام ASP.NET Core، مع أمثلة حقيقية وتطبيق عملي.

✨ هيا نبدأ رحلتنا البرمجية!

الجزء الأول: المقدمة - Introduction


ما هو الـ API ولماذا أصبح حديث كل مطور؟

في عالم البرمجة الحديث، لم يعد بناء تطبيقات سطح المكتب أو صفحات الويب فقط هو الأساس. بل أصبح الربط بين الأنظمة، ومشاركة البيانات بين التطبيقات، وحتى ربط الهاتف بالموقع الإلكتروني أو طرف ثالث مثل PayPal أو Google، يعتمد كليًا على ما يُعرف بـ واجهة برمجة التطبيقات - API (Application Programming Interface).

📌 تعريف عام للـ API:

API هو بوابة تسمح للتطبيقات بالتحدث مع بعضها البعض، عن طريق إرسال واستقبال البيانات وفق بروتوكول معين (عادة HTTP).

🎯 لماذا نحتاج API؟


ما هو REST API؟

عندما نقول API، غالبًا نقصد به نوع معين اسمه RESTful API، وهو نمط تصميم يعتمد على بروتوكول HTTP، ويستخدم العمليات المعروفة:

العملية الوصف
GET لجلب البيانات
POST لإنشاء بيانات جديدة
PUT لتعديل بيانات موجودة
DELETE لحذف بيانات

ASP.NET Core API: منصة مايكروسوفت القوية

ASP.NET Core API هو إطار عمل حديث ومفتوح المصدر من تطوير شركة Microsoft، تم تصميمه لتطوير تطبيقات الويب السريعة، المرنة، والمتوافقة مع أنظمة متعددة (Windows، Linux، macOS). ويتميز بقدرته العالية على التعامل مع REST APIs بشكل آمن واحترافي.

🛠️ ما الذي يجعل ASP.NET Core API مميزًا؟


لمن هذه المقالة؟

إذا كنت:

فهذه المقالة لك. ستأخذك من مستوى المبتدئ إلى الاحتراف، خطوة بخطوة، بكل ما تحتاجه من مفاهيم، أمثلة، صور، ونصائح عملية.

 


🧩 الجزء الثاني: مفاهيم الـ API و REST


🔍 ما هو الـ API بالتفصيل؟

📘 المعنى الحرفي:

API هو اختصار لـ Application Programming Interface، أي: "واجهة برمجة التطبيقات".
هو ببساطة مجموعة من التعليمات التي تسمح لتطبيق بالتفاعل مع تطبيق آخر من خلال مجموعة من القواعد والبروتوكولات.


🧱 أنواع الـ APIs

النوع الوصف
Web API واجهة برمجة تطبيقات عبر الإنترنت (مثل REST API)
Library API واجهات ضمن مكتبات برمجية مثل Math, System.IO
Operating System API واجهات تقدمها نظم التشغيل مثل Windows API
Hardware API للتفاعل مع أجهزة مثل الكاميرا أو الطابعة

لكن في هذه المقالة، تركيزنا على النوع الأول: Web API وخاصة باستخدام ASP.NET Core.


🌐 REST API: الأساس العملي لبناء الـ Web APIs

✅ ما هو REST؟

REST هو اختصار لـ: Representational State Transfer
وهو نمط معماري (Architectural Style) لتصميم الـ APIs، يعتمد على استخدام بروتوكول HTTP والموارد Resources.

🧠 المبادئ الأساسية في REST:

  1. Stateless: لا يحتفظ السيرفر بأي حالة بين الطلبات.

  2. Client-Server: فصل بين الواجهة والبيانات.

  3. Cacheable: يمكن تخزين بعض الاستجابات لتحسين الأداء.

  4. Uniform Interface: الواجهة موحدة ومعروفة (نستخدم HTTP verbs مع عناوين URL).


✉️ الـ HTTP Verbs الرئيسية:

Verb الوظيفة مثال عملي
GET جلب بيانات GET /api/products ← جلب كل المنتجات
POST إنشاء POST /api/products ← إنشاء منتج جديد
PUT تحديث PUT /api/products/1 ← تحديث منتج معين
DELETE حذف DELETE /api/products/1 ← حذف المنتج

📁 ماذا نعني بـ Resource؟

في REST، كل شيء هو Resource (مورد) وله URI (رابط فريد):

bash
/api/products ← كل المنتجات /api/products/5 ← المنتج رقم 5 /api/customers/1/orders ← طلبات العميل 1

🧩 ما هي الاستجابة Response؟

عند استخدام API، فإن السيرفر يرد باستجابة (عادة بصيغة JSON) تحتوي على:

مثال على رد JSON:

json
{ "id": 5, "name": "هاتف سامسونج", "price": 750.00 }

📦 Content-Type:

يُستخدم لتحديد نوع البيانات بين الخادم والعميل. أهم القيم:


🎯 ما الفرق بين REST و SOAP؟

المقارنة REST SOAP
البنية خفيف ومرن ثقيل ومعقد
البيانات JSON أو XML XML فقط
الأداء أسرع وأخف أبطأ
التوافق سهل مع مختلف الأنظمة معقد
الاستخدام الأكثر شيوعًا اليوم يستخدم في أنظمة قديمة أو مالية

🛡️ هل REST آمن؟

REST بنفسه لا يحتوي على طبقة أمان، ولكن يمكن استخدام HTTPS + Token Authentication (مثل JWT) لتأمينه.


🚧 مثال حقيقي على REST API

تخيل متجر إلكتروني يقدم API يسمح لتطبيق الهاتف بعرض المنتجات:

طلب:

bash
GET /api/products

رد:

json
[ { "id": 1, "name": "شاشة 24 بوصة", "price": 400.0 }, { "id": 2, "name": "لابتوب", "price": 3000.0 } ]

بهذا نكون انتهينا من الجزء الثاني.

الجزء القادم سيكون بعنوان:


🧩 الجزء الثالث: ما هو ASP.NET Core API؟ ولماذا نستخدمه؟

🔸 ما هو ASP.NET Core ولماذا يعتبر نقلة نوعية؟
🔸 الفرق بين Web App و Web API في .NET
🔸 آلية العمل خلف الكواليس
🔸 نظرة على البنية الأساسية للمشروع

 

🔸 ما هو ASP.NET Core ولماذا يعتبر نقلة نوعية؟

ASP.NET Core هو الإصدار المطور من ASP.NET التقليدي، وهو إطار عمل مفتوح المصدر من Microsoft لبناء تطبيقات الويب الحديثة عالية الأداء، عبر أنظمة تشغيل متعددة مثل Windows وLinux وmacOS.

✅ مزاياه الرئيسية:


🔸 الفرق بين Web App و Web API في .NET

المقارنة Web App Web API
الهدف واجهة رسومية للمستخدم (صفحات) تبادل البيانات بين الأنظمة
الإخراج HTML, CSS, JavaScript JSON أو XML
الاستخدام مواقع إنترنت، لوحات تحكم تطبيقات الهاتف، تطبيقات خارجية، SPA
التحكم Controllers مع Views Controllers فقط بدون Views

🔸 آلية العمل خلف الكواليس

عند استدعاء API في ASP.NET Core، ما الذي يحدث؟

  1. 🔗 العميل يرسل طلب HTTP (مثلاً: GET /api/products).

  2. 🧠 الراوتر يحدد الـ Controller المناسب (مثلاً: ProductsController).

  3. 📦 ينفذ ASP.NET Core Middleware سلسلة من المعالجات (middlewares) مثل المصادقة، التحقق، إلخ.

  4. 🧱 يُنفذ المنطق المطلوب (مثل قراءة البيانات من قاعدة البيانات باستخدام EF Core).

  5. 📨 يرسل النتيجة للعميل بصيغة JSON مع كود الحالة المناسب.


🔧 نظرة على البنية الأساسية لمشروع API في ASP.NET Core

عند إنشاء مشروع Web API جديد، عادة ما تحتوي البنية الأساسية على:

mathematica
MyApiProject/ ├── Controllers/ ← جميع الـ API Controllers │ └── ProductsController.cs ├── Models/ ← تعريف الكيانات (Entities) │ └── Product.cs ├── Data/ ← كلاس DbContext وربطه بقاعدة البيانات │ └── AppDbContext.cs ├── Program.cs ← نقطة بدء تشغيل التطبيق ├── appsettings.json ← إعدادات الاتصال وقيم التكوين

🎯 مثال عملي:

csharp
// Controllers/ProductsController.cs [Route("api/[controller]")] [ApiController] public class ProductsController : ControllerBase { private readonly AppDbContext _context; public ProductsController(AppDbContext context) { _context = context; } [HttpGet] public async Task<ActionResult<IEnumerable<Product>>> GetProducts() { return await _context.Products.ToListAsync(); } }

🔍 الشرح:


🧠 لماذا نستخدم ASP.NET Core API؟



;
...
ماهي React js

كل ما تحتاج معرفته عن تقنية React: من البداية إلى الاحتراف

عرض المحتوى
...
الفرق بين React و Next.js: دليلك للتمكين والاختيار الواعي

ستتعر في هذه المقالة عن الفرق بين React و Nextjs واين تختار

عرض المحتوى