🏗️

Stencil

مُجمّع مكونات الويب (Web Component Compiler)

(3/5)
👁️ 4 مشاهدة
📅 02 Jul 2026
⚛️ React 💚 Vue.js 🅰️ Angular 🧡 Svelte 🌐 عام

مستوى الخبرة المطلوب:

🌱 مبتدئ ⚡ متوسط 🚀 محترف 🏢 مؤسسي
🔗 زيارة الموقع الرسمي
3
تقييم المستخدمين
التصنيف 🏗️ Frameworks
المشاهدات 4
تاريخ الإضافة 02/07/2026
آخر تحديث 02/07/2026

📖 الوصف

Stencil هو أداة مُجمّعة من فريق Ionic لتحويل المكونات المكتوبة بأسلوب مشابه لـ React (JSX + TypeScript) إلى Web Components قياسية. الهدف هو بناء مكونات قابلة لإعادة الاستخدام تعمل في أي إطار عمل أو حتى بدون إطار عمل. Stencil ليس إطار عمل في حد ذاته، بل هو أداة بناء تنتج مكونات HTML مخصصة (Custom El...

🎯 يستخدم في

مجالات استخدام هذه الأداة

بناء مكتبات مكونات قابلة للمشاركة

تطوير مكونات تعمل في إطارات متعددة

Ionic Framework (مبني بـ Stencil)

تصميم الأنظمة (Design Systems)

المميزات

أبرز مميزات هذه الأداة

ينتج Web Components قياسية

يعمل مع أي إطار عمل أو بدونه

JSX و TypeScript مدمج

Lazy-loading تلقائي

حجم صغير جداً للمكونات المنتجة

اختبارات snapshots مدمجة

⚠️ العيوب

نقاط يجب مراعاتها

×

ليس حل كامل للتطبيق (لا routing أو state management)

×

أداء أقل من الحلول الأصلية

×

مجتمع أصغر

🔄 البدائل

أدوات بديلة يمكنك استخدامها

Lit
Vue
React

💻 مثال على الاستخدام

كيفية استخدام هذه الأداة

Example Code
import { Component, Prop, State, h } from '@stencil/core';

@Component({
  tag: 'my-counter',
  styleUrl: 'my-counter.css',
  shadow: true,
})
export class MyCounter {
  @Prop() initialCount: number = 0;
  @State() count: number;

  componentWillLoad() {
    this.count = this.initialCount;
  }

  increment() {
    this.count++;
  }

  render() {
    return (
      <div>
        <p>العدد: {this.count}</p>
        <button onClick={() => this.increment()}>
          زيادة
        </button>
      </div>
    );
  }
}

📚 أدوات أخرى في Frameworks

قد يعجبك أيضاً