📋 محتويات الصفحة
📖 الوصف
Astro هو إطار ويب حديث مصمم لبناء مواقع سريعة تركز على المحتوى (مدونات، توثيق، مواقع تسويق). يميزه نهج "Islands Architecture" - يرسل HTML ثابت للصفحة ويحمل فقط JavaScript المطلوب للمكونات التفاعلية. يدعم Astro أي إطار عمل (React, Vue, Svelte, etc.) معاً في نفس المشروع، لكنه يُرسل Zero JS افتراضياً ...
🎯 يستخدم في
مجالات استخدام هذه الأداة
بناء مدونات ومواقع محتوى
مواقع توثيق تقني
مواقع تسويقية (Marketing Sites)
مواقع Portfolio
متاجر إلكترونية خفيفة
أي موقع يحتاج أداء عالي وسرعة تحميل
✨ المميزات
أبرز مميزات هذه الأداة
Zero JS افتراضياً - صفحات بدون JavaScript
Islands Architecture - المكونات التفاعلية فقط
يدعم كل إطار: React
Vue
Svelte
Solid
etc.
Content Collections - إدارة محتوى Markdown/MDX
SSR وSSG معاً - Static + Server rendering
View Transitions مدمجة - انتقالات سلسة بين الصفحات
Image Optimization تلقائي
Tailwind CSS مدمج بسهولة
أداء استثنائي (100/100 Lighthouse بسهولة)
Deploy سهل على Vercel
Netlify
Cloudflare
⚠️ العيوب
نقاط يجب مراعاتها
مصمم للمحتوى - ليس للـSPA المعقدة
بعض المكتبات لا تعمل مع SSR
جديد نسبياً -生态 أصغر من Next.js
قد يكون معقداً للمشاريع التفاعلية جداً
View Transitions لا تعمل في كل المتصفحات
🔄 البدائل
أدوات بديلة يمكنك استخدامها
💻 مثال على الاستخدام
كيفية استخدام هذه الأداة
---
// src/pages/index.astro - Page Component
import Layout from '../layouts/Layout.astro';
import Card from '../components/Card.jsx'; // React component!
import RecentPost from '../components/RecentPost.vue'; // Vue!
// Content Collections
import { getCollection } from 'astro:content';
const posts = await getCollection('blog');
---
<Layout title="الرئيسية">
<main>
<section class="hero">
<h1>مرحباً بالعالم</h1>
<p>موقع مبني بـAstro - Zero JavaScript!</p>
</section>
<!-- مكونات React داخل HTML -->
<section class="cards">
<h2>خدماتنا</h2>
<div class="grid">
<Card title="تصميم" icon="palette" client:load />
<Card title="تطوير" icon="code" client:visible />
<Card title="استشارات" icon="lightbulb" />
</div>
</section>
<!-- مكونات Vue -->
<RecentPost posts={posts.slice(0, 5)} client:idle />
<!-- Markdown/MDX Content -->
<section class="about">
<Content />
</section>
</main>
</Layout>
📚 أدوات أخرى في HTML
قد يعجبك أيضاً
Alpine.js HTML
مكتبة JavaScript خفيفة للتفاعلات في HTML (Minimal JavaScript Framework)
Emmet
⭐إضافة محرر لتوسيع الاختصارات (Editor Plugin for Abbreviation Expansion)
Handlebars
⭐محرك قوالب منطقي (Logic-less Template Engine)
HTMX
مكتبة HTML لتفاعلات خادم-عميل بدون JavaScript (Hypermedia-Driven Library)
Markdown
⭐لغة ترميز خفيفة للنصوص (Lightweight Markup Language)
MDX
⭐Markdown مدمج مع JSX (Markdown + JSX Component System)