فكر برمجي
398 subscribers
234 photos
2 videos
67 files
159 links
#فكر_برمجي
Think_Programmatically
قناة تقنية متخصصة في البرمجة وتطوير المهارات. نوفر شروحات مبسطة، موارد مفيدة، وأفكار ملهمة لتحويل شغفك بالتقنية إلى إبداع.
Download Telegram
APIs واجهات برمجة التطبيقات
العمود الفقري للعالم الرقمي الحديث

في الماضي، كانت البرامج تعمل كجزر منفصلة او أنظمة محلية لا تتواصل مع بعضها بسهولة.

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

لكن السؤال الحقيقي:

كيف يستطيع تطبيق توصيل الطعام معرفة موقعك؟
وكيف يسجل تطبيق باستخدام حساب Google؟
وكيف تتحدث تطبيقات البنوك، والخرائط، والذكاء الاصطناعي، والمتاجر الإلكترونية مع بعضها؟

كيف اعدل من خلال التطبيق فيظهر التعديل بالموقع والعكس ؟

الإجابة باختصار:
كل ذلك يحدث عبر الـ APIs.


ما هو الـ API ؟

API اختصار لـ:
Application Programming Interface



أي:
واجهة برمجية تسمح للتطبيقات والمواقع والأنظمة بالتواصل مع بعضها البعض.

تخيل أنك في مطعم:

أنت = المستخدم

المباشر = الـ API

المطبخ = السيرفر أو قاعدة البيانات


أنت لا تدخل للمطبخ مباشرة، بل تعطي الطلب للمباشر ، وهو ينقل الطلب للمطبخ ثم يعيد لك النتيجة(طلبك).

وهذا بالضبط ما يفعله الـ API.


لماذا تعتبر APIs مهمة جدًا؟

لأنها جعلت العالم البرمجي مترابطًا.

بدون APIs:

لن تستطيع التطبيقات مشاركة البيانات

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

سيضطر كل مطور لبناء كل شيء من الصفر


أما مع APIs:

يمكن لأي نظام التواصل مع أي نظام
يمكن بناء تطبيقات ضخمة بسرعة
يمكن ربط الخدمات العالمية بسهولة


أين نستخدم APIs يوميًا؟

أنت تستخدم APIs عشرات المرات يوميًا دون أن تشعر

أمثلة واقعية:

1. تسجيل الدخول بحساب Google
عندما تضغط:
Login with Google

فإن التطبيق يتواصل مع API خاص بـ Google للتحقق من حسابك.


2. الخرائط والملاحة

تطبيقات التوصيل تستخدم APIs الخرائط من Google أو Mapbox لمعرفة:

موقعك
الطرق
الازدحام
المسافات


3. الدفع الإلكتروني

المتاجر الإلكترونية تستخدم APIs من:

PayPal
Stripe
.......الخ

لتنفيذ عمليات الدفع بشكل آمن.


4. الذكاء الاصطناعي

الكثير من التطبيقات الحديثة تعتمد على APIs خاصة بالذكاء الاصطناعي مثل:

[OpenAI API key]
[Google AI Studio key]
[Groq API key]
[Deepseek API key]


لإضافة:

الشات الذكي
تحليل الصور
الترجمة
التلخيص
توليد الأكواد
والكثير من المهام.


كيف يعمل الـ API تقنيًا؟

غالبًا يتم التواصل عبر الإنترنت باستخدام:

HTTP Requests
JSON
Endpoints


مثال:

يرسل التطبيق طلبًا:

GET /DemoSoft Developers/5

فيرد السيرفر:

{
"id": 5,
"name": "Tareq",
"email": "tareq.software.devloper@gmail.com"
"phone":"+967715299909"
}

التطبيق طلب بيانات المستخدم، والـ API أعادها بشكل منظم.


أشهر أنواع APIs

1. REST API

الأكثر استخدامًا في العالم.
يعتمد على:

HTTP
JSON
Routes


ويتميز بالبساطة والسرعة.


2. GraphQL

تم تطويره بواسطة Meta.
يسمح للتطبيق بطلب البيانات التي يحتاجها فقط، دون زيادة.


3. SOAP

تقنية قديمة نسبيًا لكنها ما تزال مستخدمة في:

البنوك
الأنظمة الحكومية
المؤسسات الكبيرة

الفرق بين Frontend و Backend في الـ APIs

Frontend

يرسل الطلبات ويعرض البيانات للمستخدم.

مثال:

React + Angular + Vue
Flutter + React Native



Backend
مثل :
Asp.net , Django, Node.js Express, Laravel ....
تعالج الطلبات وتتعامل مع:

قواعد البيانات
الأمان
المنطق البرمجي


ثم تعيد النتائج عبر API.


لماذا يجب على أي مطور تعلم APIs؟

لأن APIs أصبحت لغة التواصل بين الأنظمة.

أي مطور لا يفهم APIs سيواجه صعوبة في بناء تطبيقات حقيقية.

تعلم APIs يعني أنك تستطيع:

بناء تطبيقات احترافية
ربط الخدمات المختلفة
إنشاء أنظمة قابلة للتوسع
العمل مع فرق كبيرة
تطوير تطبيقات موبايل وويب وأنظمة حديثة


مستقبل APIs

العالم يتجه نحو:

Microservices
Cloud Computing
AI Services
Internet of Things (IoT)


وكل هذه التقنيات تعتمد بشكل أساسي على APIs.

لهذا السبب أصبحت APIs ليست مجرد ميزة إضافية، بل بنية أساسية للعالم الرقمي الحديث.


اللب :

الـ APIs ليست مجرد أكواد أو طلبات HTTP.
إنها الجسور التي تربط العالم التقني كله ببعضه.

كل تطبيق ذكي، وكل خدمة حديثة، وكل تجربة رقمية متقدمة تعتمد على APIs بطريقة أو بأخرى.

إذا أردت أن تصبح مطورًا حقيقيًا يفهم كيف تعمل الأنظمة الحديثة،
فابدأ بفهم الـ APIs بعمق…
لأنها اللغة التي تتحدث بها التطبيقات في عصر التكنولوجيا.
👍1
نرشح لكم أقوى كورسات
وأقوى من يشرح البرمجة وأيضاً APIs بالتفصيل والتطبيق العملي
من خارطة الطريق للمهندس محمد ابو هدهود شرحه مختلف عن عدة كورسات تابعتها شرحهم سطحي وغير مفهوم للامانة شرح نظري وعملي قوي جداً
بالتوفيق للجميع.
م.طارق العُمري
https://programmingadvices.com/courses/2537475/lectures/54047295

https://programmingadvices.com/courses/enrolled/2922828
💯2
2
هل تعلم أدوات الذكاء الاصطناعي وحدها يجعلك مهندس برمجيات؟

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

لكن دعنا نناقش بشكل منطقي :

إذا تعلمتُ أنا بعض برامج الهندسة المدنية، وشاهدت عدة مخططات جاهزة، ثم استخدمت أدوات تساعدني على رسم منزل خلال ساعات، فهل أصبح مهندسًا مدنيًا؟

هل أستطيع أن أبني منزلًا دون دراسة التربة؟
دون حساب الأحمال؟
دون تصميم إنشائي؟
دون تحليل للعوامل البيئية والزلازل والرياح؟
دون معرفة ما إذا كان المنزل قابلًا للتوسع مستقبلاً أو إضافة طوابق جديدة؟ 🤔

بالتأكيد لا.

قد أستطيع رسم شكل جميل، وقد أعدل على مخطط جاهز، وأغير الدهانات والإضاءة والديكور، لكن ذلك لا يجعلني مهندسًا مدنيًا.

ونفس الفكرة تنطبق على البرمجة.

إنشاء تطبيق يعمل ليس هو المعيار الوحيد. السؤال الحقيقي:

- هل النظام قابل للتوسع؟
- هل البنية البرمجية صحيحة؟
- هل الأداء جيد عند زيادة المستخدمين؟
- هل البيانات مؤمنة؟
- هل يمكن لفريق كامل تطوير المشروع بعد سنوات؟
- هل تم تحليل المتطلبات وتصميم النظام بشكل صحيح؟
- هل تمت مراعاة الاختبارات والجودة والصيانة؟

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

الأدوات لا تصنع المهندس، بل المهندس هو من يستخدم الأدوات.

كما أن برامج التصميم الإنشائي لا تجعل أي شخص مهندسًا مدنيًا، فإن أدوات الذكاء الاصطناعي لا تجعل أي شخص مهندس برمجيات بمجرد أنه أنشأ تطبيقًا أو موقعًا مفهوم يا باش

التخصص ليس صعبًا ولا مستحيلًا، ويمكن لأي شخص تعلمه، لكن الطريق الصحيح يبدأ من فهم الأساسيات قبل القفز إلى التنفيذ.

فالبيت الذي يُبنى دون دراسة قد يبدو جميلًا من الخارج، لكنه قد ينهار عند أول اختبار حقيقي.

وكذلك المشروع البرمجي الذي يُبنى دون فهم هندسي عميق قد يعمل اليوم، لكنه ينهار عندما يكبر ويستخدمه الناس بالفعل.

لهذا لا نقلل من قوة وقدرات الذكاء الاصطناعي، بل على العكس، نستخدمه يوميًا. لكن الفرق كبير بين من يستخدم الأداة، ومن يفهم العلم الذي تقوم عليه الأداة.
رفعت الجلسة
#إنتهى
م.طارق العُمري
إِذا لَم يَكُن عَونٌ مِنَ اللَهِ للِفَتى
فَأَكثَرُ ما يَجني عَلَيهِ اِجتِهادُهُ

صباح الخير 🤍.
2
مصطلح DTO هو اختصار لـ Data Transfer Object (كائن نقل البيانات). في هندسة البرمجيات، هو عبارة عن كائن أو فئة (Class) تُستخدم لتغليف البيانات ونقلها بين أجزاء النظام المختلفة، وخاصة بين واجهة برمجة التطبيقات (API) وقاعدة البيانات، أو بين الخادم (Server) والعميل (Client).
السمة الأساسية للـ DTO هي أنه لا يحتوي على أي منطق برمجي (Business Logic) أو عمليات معقدة؛ فهو يقتصر فقط على الخصائص (Properties) لتمثيل البيانات المطلوبة.
لماذا نعتمد على الـ DTO في بناء الأنظمة؟
الأمان وإخفاء البيانات: غالباً ما تحتوي نماذج قاعدة البيانات (Entities/Models) على بيانات حساسة لا يجب أن تظهر للعميل. على سبيل المثال، نموذج المستخدم قد يحتوي على كلمة المرور المشفرة (Password Hash). باستخدام الـ DTO، أنت تنشئ كائناً جديداً يحتوي فقط على البيانات الآمنة (مثل الاسم والبريد الإلكتروني) لإرسالها.
تحسين الأداء وتقليل حجم البيانات (Payload): عند استدعاء بيانات من الخادم، قد لا تحتاج الواجهة الأمامية إلى كل التفاصيل الموجودة في قاعدة البيانات. الـ DTO يسمح لك بإرسال الحقول المطلوبة فقط، مما يقلل من استهلاك عرض النطاق الترددي (Bandwidth) ويسرع استجابة النظام.
الفصل الاستراتيجي بين الطبقات (Decoupling): الـ DTO يعمل كعقد (Contract) ثابت بين الـ Backend والـ Frontend. إذا اضطررت لاحقاً لتغيير هيكل قاعدة البيانات، فلن يتأثر العميل أو التطبيق الأمامي، لأنك ستقوم فقط بتعديل طريقة تحويل البيانات (Mapping) لتبقى مخرجات الـ DTO كما هي.
توضيح برمجي بسيط
إذا كان لديك نموذج مستخدم في قاعدة البيانات بهذا الشكل:
C#
public class User {
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string PasswordHash { get; set; }
public DateTime CreatedAt { get; set; }
}

لإرسال بيانات المستخدم إلى الواجهة الأمامية دون تعريض الأمان للخطر، تقوم بإنشاء DTO مخصص:
C#
public class UserResponseDTO {
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}

ابحث عنه واين تستخدمه وفي اي معمارية من معماريات البرمجة في الباك ؟
طيب التقنية مش مهم سي شارب او غيرها المفهوم واحد بكل اللغات والاطر
اليوم 06/06/2026 😅
تاريخ مميز وجميل، فقلنا نذكركم
ونوصيكم بالدعاء🤍
دمتم بخير.
✍️المهندس
ماذا لو انقطع الإنترنت وبقي حاسوبك يعمل؟

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

يتضمن المشروع ميزات مثل الذكاء الاصطناعي، ويكيبيديا، الخرائط، المراجع الطبية، أدلة البقاء، دورات أكاديمية خان، وخاصية البحث الذكي عن المستندات.

في عالم يعتمد بشكل كبير على الحوسبة السحابية، يُذكّرنا هذا المشروع بأهمية التقنيات المحلية.

الرابط : https://github.com/Crosstalk-Solutions/project-nomad
_
#GhaniWeb #تقنية #technews #الجميع