تحية طيبة للجميع
السلام عليكم ورحمة الله وبركاته وتحيه طيبه للجميع وأسف على عدم التفاعل بكثرة في هذا الوقت لأني موجود خارج السعودية لظروف ابتعاثي .. المهم
بالنسبة للموضوع فلقد لفت نظري اخر رد وتحديداً في عبارة :
عموما يا شباب ( من وجهة نظري ) أنه لا توجد علاقة بين API و الدوال أو الكلاسس بتاتاً
أنا احترم وجهة النظر ولكن هذا الكلام خاطئ مئة بالمئة.. وسأثبت ذلك بالأدلة الصحيحة وليس بوجهة النظر وإليك التالي :
ماقلته عن أن API هي واجهة فهذا صحيح ولا يتجادل فيه اثنان
النقطة الثانية هي ان يتم تمثيل الواجهه اما بمجموعة دوال او مجموعة كلاسات او خليط من الأثنين ويطلق على هذا لحزمة كلمة API .
اما بالنسبة للأمثلة التي ضربتها أنا فهي تمثل API والسبب هو ان مفهوم الـ API هو عبارة عن :
إخفاء التفاصيل المملة عن المبرمج وإعطائه أسماء دوال أو كلاسات يستخدمها مباشرة دون الخوض في التفاصيل وكيفية عمل هذه الدوال والكلاسات وهذا معنى كلمة واجهه .
وأما عن البراهين فخذ منها العديد
اشهرها عالمياً POSIX
The POSIX standard defines an API that allows a wide range of common computing functions to be written such that they may operate on many different systems (Mac OS X and various Berkeley Software Distributions (BSDs) implement this interface); however, making use of this requires re-compiling for each platform. A compatible API, on the other hand, allows compiled object code to function without any changes, on any system implementing that API. This is beneficial to both software providers (where they may distribute existing software on new systems without producing/distributing upgrades) and users (where they may install older software on their new systems without purchasing upgrades), although this generally requires various software libraries implementing the necessary APIs too.
والدليل الثاني
An application programming interface or API is a set of data structures, protocols, routines and tools for accessing a web-based software application. It provides all the building blocks for developing programs with ease. An application programming interface may be language dependent or language independent. A language dependent API is available only in a particular programming language. Language independent APIs are not bound to a particular language, system or process. They can be called from several programming languages.
وأما إذا أردت غير التعريفات فأنظر الآن الى جميع المكتبات والتي تحمل اسم API بجانب اسم المكتبة فعندها ستجد المكتبة هي عبارة عن مجموعة دوال يستدعيها المبرمج أو كلاسات .
وإليك بعض من أهم المكتبات :
مكتبة SpiderMonkey
https://developer.mozilla.org/en/JSAPI_Reference
Windows API وهذا الرابط اكبر دليل واضح على كلامي
Windows API Reference (Windows)
وأرجو أن تكون الصورة قد اتضحت فـ API ليست خاصة بالتطبيق هل هو صعب ام سهل بل المقصود بالـ API هو اخفاء التفاصيل الدقيقة للتعامل مع شئ معين وإظهار اسماء الدوال والكلاسات التي تتعامل مع ذلك الشئ المعقد فقط ليستخدمها المبرمج وأما عن السهولة والصعوبة فهي ليست مقياس والدليل على كلامي هو أن WordPress له API وهي عبارة عن دوال وكلاسات ودواله تبدأ بـ wp_ المهم أن هذا عبارة عن سكربت وكذلك الفيس بوك له API للتعامل مع قواعد البيانات الخاصة به وإنشاء الملفات وغير ذلك الكثير دون إقحام المبرمج في التفاصيل وإنما يقولون له هذه دالة كذا وهذه دالة كذا وإذا أردت أن تقوم بكذا فإستدعي دالة كذا ...
وبإمكانك الإبحار في الإنترنت الأن والبحث عن أي مكتبة صعبة أو سهلة فلن تجدها إلا مجموعة دوال وكلاسات ..
وأرجوا أن تكون الفكره قد وصلت ..
وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل
تحياتي أخوك عبدالله عيد
__________________
قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)