كيف تبدأ استخدام ElysiaJS مع OpenAPI و Bun في عام 2026

Ashley Goolam

Ashley Goolam

5 يناير 2026

كيف تبدأ استخدام ElysiaJS مع OpenAPI و Bun في عام 2026

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

يمكن أن يؤدي اختيار الإطار الصحيح إلى إحداث فرق كبير في بناء واجهات برمجة تطبيقات فعالة وقابلة للتطوير. يتوافق ElysiaJS، وهو إطار عمل Node.js خفيف الوزن، بشكل استثنائي مع وقت تشغيل Bun عالي الأداء ومعيارية OpenAPI للتوثيق وتوليد العملاء. يوفر هذا المزيج للمطورين مسارًا مبسطًا لإنشاء خدمات RESTful قوية بأقل قدر من النفقات العامة. نظرًا لأن واجهات برمجة التطبيقات أصبحت العمود الفقري للتطبيقات الحديثة، فإن البدء باستخدام ElysiaJS وOpenAPI وBun يجهزك لتقديم نقاط نهاية آمنة من حيث النوع وموثقة جيدًا بسرعة. في هذا الدليل، سنغطي كل شيء بدءًا من أساسيات ElysiaJS وحتى الإعداد العملي وخطوات التثبيت عبر الأنظمة الأساسية وأمثلة التعليمات البرمجية العملية. سيساعدك هذا البرنامج التعليمي على دمج elysiajs مع openapi بسلاسة، والاستفادة من سرعة Bun للحصول على تجربة تطوير مثالية.

💡
هل تريد أداة رائعة لاختبار واجهة برمجة التطبيقات (API) تقوم بإنشاء توثيق API جميل؟

هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى إنتاجية؟

يلبي Apidog جميع متطلباتك، ويحل محل Postman بسعر أكثر بأسعار معقولة!
زر

ما هو ElysiaJS؟

ElysiaJS هو إطار عمل ويب خفيف وسريع لـ Node.js مصمم ليكون بسيطًا ولكنه قابل للتوسيع بدرجة كبيرة لبناء واجهات برمجة تطبيقات RESTful. يركز على مساحة سطح صغيرة، ودعم TypeScript نظيف، وواجهة برمجة تطبيقات بديهية لتحديد المسارات والبرامج الوسيطة والمكونات الإضافية. يهدف ElysiaJS إلى تقديم الأداء مع تجربة صديقة للمطورين وتكامل قوي لـ OpenAPI خارج الصندوق. تشمل نقاط قوته الأساسية دعم OpenAPI من الدرجة الأولى، ونظام بيئي للمكونات الإضافية، وتصميم يفضل السرعة والبساطة دون تقييدك بتجريدات ثقيلة. وهذا يجعل ElysiaJS جذابًا بشكل خاص للمطورين الذين يرغبون في التركيز على المنطق بدلاً من التعليمات البرمجية النمطية، مع ضمان سهولة توثيق واجهات برمجة التطبيقات الخاصة بهم واستهلاكها من خلال مواصفات OpenAPI.

لماذا تختار ElysiaJS في عام 2026؟

يأتي اختيار ElysiaJS بالعديد من الفوائد المقنعة التي تعزز عملية تطوير واجهة برمجة التطبيقات الخاصة بك.

  1. يبرز الأداء بفضل وقت التشغيل الخفيف والتركيز على معالجة المسارات السريعة والنفقات العامة المنخفضة، مما يسمح للتطبيقات بالتوسع بكفاءة تحت الحمل. تعني جاهزية OpenAPI المضمنة أنه يمكنك إنشاء وتقديم مواصفات OpenAPI بسهولة، مما يبسط توثيق واجهة برمجة التطبيقات وتوليد العملاء - وهو أمر بالغ الأهمية للفرق التي تتعاون في الخدمات المصغرة أو واجهات برمجة التطبيقات العامة.
  2. تعد تجربة المطور نقطة بارزة أخرى: ElysiaJS صديق لـ TypeScript، مع تعريفات مسار موجزة وبنية معيارية تدعم النمو مع توسع مشروعك. يتضمن نظامه البيئي مجموعة متزايدة من المكونات الإضافية لدعم OpenAPI والتوثيق وأدوات الاختبار، ويتكامل بسلاسة مع الأدوات الموجودة. يضمن تصميم OpenAPI أولاً الاتساق بين التعليمات البرمجية والوثائق الخاصة بك، مما يقلل من جهود الصيانة.
الموقع الرسمي لـ ElysiaJS

ما هو Bun؟

Bun هو وقت تشغيل JavaScript سريع، ومدير حزم، ومجمع (bundler) في آن واحد. تم تصميمه ليكون بديلاً مباشرًا لـ Node.js في العديد من الحالات، حيث يوفر أوقات بدء تشغيل أسرع وأدوات فعالة. يمكن لـ Bun تسريع سير عمل التطوير، وتثبيت التبعيات، وتنفيذ السكريبتات، مما يجعله زوجًا شائعًا مع الأطر الحديثة مثل ElysiaJS. من خلال التعامل مع أدوار متعددة في نظام JavaScript البيئي، يقلل Bun من تبديل السياق، مما يسمح للمطورين بالتركيز على البناء بدلاً من إدارة الأدوات. يضمن توافقه مع واجهات برمجة تطبيقات Node انتقالًا سلسًا، بينما يعزز دعم TypeScript و JSX الأصلي الإنتاجية في مشاريع ElysiaJS.

وقت تشغيل Bun JS

تثبيت Bun (MacOS و Linux و Windows)

يعد تشغيل Bun أمرًا بسيطًا عبر الأنظمة الأساسية، مما يضمن إمكانية إقرانه بـ ElysiaJS بسرعة.

  1. بالنسبة لنظام MacOS، افتح Terminal وقم بتشغيل نص التثبيت: curl -fsSL https://bun.sh/install | bash. يقوم هذا بتنزيل وإعداد Bun، وإضافته إلى PATH الخاص بك. تحقق باستخدام bun --version.
  2. على Linux، استخدم نفس أمر curl في جهازك الطرفي: curl -fsSL https://bun.sh/install | bash. يدعم التوزيعات الرئيسية مثل Ubuntu و Fedora. أعد تشغيل shell الخاص بك أو قم بتحديث ملف التعريف الخاص بك، ثم تحقق من bun --version للتأكيد.
  3. يمكن لمستخدمي Windows التثبيت عبر PowerShell كمسؤول: powershell -c "irm bun.sh/install.ps1 | iex". يتعامل هذا مع الإعداد، بما في ذلك تكامل Chocolatey إذا لزم الأمر. قم بتشغيل PowerShell مرة أخرى وقم بتشغيل bun --version للتحقق.
تثبيت bun على windows

في جميع الحالات، يتم تثبيت Bun في ثوانٍ ويكون جاهزًا لمشاريع ElysiaJS - لا يلزم تكوين إضافي للاستخدام الأساسي.

البدء مع ElysiaJS

يبدأ الشروع في مشروع ElysiaJS ببعض المتطلبات الأساسية:

للبدء، استخدم Bun للسرعة: bun create elysia my-api. يقوم هذا بإنشاء هيكل أساسي مع package.json ودعم TypeScript.

استخدام bun لإنشاء مشروع elysia

بدون Bun، قم بتشغيل npm create elysia my-api عبر npm. انتقل إلى المجلد باستخدام cd my-api، وستكون جاهزًا لتحديد المسارات.

يشجع الإعداد البسيط لـ ElysiaJS على النماذج الأولية السريعة - استيراد الوحدة الأساسية، وتحديد المعالجات، والاستماع على منفذ. يتوسع هذا الأساس بسهولة، ويدمج OpenAPI للتوثيق من البداية.

تثبيت وإعداد ElysiaJS

التثبيت هو سطر واحد بمجرد أن يصبح وقت التشغيل جاهزًا. مع Bun: bun install elysia.

استخدام bun لتثبيت elysia

بالنسبة لـ npm: npm install elysia. إذا كنت تستخدم TypeScript، أضف @types/node للاكتمال.

يتضمن الإعداد إنشاء ملف إدخال، index.ts:

import { Elysia } from "elysia";

const app = new Elysia().get("/", () => "Hello Elysia").listen(3000);

console.log(
  `🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`
);

قم بالتشغيل باستخدام Bun: bun run index.ts، أو Node: npx ts-node index.ts. قم بزيارة "http://localhost:3000" لرؤية الاستجابة. يؤكد هذا التطبيق الأساسي بساطة ElysiaJS - قم بتوسيعه باستخدام البرامج الوسيطة أو المكونات الإضافية حسب الحاجة.

استخدام bun لتشغيل مشروع elysia

دمج ElysiaJS مع OpenAPI

يتألق دعم ElysiaJS لـ OpenAPI من خلال المكونات الإضافية، مما يتيح إنشاء مواصفات تلقائية من مساراتك. قم بتثبيت المكون الإضافي: bun add @elysiajs/openapi (أو ما يعادله في npm).

تثبيت openapi في elysia باستخدام bun

قم بالتكوين في تطبيقك:

import { Elysia } from 'elysia'
import { openapi, fromTypes } from '@elysiajs/openapi'

export const app = new Elysia()
    .use(
        openapi({
            references: fromTypes() 
        })
    )
    .get(
        '/pets',
        () => [
            { id: 1, name: 'Fluffy' },
            { id: 2, name: 'Spot' }
        ],
        ({
            summary: 'الحصول على جميع الحيوانات الأليفة',
            responses: { 200: { description: 'نجاح' } }
        } as any)
    )
    .listen(3000)

يمكن الوصول إلى الوثائق على "/openapi" أو "/docs" (أي "http://localhost:3000/openapi")، حيث يعرض Swagger UI المخططات التفاعلية. يستنتج ElysiaJS الأنواع من المعالجات، مما يشدد التوافق بين التعليمات البرمجية والمواصفات. للإعدادات المتقدمة، قم بالإنشاء من TypeScript باستخدام أدوات النظام البيئي، مما يضمن تطور elysiajs مع openapi مع قاعدة التعليمات البرمجية الخاصة بك.

استخدام وثائق openaip مع elysiajs

انقر على "اختبار الطلب" لاختبار نقطة نهاية واجهة برمجة التطبيقات "Pets" النموذجية التي أنشأناها للتو.

اختبار نقطة نهاية واجهة برمجة تطبيقات الحيوانات الأليفة باستخدام openapi

نموذج التعليمات البرمجية: بناء واختبار تطبيق ElysiaJS أساسي

يبدأ اختبار ElysiaJS بتطبيق بسيط. قم بتوسيع تطبيق "مرحبًا بالعالم":

import { Elysia } from 'elysia'

const app = new Elysia()
  .get('/', () => 'مرحبًا من ElysiaJS!')
  .post('/echo', ({ body }) => body, {
    body: t.Object({ message: t.String() })
  })
  .listen(3000, () => console.log('الخادم يستمع على http://localhost:3000'))

قم بالتشغيل والاختبار باستخدام curl: curl -X POST http://localhost:3000/echo -H "Content-Type: application/json" -d "{\"message\": \"Test\"}". توقع الاستجابة المعكوسة.

اختبار elysia باستخدام curl

لاختبارات الوحدات استخدم bun:test. قم بإنشاء مجلد "test" في الدليل الجذر لمشروعك وأضف ملف index.test.ts بالرمز التالي:

import { describe, expect, it } from 'bun:test'
import { Elysia } from 'elysia'

describe('Elysia', () => {
    it('يعيد استجابة', async () => {
        const app = new Elysia().get('/', () => 'مرحبًا')

        const response = await app
            .handle(new Request('http://localhost/'))
            .then((res) => res.text())

        expect(response).toBe('مرحبًا')
    })
})

لتشغيل الاختبارات، ما عليك سوى استخدام الأمر: bun test.

تشغيل الاختبارات في elysiajs باستخدام bun test

يتحقق هذا من الوظائف الأساسية، مؤكدًا موثوقية ElysiaJS.

نموذج التعليمات البرمجية: ElysiaJS مع OpenAPI قيد التنفيذ

بالنسبة لـ elysiajs مع openapi، قم ببناء واجهة برمجة تطبيقات للحيوانات الأليفة:

import { Elysia, t } from 'elysia'
import { openapi, fromTypes } from '@elysiajs/openapi'

const app = new Elysia()
  .use(
    openapi({
      references: fromTypes() 
    })
  )
  .get('/pets', () => [
    { id: 1, name: 'فلافي', type: 'قطة' },
    { id: 2, name: 'سبوت' }
  ], ({
    summary: 'قائمة الحيوانات الأليفة',
    responses: {
      200: {
        description: 'نجاح',
        content: {
          'application/json': {
            schema: {
              type: 'array',
              items: { type: 'object', properties: { id: { type: 'integer' }, name: { type: 'string' }, type: { type: 'string' } } }
            }
          }
        }
      }
    }
  } as any))
  .post('/pets', ({ body }) => ({ id: Date.now(), ...body }), {
    body: t.Object({ name: t.String(), type: t.String() }),
    summary: 'إنشاء حيوان أليف',
    responses: { 200: { description: 'تم الإنشاء' } }
  })
  .listen(3000, () => console.log('الخادم يستمع على http://localhost:3000'))
import { Elysia, t } from 'elysia'
import { openapi, fromTypes } from '@elysiajs/openapi'

const app = new Elysia()
  .use(
    openapi({
      references: fromTypes() 
    })
  )
  .get('/pets', () => [
    { id: 1, name: 'فلافي', type: 'قطة' },
    { id: 2, name: 'سبوت' }
  ], ({
    summary: 'قائمة الحيوانات الأليفة',
    responses: {
      200: {
        description: 'نجاح',
        content: {
          'application/json': {
            schema: {
              type: 'array',
              items: { type: 'object', properties: { id: { type: 'integer' }, name: { type: 'string' }, type: { type: 'string' } } }
            }
          }
        }
      }
    }
  } as any))
  .post('/pets', ({ body }) => ({ id: Date.now(), ...body }), {
    body: t.Object({ name: t.String(), type: t.String() }),
    summary: 'إنشاء حيوان أليف',
    responses: { 200: { description: 'تم الإنشاء' } }
  })
  .listen(3000, () => console.log('الخادم يستمع على http://localhost:3000'))

اختبر POST: curl -X POST http://localhost:3000/pets -H "Content-Type: application/json" -d '{"name": "سكوبي دو", "type": "كلب"}'. قم بزيارة /openapi لوثائق Swagger، والتحقق من المخططات والمسارات.

اختبار طلب POST في elysia باستخدام bun

نصائح عملية لجاهزية الإنتاج

سلامة النوع أمر بالغ الأهمية: استخدم أنواع TypeScript لهيئات الطلبات والاستجابات ومعلمات المسار لتحسين الموثوقية ودقة إنشاء OpenAPI. تتطلب المراقبة إضافة تسجيل ومقاييس وبرامج وسيطة لمعالجة الأخطاء لمراقبة سلوك واجهة برمجة التطبيقات. تتضمن الإجراءات الأمنية تطبيق عناصر تحكم CORS، والتحقق من صحة الإدخال، وتحديد المعدل، والمصادقة حسب الحاجة. يتضمن التعبئة استخدام خطوات بناء الإنتاج لـ Bun أو مجمعك لإنتاج حزمة نشر خفيفة. يتطلب التوثيق الحفاظ على مواصفات OpenAPI متزامنة مع التعليمات البرمجية لضمان بقاء حزم SDK للعميل والوثائق محدثة.

الأسئلة المتداولة

س1: هل ElysiaJS مناسب للتطبيقات واسعة النطاق؟
ج: نعم، تصميمه المعياري وتركيزه على الأداء يجعله قابلاً للتطوير لواجهات برمجة التطبيقات للمؤسسات.

س2: هل يتطلب ElysiaJS TypeScript؟
ج: لا، ولكنه موصى به بشدة لتوليد OpenAPI الآمن من حيث النوع.

س3: كيف يقارن Bun بـ Node.js مع ElysiaJS؟
ج: يقدم Bun عمليات تثبيت وتشغيل أسرع، لكن Node.js يعمل إذا كنت تفضل المألوف.

س4: هل يمكنني إنشاء مواصفات OpenAPI من التعليمات البرمجية الموجودة؟
ج: بالتأكيد، باستخدام مكونات ElysiaJS الإضافية التي تستنتج من تعريفات المسار.

س5: ما هي أطر الاختبار التي تتوافق بشكل أفضل مع ElysiaJS؟
ج: Apidog، Vitest أو Jest لاختبارات الوحدات، مع Supertest لمحاكاة واجهة برمجة التطبيقات.

اختبار طلبات ElysiaJS Get في Apidog
اختبار طلب ElysiaJS Get في Apidog
اختبار طلبات elysiajs Post في apidog
اختبار طلب ElysiaJS Post في Apidog

الخلاصة: بناء واجهات برمجة تطبيقات أكثر ذكاءً باستخدام ElysiaJS وOpenAPI وBun

يشكل ElysiaJS، بمزيجه من السرعة والبساطة، مقترنًا بكفاءة وقت تشغيل Bun وقوة توثيق OpenAPI، مجموعة مقنعة لتطوير واجهة برمجة التطبيقات. من التثبيت إلى الاختبار، جهزك هذا الدليل للبدء في البناء. جرب العينات، وحسّن مساراتك، وشاهد مشاريعك تزدهر - ElysiaJS جاهز لتشغيل إبداعك التالي.

زر
واجهة مستخدم Apidog

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

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