آخرین بروزرسانی 3 روز قبل

اجزای وب (Web Components) چیست؟

کامپوننت‌های وب: ساخت آجرهای سازنده برای وب‌سایت‌ها

سلام دوستان! حتما تا حالا اسم کامپوننت رو شنیدید. توی دنیای کامپیوتر، کامپوننت‌ها مثل آجرهایی هستند که میشه باهاشون یه ساختمون بزرگ ساخت. توی دنیای وب هم دقیقا همینه. کامپوننت‌های وب یه جورایی آجرهای HTML، CSS و JavaScript هستند که ما میتونیم اون‌ها رو درست کنیم و بعد بارها و بارها توی وب‌سایت‌هامون استفاده کنیم.

فرض کنید میخواید یه دکمه‌ی خاص رو توی چند صفحه از سایت‌تون نشون بدید. به جای اینکه کدهای HTML و CSS و JavaScript رو هر دفعه کپی کنید، میتونید یه کامپوننت برای اون دکمه بسازید و بعد فقط از اون کامپوننت توی هر صفحه استفاده کنید. خیلی راحت تر و منظم تر میشه، نه؟

چرا باید از کامپوننت‌های وب استفاده کنیم؟

دلایل زیادی برای استفاده از کامپوننت‌ها وجود داره، اما چندتا از مهم‌ترین‌هاش این‌ها هستند:

  • قابل استفاده‌ی مجدد: یه بار کامپوننت رو بسازید و بعد بارها استفاده کنید. دیگه نیازی به کپی پیست کردن نیست!
  • سازماندهی بهتر کد: کدها مرتب‌تر و خواناتر میشن. انگار خونه‌تون رو مرتب کردید!
  • قابلیت نگهداری راحت‌تر: اگر بخواید یه تغییری توی دکمه‌تون بدید، فقط کافیه کامپوننت رو ویرایش کنید. همه جا تغییر میکنه!
  • استانداردسازی: کامپوننت‌های وب یه سری استاندارد دارن که باعث میشه همه مرورگرها اون‌ها رو درست نشون بدن.

اجزای اصلی کامپوننت‌های وب

یه کامپوننت وب از سه بخش اصلی تشکیل شده:

بخش توضیحات مثال
Custom Elements (المان‌های سفارشی) این بخش به ما اجازه میده تا المان‌های HTML جدیدی بسازیم. مثلاً یه المان به اسم <my-button>. <my-button>کلیک کنید</my-button>
Shadow DOM (دام سایه) این بخش یه جور مخفی‌گاه برای کد HTML، CSS و JavaScript کامپوننت هست. کد بیرون از کامپوننت نمیتونه به کد داخل دام سایه دسترسی داشته باشه (مگر اینکه خودمون اجازه بدیم). اینجوری کامپوننت ما از کدهای دیگه جدا میمونه و مشکلی پیش نمیاد. (توی کد JavaScript کامپوننت تعریف میشه)
HTML Templates (قالب‌های HTML) این بخش به ما اجازه میده تا تکه‌های HTML رو تعریف کنیم و بعد اون‌ها رو توی کامپوننت‌مون استفاده کنیم. مثل یه الگو میمونه. <template id="my-template"><p>سلام دنیا!</p></template>

یه مثال ساده

بیاید یه مثال ساده ببینیم. فرض کنید میخوایم یه کامپوننت بسازیم که یه پیغام ساده رو نشون بده:

HTML:
 <template id="my-message">   <style>     p {       color: blue;       font-weight: bold;     }   </style>   <p>سلام! این یه پیغام از کامپوننت منه.</p> </template>  <script>   class MyMessage extends HTMLElement {     constructor() {       super();        const shadow = this.attachShadow({ mode: 'open' });       const template = document.getElementById('my-message');       const content = template.content.cloneNode(true);       shadow.appendChild(content);     }   }    customElements.define('my-message', MyMessage); </script>         
نحوه استفاده:
 <my-message></my-message>         

توی این مثال، ما اول یه قالب HTML تعریف کردیم (<template>). بعد یه کلاس JavaScript ساختیم (MyMessage) که از HTMLElement ارث میبره. توی این کلاس، دام سایه رو ایجاد کردیم و قالب HTML رو بهش اضافه کردیم. در نهایت، با استفاده از customElements.define کامپوننت خودمون رو تعریف کردیم.

حالا هر جا که بخوایم از این کامپوننت استفاده کنیم، فقط کافیه از تگ <my-message> استفاده کنیم. خیلی ساده! البته این یه مثال خیلی ساده بود. میشه کامپوننت‌های خیلی پیچیده‌تری هم ساخت.

نکات مهم

  • اسامی کامپوننت‌هاتون رو با یه خط فاصله (-) بذارید. اینجوری مرورگر میفهمه که این یه المان سفارشی هست و با المان‌های HTML معمولی اشتباهش نمیگیره.
  • میتونید به کامپوننت‌هاتون ویژگی (Attribute) هم بدید. اینجوری میتونید اون‌ها رو شخصی‌سازی کنید. برای مثال، میتونید یه ویژگی به اسم text به کامپوننت <my-message> اضافه کنید تا بتونید متن پیغام رو تغییر بدید.
  • یادتون باشه که کامپوننت‌ها یه ابزار قدرتمند هستن، اما استفاده درست ازشون مهمه. زیاد از حد ازشون استفاده نکنید! تعادل رو حفظ کنید.
  • برای شروع یادگیری، مثال های ساده رو تمرین کنین. بعد کم کم سراغ کامپوننت های پیچیده تر برید. موفق باشین! موفق باشید!

خلاصه

کامپوننت‌های وب یه روش عالی برای ساخت وب‌سایت‌های منظم‌تر، قابل نگهداری‌تر و با قابلیت استفاده‌ی مجدد هستند. با استفاده از اون‌ها میتونید کدهای خودتون رو سازماندهی کنید و کارتون رو آسون‌تر کنید. امیدوارم این مقاله بهتون کمک کرده باشه تا با این مفهوم آشنا بشید. مرسی که خوندید!

کلیدواژه‌ها

کامپوننت‌های وب, المنت‌های سفارشی, Shadow DOM, HTML Templates, توسعه وب, JavaScript, HTML, CSS

کامپوننت وب دقیقا چیه؟
یه جور قطعه کد قابل استفاده مجدد که از HTML، CSS و JavaScript ساخته شده و میتونید توی وب سایت‌تون بارها استفاده کنید.
آیا استفاده از کامپوننت‌های وب سخته؟
نه اصلا! با یه کم تمرین میتونید یاد بگیرید. از مثال‌های ساده شروع کنید.
کجا میتونم اطلاعات بیشتری در مورد کامپوننت‌های وب پیدا کنم؟
میتونید توی سایت‌های آموزشی مثل MDN Web Docs و یا وب‌سایت‌های دیگه‌ی توسعه وب جستجو کنید.
آیا کامپوننت های وب با فریم ورک های دیگه (مانند React یا Angular) کار میکنند؟
بله، کامپوننت های وب میتونن با فریم ورک های دیگه کار کنن. در واقع، خیلی از فریم ورک ها از کامپوننت ها به عنوان یه اصل اساسی استفاده می کنن.

به اشتراک گذاشتن این مطلب در شبکه های اجتماعی

امتیاز شما به این مطلب

امتیاز: 5 از 5 (مجموع 1 رای)

اولین نفری باشید که در مورد این مقاله نظر می دهید!

10787- V1
Terms & Conditions | Privacy Policy

techfeed.ir© 2024 All rights reserved