ما هو YAML؟ دليل المبتدئين

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

Amir Hassan

Amir Hassan

17 أغسطس 2025

ما هو YAML؟ دليل المبتدئين

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

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

مقدمة في YAML

YAML، وهو اختصار لـ "YAML Ain't Markup Language" (نعم، إنه اختصار متكرر - يجب أن تحب ذلك!)، هو لغة تسلسل بيانات قابلة للقراءة من قبل الإنسان. بعبارة بسيطة، إنها وسيلة لتمثيل البيانات بشكل منظم وسهل القراءة.

الآن، قد تفكر، "انتظر، أليس هذا مثل JSON أو XML؟" أنت في المسار الصحيح، لكن لدى YAML بعض الحيل التي تجعلها أكثر سهولة في الاستخدام. على عكس JSON، الذي يمكن أن يصبح مزدحمًا مع كل تلك الأقواس المعقوفة والفواصل، تستخدم YAML المسافات البادئة والمسافات البيضاء للدلالة على الهيكل. وعلى عكس XML، الذي يمكن أن يشعر كفوضى مشبكة من زوايا الأقواس، فإن YAML نظيفة ورشيقة وسهلة على العين.

لماذا تعتبر YAML مهمة

إذن، لماذا يجب أن تهتم بـ YAML؟ حسنًا، كخطوة أولى، هي متعددة الاستخدامات بشكل لا يصدق. تُستخدم YAML في جميع أنواع التطبيقات، بدءًا من ملفات التكوين للبرمجيات مثل Kubernetes و Ansible إلى تنسيقات تبادل البيانات لواجهات برمجة التطبيقات والمزيد.

بالحديث عن واجهات برمجة التطبيقات، تلعب YAML دورًا حيويًا في عالم تطوير واجهات برمجة التطبيقات. غالبًا ما تُستخدم لتحديد هيكل طلبات واجهة برمجة التطبيقات واستجاباتها، مما يسهل على المطورين التعاون وضمان الاتساق عبر أجزاء مختلفة من التطبيق.

لكن فائدة YAML لا تتوقف عند هذا الحد. إنها أيضًا خيار شائع لتحديد البنية التحتية ككود (IaC) وأتمتة عمليات النشر. تعتمد أدوات مثل Terraform و Ansible بشكل كبير على YAML لملفات التكوين الخاصة بها، مما يتيح لفرق العمليات تبسيط سير العمل والحفاظ على الاتساق عبر بيئات مختلفة.

التعامل مع YAML بشكل عملي

حسنًا، الآن بعد أن فهمت لماذا تعتبر YAML مسألة مهمة، دعنا نستعرض القواعد النحوية قليلاً. لا تقلق؛ فهي أبسط بكثير مما قد تعتقد.

عادةً ما تحتوي ملفات YAML على امتداد .yml أو .yaml، وهي منظمة باستخدام المسافات البادئة والمساحات البيضاء. إليك مثال أساسي:

# هذا تعليق
person:
  name: أليس
  age: 30
  hobbies:
    - القراءة
    - تسلق الجبال
    - البرمجة

هل ترى مدى سهولة قراءتها؟ تحتوي مفتاح person على ثلاثة مفاتيح فرعية: name وage وhobbies. يحتوي مفتاح hobbies على قائمة بالقيم، يُشار إليها برمز -.

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

أمثلة من عالم الواقع على استخدام YAML

الآن بعد أن أصبحت لديك الأساسيات، دعنا نلقي نظرة على بعض الأمثلة من العالم الحقيقي حول كيفية استخدام YAML.

أولاً، دعنا ننظر إلى Kubernetes، منصة تنسيق الحاويات الشهيرة. تعتمد Kubernetes بشكل كبير على YAML لملفات التكوين الخاصة بها، والتي تحدد أشياء مثل النشر والخدمات وقواعد الإدخال. إليك مثال بسيط عن بيان نشر Kubernetes:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: تطبيقي
spec:
  replicas: 3
  selector:
    matchLabels:
      app: تطبيقي
  template:
    metadata:
      labels:
        app: تطبيقي
    spec:
      containers:
      - name: تطبيقي
        image: تطبيقي:الأحدث
        ports:
        - containerPort: 8080

هذه الملفات YAML تُعرف نشرًا مع ثلاثة نسخ من حاوية تُدعى تطبيقي، مع تحديد الصورة المستخدمة والمنفذ الذي سيتم الكشف عنه.

بعد ذلك، دعنا نستعرض كيف يُستخدم YAML في تطوير واجهات برمجة التطبيقات. تعد OpenAPI (المعروفة سابقًا باسم Swagger) مواصفة شائعة لوصف واجهات برمجة التطبيقات RESTful، وتستخدم YAML (أو JSON) لتحديد هيكل واجهة برمجة التطبيقات. إليك مثال مبسط:

openapi: 3.0.0
info:
  title: واجهة برمجة التطبيقات التجريبية
  version: 1.0.0
paths:
  /users:
    get:
      summary: قائمة بجميع المستخدمين
      responses:
        '200':
          description: استجابة ناجحة

يحدد هذا المقتطف YAML مواصفة OpenAPI أساسية مع نقطة نهاية واحدة (/users) وعميلة GET تتضمن قائمة بجميع المستخدمين.

واجهات برمجة التطبيقات في YAML

يعتبر تنسيق ملف YAML مهمًا بشكل خاص في سياق واجهات برمجة التطبيقات لعدة أسباب:

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

الهيكل والعلاقات: يُمثل YAML البيانات الهيكلية بشكل طبيعي، مما يتماشى جيدًا مع الهيكل المتداخل لنقاط نهاية واجهات برمجة التطبيقات وعملياتها المتعلقة بها والمعاملات والاستجابات.

دعم عبر اللغات: while YAML ترتبط ارتباطًا وثيقًا ببعض اللغات (مثل Ruby)، إلا أنها مستقلة عن اللغة ويمكن استخدامها مع أي لغة برمجة تحتوي على مكتبة YAML، مما يجعلها متعددة الاستخدامات لتعريفات واجهات برمجة التطبيقات.

التوافق مع JSON: YAML هي مجموعة فرعية من JSON، مما يعني أن أي ملف JSON هو أيضًا ملف YAML صالح. يسمح هذا التوافق بالانتقال السلس بين التنسيقين، وهو مفيد حيث أن JSON هو تنسيق شائع لحمولات واجهات برمجة التطبيقات.

مواصفة OpenAPI: غالبًا ما تُستخدم YAML جنبًا إلى جنب مع مواصفة OpenAPI (OAS)، وهي معيار معتمد على نطاق واسع لوصف واجهات برمجة التطبيقات RESTful. تقدم وثائق OAS المكتوبة بلغة YAML وسيلة واضحة وموجزة لوصف واجهة برمجة التطبيقات بالكامل، بما في ذلك النقاط النهائية والمعاملات وطرق المصادقة.

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

في جوهره، يعد تنسيق YAML بمثابة مخطط لواجهات برمجة التطبيقات، حيث يحدد القواعد والهياكل التي تتبعها واجهات برمجة التطبيقات. يلعب دورًا حيويًا في عملية تطوير واجهات برمجة التطبيقات، مما يمكّن المطورين من إنشاء تعريفات واضحة وقابلة للصيانة وقابلة للتوسع.

Apidog يدعم YAML

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

button

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

Apidog workflow

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

استيراد واجهات برمجة التطبيقات إلى Apidog باستخدام YAML

  1. افتح Apidog وانتقل إلى المشروع الذي تريد استيراد واجهات برمجة التطبيقات إليه.
واجهة عمل Apidog

2. اذهب إلى الإعدادات وانقر على "استيراد البيانات".

استيراد البيانات من الإعدادات

3. اختر “استيراد ملف” إذا كان لديك ملف YAML على نظامك. يمكنك إما سحب وإفلات الملف في المساحة المخصصة أو النقر على المساحة لفتح مدير الملفات وتحديد ملفك.

استيراد ملف YAML

4. إذا كان لديك الملف مستضافًا عبر الإنترنت، حدد “استيراد URL” وقدم عنوان URL لملف بيانات YAML.

استيراد YAML من URL

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

عرض الاستيراد

الخاتمة

كما ترى، تعتبر YAML لغة تسلسل بيانات متعددة الاستخدامات وسهلة الاستخدام تلعب دورًا حيويًا في مجالات متعددة من تطوير البرمجيات والعمليات. بدءًا من تكوين أنظمة معقدة مثل Kubernetes إلى تحديد واجهات برمجة التطبيقات وأتمتة عمليات النشر، فإن بساطة YAML وقابلية قراءتها تجعلها خيارًا مفضلًا للعديد من المطورين وفرق العمليات.

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

button

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات

ما هو YAML؟ دليل المبتدئين