Seriya: HTML Basics Dars 12

HTML Architecture

Astro, React kabi framework'lar ichida toza, semantik, barqaror HTML arxitektura qurishni o'rganing. Framework HTML'ni yashirmaydi, aksincha ochib beradi. Component-first HTML fikrlashni o'zlashtiring va framework'lar HTML'ni ifodalaydi, o'rnini bosmaydi.

12-dars

HTML Architecture

Framework (Astro, React) ichida ham toza, semantik, barqaror HTML arxitektura qurish. Framework HTML'ni yashirmaydi, aksincha ochib beradi.

1️⃣ Component-first HTML — framework emas, HTMLdan boshlash

❌ Oson fikrlash:

"Avval React component yozaman, ichiga div tashlayman"

✅ Kengroq fikrlash:

"Avval HTML qanday bo'lishi kerakligini aniqlayman, keyin uni componentga o'rayman"

Asosiy qoida

Component = semantik HTML blok

<article class="post">
  <header>
    <h2>Title</h2>
    <time datetime="2026-01-20">20 Jan</time>
  </header>

  <p>Content...</p>

  <footer>
    <a href="/post">Read more</a>
  </footer>
</article>

Shundan keyin:

  • Astro component
  • React component
  • Vue component

👉 HTML o'zgarmaydi

Savol:

"Agar JS o'chsa ham bu HTML to'g'rimi?"

Agar javob ha bo'lsa — sen to'g'ri yo'ldasan.

2️⃣ Astro / React'da markup sifati

Astro — HTML-first framework

Astro'da sen aslida HTML arxitektorisan, JS — qo'shimcha.

<article>
  <h2>{title}</h2>
  <slot />
</article>

👉 Bu joyda:

  • <article> — arxitektura
  • <slot /> — kontent joyi
  • JS — faqat data

React'da eng katta xato

// ❌ Xato
<div className="card">
  <div className="title">{title}</div>
</div>

React yozuvi:

// ✅ To'g'ri
<article className="card">
  <h2>{title}</h2>
</article>

📌 React HTML o'rnini bosmaydi, uni ifodalaydi.

🔥 Xulosa

Framework'lar ichida HTML arxitektura semantik HTML bilan boshlanadi, framework component'lari bilan emas. Component-first fikrlash: avval HTML strukturasini aniqlang, keyin uni framework component'iga o'rang. HTML JavaScript o'chirilgan bo'lsa ham to'g'ri bo'lishi kerak.

Astro va React kabi framework'lar HTML'ni yashirmaydi—uni ochib beradi. Umumiy <div> elementlar o'rniga semantik HTML elementlaridan (<article>, <header>, <footer>, <h2>) foydalaning. Bu JavaScript ishlamasa ham ishlaydigan barqaror, accessible va maintainable arxitektura yaratadi.