ماهو Web API ؟ ولماذا أستخدمه ؟

maxresdefault هو عبارة عن إطار لبناء خدمات (HTTP ) والتي يمكن الأستفادة منهامن قبل نطاق واسع من العملاء بما فيها المتصفحات والموبايلات وحتى (Iphone ) و التابلت . هي تشبه كثيرا (Asp.net MVC ) حيث تملك ميزات ( MVC ) مثل التوجية (Routing  ) و (Controller ) و (Action Result ) و ( Model Binder ) و حاويات (IOC) او حقن التبعية (dependency injection  ) , لكنها ليست جزء من إطار ( MVC) بل هي جزء من منصة (Asp.Net) ويمكن أن تستعمل مع (MVC) ومع الأنواع الأخرى من تطبيقات الويب مثل (WebForms ) k كذلك يمكن أن تستخدم وحدها كخدمات الويب .

api-services-310x165اليوم , التطبيقات القائمة على الويب غير كافية لعملائها , الناس اليوم يستخدمون الاي فون و الموبايلات والتبلات … الخ , هذه الاجهزة أصبحت مرتبطة بحياتهم اليومية , ميزة هذه الأجهزة هي التطبيقات الكثيرة التي جعلت حياة الناس أسهل , بالحقيقة نحن تحركنا من الويب الى تطبيقات العالم . لذلك لو كنت ترغب بكشف بياناتك للمتصفحات وكل تطبيقات الاجهزة الحديثة بسرعة وبطريقة بسيطة فيجب عليك ان تملك (API) متوافق مع المتصفحات وجميع الاجهزة . على سبيل المثال تويتر وفيسبوك وجوجل API لتطبيقات الويب وتطبيقات الاي فون . QQأن ( Web API ) أطار عمل عظيم لعرض بياناتك و الخدمات على أجهزة مختلفة , بالإظافة لذلك إن ( Web API) منصة مثالية مفتوحة المصدر لبناء خدمات ( REST-ful ) على منصة (.Net ) . لاتشبه خدمات ( WCF Rest) , حيث تستعمل كل أمكانيات (HTTP) مثل ( URL و Request/response headers , Caching , versioning , various content format ) ولا تحتاج الى تعريف أي أعدادات اضافية للأجهزة المختلفة المختلفة بخدمات (WCF Rest ) .

ميزات Web API :

1) الدعم يستند على أتفاقية CRUD لأنها تعمل مع أفعال ( HTTP) مثل
( GET ,POST , PUT , Delete).

2) الاستجابة لديها الهيدر و شفرة حالة (http ).

3) الأستجابة تشكلت بواسطة نوعية التنسيق الوسيطة ل( API) في ( JSON, XML ) وأيآ كان التنسيق الذي تريده الى اضافة مثل ( Media Type Formatter ) .

4) تقبل وتولد المحتويات التي لا تكون كائن موجهة مثل الصور و PDF … الخ .

5) تدعم بصورة تلقائية (OData ) , بالتالي بواسطة وضع خاصية ( Queryable ) جديدة على طريقة المسيطر( Controller ) بأن ترجع (IQueryable ) الزبائن يمكن أن يستعملوا طريقة ضغط أستعلام ( OData) .

6) يمكن أن تُستضاف داخل التطبيقات او على IIS . 7) إنها تدعم ميزات ( MVC) مثل التوجيه او المسيطرات و نتائج الاجراء , و الفلاتر و روابط المودل و , حاويات IOC,…. الخ .

لماذا علينا أن نختار Web API ؟

1) إذا أحتجت لخدمة ويب ولا تحتاج (SOAP ) , فأن (API) خيار جيد .

2) انها تستعمل لبناء بسيط لا يستخدم (SOAP) في خدمات (HTTP) في أعلى رسائل البايب لاين ل(WCF ) .

3) ليست مملة وأعداداتها غير مكلفة مثل خدمات ( WCF REST ) .

4) أنشاء الخدمة يكون بسيط مع API . بينما في ( WCF REST ) صعبة ومعقدة .

5) أنها تعتمد فقط على (HTTP) وسهلة التعريف والعرض و الاستخدام في طريقة (Rest-Ful )

6) هيكليتها خفيفة وجيدة للأجهزة ذات عرض نطاق محدود مثل التلفونات الذكية .

7) مفتوحة المصدر .

ماذا تعتقد بشأنها ؟ أتامل ان تساعدك وتكون قد أوضحت لك الصورة عن WEB API , ويمكنك الاستفسار بمدونتي في حال وجود سؤال .