منتديات طلاب جامعة النيلين
مرحبا بكم فى منتديات طلاب جامعة النيلين كلية علوم الحاسوب وتقانة المعلومات مركز الحرية للتسيجل معنا اضغط على دخول للخروج اضغط اخفاء نرجو ان تكون معنا عضواء وشكرا
lol! lol! lol! lol!
مرحبــــــــــــــــــــــــــــا بكم فى منتديات طلاب جامعة النيلين
منتديات طلاب جامعة النيلين

مدير المنتدى عبدالرحيم على القيد
 
alhemoalhemo  الرئيسيةالرئيسية  مكتبة الصورمكتبة الصور  س .و .جس .و .ج  بحـثبحـث  المجموعاتالمجموعات  التسجيلالتسجيل  دخول  تحويل شرايط الفيديو الى اسطونات سى دىتحويل شرايط الفيديو الى اسطونات سى دى  

الف مبرووووووووووووك النجاح لطلاب جامعة النيلين كلية علوم الحاسوب مركز الحرية للاقسام التالية .تقانة المعلومات- نظم المعلومات - هندسة البرمجيات للعام 2011 الى 2012
--
<______download ______>

لمعرفة نتيجة جامعة النيلين حاسوب الفرقة الثانية تقانة معلومات للعام 2011 _2012اضغط هنا

للدخول للموقع الحيمو لتصميم المواقع اضغط هنا




اضغط هنا للدخول الفيس بوك
بحـث
 
 

نتائج البحث
 
Rechercher بحث متقدم
المواضيع الأخيرة
ازرار التصفُّح
 البوابة
  حيمو الرئيسية
 حيموقائمة الاعضاء
 البيانات الشخصية
 س .و .ج
  حيمو بحـــــث
لتحديث موقع الحيمو يرجى الضغط هنا
منتدى
التبادل الاعلاني برعاية حيمووووووووو

شاطر | 
 

 ماذا نعنى بـــــ شرح مفصل API

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
alhemo web sit
مدير المنتدى
مدير المنتدى


عدد المساهمات : 115
تاريخ التسجيل : 14/05/2010
العمر : 30
الموقع : موقع طلاب جامعة النيلين كلية علوم الحاسوب وتقانة المعلومات

alhemo
الحيمو للمونتاج والدوبلاج:
الحيمو للمونتاج والدوبلاج
منتديات طلاب جامعة النيلين كلية علوم الحاسوب مركز الحرية

مُساهمةموضوع: ماذا نعنى بـــــ شرح مفصل API    الإثنين ديسمبر 24, 2012 4:46 am


تسمع عن API في لغات البرمجة ولكن هل تعرف ماهي ؟




بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته ... وتحية طيبة للجميع ... وبعد

أحببت أن أنفرد بهذا الموضوع لأهميته في البرمجة بشكل عام وفي php أيضاً بشكل خاص ..

غالباً مانرى كلمة API تأتي مع المكتبات البرمجية وتأتي في المسميات وإذا
بحثت عن معناها فستجد أنها إختصار لـ Application Programming Interface أي
بالعربي (واجهة برمجة التطبيقات)

ولكن هذه الترجمة ترجمة عقيمة أي بمعنى أخر هي ترجمة حرفية فقط و هي لا تظهر حقيقة معنى API ...

عندما تبحث في المواقع الكبيرة وفي المشاريع البرمجية تمر عليك أشياء غريبة
تحتوي على كلمة API فمثلاً تجد قواعد بيانات MySQL كاتبين مثلاً MySQL API
و تجد Windows كاتبين Win32 API وتجد مثلاً موقع كاتبلك مثلاً My API
وهكذا ...

طيب مامعنى هذا الكلام ؟

قبل أن نجيب على هذا التساؤل يجب أن نعرف أولاً مامعنى API ؟

إذا ً مامعنى API ؟

حرفياً هو كما ذكرنا بالأعلى ...

أما من حيث المفهوم فسأشرحها بمثال :

API هي عبارة عن (غلاف) لتغليف شئ صعب من الداخل وجعله سهل من الخارج ...

وهذا كمفهوم ولكن كيف يطبق في البرمجة !!!؟

في حقيقة الأمر لو قال لك أحدهم أكتب لي برنامج يقوم بتحريك رأس الهارديسك ؟

فسيكون جوابك هو (يانهار ازرق)

والسبب هو إنك تعرف إن هذه العملية صعبة للغاية وإنت تعرف إنه بالإمكان
عملها ولكن ستضطر إلى قراءة بعض المواضيع وستقوم بالبرمجة في مستويات أدنى
وتقوم بإستخدام لغة الأسمبلي لكي تقوم بهذه العملية . (وهذا شئ واحد)

ولزيادة التوضيح أكثر إليك المثال التالي :

لو قلت لك أكتب برنامج على php يقوم بجمع العددين 2 و 5 فقط دون طباعة :

فستقول هل أنت (أحمق) ياعبدالله عيد (لاتغلط ...!)




كود PHP:
$c = 2 + 5;



طيب تمام وهذا بشكل مبسط ... ولكن عندما تعلمنا الكمبيوتر فإننا تعلمنا أنه
هناك تحويل إلى الأسمبلي و من ثم إلى الآلة ومن ثم تنفيذ وزحمة وكلام من
هذا القبيل ...

طيب الآن لو نزلنا مستوى أعمق بقليل وقلت لك نفذ عملية الجمع السابقة على لغة الأسمبلي



كود: mov eax,2
mov ebx,5
add eax,ebx ; eax=7

طيب الآن سترى أن هذا مقرف وتقول لي ماهي
الفائدة من هذا الكلام طالما أني أستطيع كتابة كود بي اتش بي مباشرة لجمع
العددين (كلامك سليم)

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

ومن هنا نفهم أننا كتبنا شئ سهل دون أن ندري أنه سيتحول إلى عمليات صعبة ومعقدة ومغلفة عن أعيننا ..


هذا الكلام النظري أما بالنسبة للناحية البرمجية فـ API هي مجموعة من الدوال الخدمية والتي تساعد في تبسيط شئ معقد وصعب ..

ويمكن لأي شخص أن يبني API لشئ معين

الآن سأريك العملي :

أفترض الآن أنك انت الآن تريد كتابة برنامج للـ CD Writer أي برنامج يقوم بنسخ الإسطونات ... ؟!!
فأنت ستتعامل هنا مع الآلة لكي تنسخ وأنت تعلم أن العملية معقدة وصعبة لذلك
ستقوم أنت بإجراء هذه العملية الصعبة جداً وتقوم بوضعها على شكل مجموعة من
الدوال السهلة وداخل كل دالة عملية معقدة جداً ولكن الشخص الذي سيستخدم
مجموعة الدوال هذه سيكون مخفى عنه جميع التفاصل المملة الخاصة بالتعامل مع
الـ CD Writer وهو سيرى فقط مجموعة من الدوال بهذا الشكل مثلاً :



كود: function cdwriter_open()
function cdwriter_burn()
function cdwriter_stop()
function cdwriter_close()
...

الآن كما تلاحظ فأنت ترى دالة open لفتح محرك الأقراص
وستقوم أنت بإستدعائها لفتح محرك الأقراص ولكنك فعلياً لاتعلم مدى العمليات
المعقدة التي تقوم بها الدالة من الداخل لعمل اجراء فتح محرك الأقراص
وهكذا لبقية الدوال

وهنا تسمى مجموعة هذه الدوال بإسم cdwriter API فهي أعطتك الدوال بشكل مبسط
وهي من الداخل تخفي صعوبات جمة بداخلها وهي تعمل مثل الصدفة بالضبط ..

وأنت يمكنك عمل الـ API لأي شئ وليس للآلة فقط .. والدليل هو وجود مثلاً
MySQL API وهي الدوال التي تقوم أنت فعلياً بإستخدامها في برامجك ضمن php
فهل تعرف أنت مالذي يجري عندما تكتب عبارة مثل



كود PHP:
mysql_query('SELECT * FROM mytable');


أعتقد أن كل ماتعرفه أنت هو أن دالة mysql_query هي للإستعلام ..

أما مايحدث من الداخل من عمليات معقدة لإجراء الإستعلام فهي مخفية عنك وفي
حقيقة الأمر تقوم هذه الدالة أولاً بقراءة النص الذي أدخلته لها بين
القوسين ومن ثم تجري عليها بعض عمليات التفسير للكود المدخل بين القوسين
وإذا تأكدت من صحته فإنها ستبحث عن جدول بإسم mytable وهذا الجدول يكون
موجود في ملف وتتأكد من هذا الملف ووووو... إلخ

لذلك هنا ستعرف أن API ستبعد عنك التفاصيل المملة والصعبة وتعطيك الزبدة

ومن هذا المنطلق يمكنك أنت أنت تكتب API لتسهل عملية معينة هي في حقيقة الأمر صعبة للغاية .. ويمكنك كتابة الـ API على php أيضاً ...

وكمعلومة أخيرة فإن جميع الموديول الموجودة في php هي عبارة عن APIs مثل

SQLite
MySQL
Session
String
...

وأرجوا أن أكون وصلت إلى الهدف من وراء هذا الموضوع والله من وراء القصد
وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل

منقول للفائدة من سوالف
لزيلرة الموقع على الرابط التالى
http://www.swalif.net/softs/swalif45/softs187438/

cheers cheers cheers cheers cheers cheers
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://alhemozero.bigforumonline.com
 
ماذا نعنى بـــــ شرح مفصل API
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات طلاب جامعة النيلين  :: الفئة الأولى :: يرجى التسجيل فى الموقع قبل الدخول-
انتقل الى: