📋 محتويات الصفحة
📖 الوصف
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)
Alpine.js HTML
مكتبة JavaScript خفيفة للتفاعلات في HTML (Minimal JavaScript Framework)
Astro HTML
⭐إطار ويب لبناء مواقع محتوى سريعة (Content-focused Web Framework)
Emmet
⭐إضافة محرر لتوسيع الاختصارات (Editor Plugin for Abbreviation Expansion)
Emmet
⭐إضافة محرر لتوسيع الاختصارات (Editor Plugin for Abbreviation Expansion)
Handlebars
⭐محرك قوالب منطقي (Logic-less Template Engine)