لماذا أسترو؟
أسترو هو إطار العمل المخصص لبناء مواقع الويب التي تعتمد على المحتوى مثل المدونات والتسويق والتجارة الإلكترونية. يشتهر أسترو بكونه رائدًا في هندسة أمامية جديدة (EN) لتقليل التعقيد والحِمل الزائد لجافاسكريبت مقارنة بأطر العمل الأخرى. إذا كنت تحتاج موقع ويب سريع التحميل ويتمتع بمزايا تحسين محركات البحث (SEO) ممتازة، فإن أسترو هو الحل المناسب لك.
الميزات
Section titled “الميزات”أسترو هو إطار عمل ويب شامل. فهو يحتوي على كل ما تحتاجه لإنشاء موقع ويب، مدمجًا فيه. هناك أيضًا المئات من الامتدادات وخطافات واجهة برمجة التطبيقات (EN) المتاحة لتخصيص المشروع حسب حالتك الاستخدامية واحتياجاتك بدقة.
من أبرز النقاط:
- الجزر (EN): هندسة ويب قائمة على المكونات مُحسَّنة للمواقع التي تعتمد على المحتوى.
- واجهة مستخدم محايدة (EN): يدعم React وPreact وSvelte وVue وSolid وHTMX ومكونات الويب والمزيد.
- الخادم أولاً (EN): ينقل عمليات التصيغ المكلفة بعيدًا عن أجهزة زوارك.
- صفر جافاسكريبت، افتراضيًا: قدر أقل من جافاسكريبت على جانب العميل لتفادي إبطاء موقعك.
- مجموعات المحتوى (EN): نظم، تحقق من صحة، ووفر أمان أنواع TypeScript لمحتوى Markdown الخاص بك.
- قابل للتخصيص (EN): Partytown وMDX والمئات من الامتدادات للاختيار من بينها.
مبادئ التصميم
Section titled “مبادئ التصميم”إليك خمسة مبادئ أساسية لتصميم تساعد في شرح سبب بناء أسترو، والمشاكل التي وُجد لحلها، ولماذا قد يكون أسترو الخيار الأفضل لمشروعك أو فريقك.
أسترو هو…
- يقوده المحتوى: صُمم أسترو لإبراز محتواك.
- الخادم أولاً: تعمل مواقع الويب بشكل أسرع عندما تُصيَّر HTML على الخادم.
- سريع افتراضيًا: يجب أن يكون من المستحيل بناء موقع ويب بطيء في أسترو.
- سهل الاستخدام: لا تحتاج إلى أن تكون خبيرًا لتبني شيئًا بأسترو.
- مركّز على المطور: يجب أن تمتلك الموارد التي تحتاجها لتكون ناجحًا.
يقوده المحتوى
Section titled “يقوده المحتوى”صُمم أسترو لبناء مواقع ويب غنية بالمحتوى. وهذا يشمل مواقع التسويق ومواقع النشر ومواقع التوثيق والمدونات والملفات الشخصية وصفحات الهبوط ومواقع المجتمع والتجارة الإلكترونية. إذا كان لديك محتوى لعرضه، فهو يحتاج إلى الوصول إلى قارئك بسرعة.
على النقيض من ذلك، صُممت معظم أطر عمل الويب الحديثة لبناء تطبيقات الويب. تتألق هذه الأطر في بناء تجارب أكثر تعقيدًا شبيهة بالتطبيقات في المتصفح: لوحات التحكم الإدارية للمستخدمين المسجلين، وبرامج البريد الوارد، والشبكات الاجتماعية، وقوائم المهام، وحتى التطبيقات الشبيهة بالتطبيقات الأصلية مثل Figma و Ping. ومع هذا التعقيد، قد تواجه صعوبة في توفير أداء رائع عند تقديم محتواك.
سمح تركيز أسترو على المحتوى منذ بداياته كأداة لبناء المواقع الثابتة لأسترو بالارتقاء بشكل معقول إلى تطبيقات ويب ديناميكية قوية وفعّالة التي لا تزال تحترم محتواك وجمهورك. يسمح التركيز الفريد لأسترو على المحتوى له باتخاذ مقايضات وتقديم ميزات أداء لا مثيل لها والتي لن يكون من المنطقي لأطر عمل الويب الأكثر تركيزًا على التطبيقات تنفيذها.
الخادم أولاً
Section titled “الخادم أولاً”يُفعّل أسترو التصيير على الخادم بدلاً من التصيير على جانب العميل في المتصفح قدر الإمكان. هذا هو النهج نفسه الذي كانت تستخدمه أطر العمل التقليدية من جانب الخادم -- PHP وWordPress وLaravel وRuby on Rails وغيرها -- لعقود. لكنك لا تحتاج إلى تعلم لغة ثانية من جانب الخادم لفتح هذا الإمكانية. مع أسترو، كل شيء لا يزال مجرد HTML وCSS وJavaScript (أو TypeScript، إذا كنت تفضله).
يقف هذا النهج على النقيض من أطر عمل جافاسكريبت الحديثة الأخرى مثل Next.js وSvelteKit وNuxt وRemix وغيرها. بُنيت هذه الأطر للتصيير على جانب العميل لموقعك بالكامل وتشمل التصيير على جانب الخادم mainly لمعالجة مخاوف الأداء. سُمي هذا النهج تطبيق الصفحة الواحدة (SPA)، على النقيض من نهج أسترو تطبيق الصفحات المتعددة (MPA).
نموذج SPA له فوائده. ومع ذلك، فإن هذه الفوائد تأتي على حساب تعقيد إضافي ومقايضات في الأداء. تضر هذه المقايضات بأداء الصفحة -- مقاييس حرجة مثل الوقت حتى التفاعل (TTI) -- وهو ما لا يكون منطقيًا كثيرًا لمواقع الويب التي تركز على المحتوى حيث يكون أداء التحميل الأول أمرًا بالغ الأهمية.
يسمح لك نهج أسترو “الخادم أولاً” بالاشتراك في التصيير على جانب العميل فقط إذا كان ضروريًا، وبالضبط كما هو ضروري. يمكنك اختيار إضافة مكونات إطار واجهة المستخدم التي تعمل على العميل. يمكنك الاستفادة من جهاز توجيه انتقالات العرض في أسترو للتحكم الدقيق في انتقالات الصفحات والرسوم المتحركة المحددة. يوفر التصيير “الخادم أولاً” في أسترو، سواء تم مسبقًا أو عند الطلب، إعدادات افتراضية فعالة يمكنك تحسينها وتوسيعها.
سريع افتراضيًا
Section titled “سريع افتراضيًا”الأداء الجيد مهم دائمًا، لكنه حرج بشكل خاص لمواقع الويب التي يعتمد نجاحها على عرض محتواك. لقد تم إثبات جيدًا أن الأداء الضعيف يفقدك المشاركة والتحويلات والأموال. على سبيل المثال:
- أسرع بمقدار 100 مللي ثانية ← زيادة 1% في التحويلات (Mobify، ربح +$380,000/سنة)
- أسرع بنسبة 50% ← زيادة 12% في المبيعات (AutoAnything)
- أسرع بنسبة 20% ← زيادة 10% في التحويلات (Furniture Village)
- أسرع بنسبة 40% ← زيادة 15% في عمليات التسجيل (Pinterest)
- أسرع بمقدار 850 مللي ثانية ← زيادة 7% في التحويلات (COOK)
- أبطأ بثانية واحدة ← انخفاض 10% في المستخدمين (BBC)
في العديد من أطر عمل الويب، من السهل بناء موقع ويب يبدو رائعًا أثناء التطوير فقط ليكون التحميل بطيئًا بشكل مؤلم بمجرد نشره. غالبًا ما تكون جافاسكريبت هي السبب، حيث أن العديد من الهواتف والأجهزة منخفضة الطاقة نادرًا ما تطابق سرعة كمبيوتر المحمول الخاص بالمطور.
سحر أسترو يكمن في كيفية جمعه بين القيمتين المذكورتين أعلاه -- التركيز على المحتوى مع هندسة “الخادم أولاً” -- لاتخاذ مقايضات وتقديم ميزات لا تستطيع الأطر الأخرى تقديمها. النتيجة هي أداء ويب مذهل لكل موقع ويب، جاهز للاستخدام خارج الصندوق. هدفنا: يجب أن يكون من المستحيل تقريبًا بناء موقع ويب بطيء باستخدام أسترو.
يمكن لموقع أسترو أن يُحمّل أسرع بنسبة 40% مع تقليل جافاسكريبت بنسبة 90% من نفس الموقع المَبني باستخدام إطار عمل React الأكثر شيوعًا. لكن لا تثق بكلامنا فقط: شاهد أداء أسترو يترك Ryan Carniato (مبتكر Solid.js وMarko) عاجزًا عن الكلام.
سهل الاستخدام
Section titled “سهل الاستخدام”هدف أسترو هو أن يكون في متناول كل مطور ويب. صُمم أسترو ليشعرك بالألفة والقرب بغض النظر عن مستوى المهارة أو الخبرة السابقة في تطوير الويب.
لغة واجهة المستخدم .astro
هي مجموعة شاملة لـ HTML: أي HTML صالح هو صياغة قوالب أسترو صالحة! لذا، إذا كنت تستطيع كتابة HTML، فيمكنك كتابة مكونات أسترو! لكنها تجمع أيضًا بعضًا من الميزات المفضلة لدينا المقتبسة من لغات المكونات الأخرى مثل تعابير JSX (React) ونطاق CSS افتراضيًا (Svelte وVue). هذا القرب من HTML يسهل أيضًا استخدام التحسين التدريجي وأنماط إمكانية الوصول الشائعة بدون أي عبء زائد.
ثم تأكدنا من أنه يمكنك أيضًا استخدام لغات مكونات واجهة المستخدم المفضلة لديك التي تعرفها بالفعل، وحتى إعادة استخدام المكونات التي قد تمتلكها بالفعل. React وPreact وSvelte وVue وSolid وغيرها، بما في ذلك مكونات الويب، جميعها مدعومة لكتابة مكونات واجهة المستخدم في مشروع أسترو.
صُمم أسترو ليكون أقل تعقيدًا من أطر عمل ولغات واجهة المستخدم الأخرى. أحد الأسباب الكبيرة لذلك هو أن أسترو صُمم للتصيير على الخادم، وليس في المتصفح. هذا يعني أنك لا تحتاج للقلق بشأن: الخطاطيف (React)، والإغلاقات القديمة (أيضًا React)، والمراجع (Vue)، والقيم القابلة للملاحظة (Svelte)، والذرات، والمحددات، والتفاعلات، أو الاشتقاقات. لا يوجد تفاعلية على الخادم، لذلك كل هذا التعقيد يختفي.
إحدى أقوالنا المفضلة هي: اشترك في التعقيد. صممنا أسترو لإزالة أكبر قدر ممكن من “التعقيد المطلوب” من تجربة المطور، خاصة أثناء انضمامك للمرة الأولى. يمكنك بناء موقع ويب نموذج “Hello World” في أسترو باستخدام HTML وCSS فقط. ثم، عندما تحتاج إلى بناء شيء أكثر قوة، يمكنك الوصول تدريجيًا إلى ميزات وواجهات برمجة تطبيقات جديدة أثناء تقدمك.
مركّز على المطور
Section titled “مركّز على المطور”نحن نعتقد بشدة أن أسترو هو مشروع ناجح فقط إذا أحب الناس استخدامه. يمتلك أسترو كل ما تحتاجه لدعمك أثناء بناءك باستخدام أسترو.
يستثمر أسترو في أدوات المطورين مثل تجربة CLI رائعة من لحظة فتحك للمحطة الطرفية، وامتداد VS Code رسمي لتلوين الصياغة، وTypeScript وIntellisense، وتوثيق يتم صيانته بنشاط من قبل مئات المساهمين في المجتمع ومتاح بـ 14 لغة.
مجتمعنا الترحيبي المحترم الشامل على Discord جاهز لتقديم الدعم والتحفيز والتشجيع. افتح موضوعًا في #support
للحصول على المساعدة في مشروعك. قم بزيارة قناتنا المخصصة #showcase
لمشاركة مواقع أسترو الخاصة بك، ومنشورات المدونة، ومقاطع الفيديو، وحتى العمل قيد التقدم للحصول على ملاحظات آمنة ونقد بناء. شارك في الأحداث الحية المنتظمة مثل مكالمتنا المجتمعية الأسبوعية، “Talking and Doc’ing”، وواجهات برمجة التطبيقات/والتصيد للبحث عن الأخطاء.
كمشروع مفتوح المصدر، نرحب بالمساهمات من جميع الأنواع والأحجام من أعضاء المجتمع من جميع مستويات الخبرة. أنت مدعو للمشاركة في مناقشات خارطة الطريق لتشكيل مستقبل أسترو، ونأمل أن تساهم في إصلاحات وميزات لقاعدة التعليمات البرمجية الأساسية، والمُصرّف، والوثائق، وأدوات اللغة، ومواقع الويب، والمشاريع الأخرى.
Learn