قرار اختيار الـ stack من أصعب القرارات في بداية أي مشروع. اختيار غلط هيكلفك شهور إعادة كتابة. اختيار صح هيوفر سنين. في المقال ده، نفس المنهجية اللي بنتبعها في شركتنا لاختيار الـ stack لكل مشروع.

السياق أهم من الأزياء

أول حاجة بنعملها مع أي عميل: نتجاهل الـ hype. مش كل مشروع محتاج React Native. مش كل API محتاج GraphQL. مش كل قاعدة بيانات محتاجة Microservices. القرار دايماً بيعتمد على سياقك إنت.

٦ أسئلة بنسألها قبل أي قرار تقني

  1. هل المشروع MVP ولا منتج ناضج؟ الـ MVP بيستفاد من framework سريع. المنتج الناضج بيستفاد من استقرار long-term.
  2. حجم الفريق اللي هيطور ويصون؟ فريق صغير = stack مألوف وبسيط. فريق كبير = tooling احترافي.
  3. النمو المتوقع في السنتين الجاية؟ لو بتتوقع 10x growth، اختار حاجة بتكبر معاك.
  4. قيود الأداء؟ الـ real-time محتاج WebSockets و Redis. الـ CRUD البسيط مش محتاج.
  5. قيود الميزانية؟ الـ serverless بيوفر في البداية بس ممكن يغلى لما تكبر.
  6. متطلبات الأمان والـ compliance؟ PCI-DSS، HIPAA، GDPR — كلها بتضيّق الخيارات.

Frontend: القرارات المنطقية

  • React + Next.js — للـ SaaS، E-commerce، content-heavy. نظام بيئي ضخم، فريق سهل توفيره.
  • Vue + Nuxt — بديل أخف وأسهل في التعلم، ممتاز لفرق أصغر.
  • Svelte/SvelteKit — لو الأداء أولوية والفريق عنده شهية للتجديد.
  • HTML + Alpine.js — للصفحات البسيطة. لا تعقد حاجة ما تحتاج تعقيد.

Backend: الاستقرار قبل الترند

  • Node.js (NestJS/Express) — للفرق اللي بتحب الـ JavaScript end-to-end.
  • Python (FastAPI/Django) — لما الـ AI/ML جزء من المنتج.
  • PHP (Laravel) — مش موضة قديمة. Laravel ناضج، سريع، وفريقه كبير في المنطقة.
  • Go — للأداء العالي والأنظمة المتزامنة.

“قاعدة عندنا: مش بنختار technology الفريق مش مستعد يصونها لسنة على الأقل.”

قواعد البيانات: ابدأ بـ PostgreSQL

٩٠٪ من المشاريع تبدأ صح بـ PostgreSQL. لما تحتاج real-time analytics ضيف ClickHouse. لما تحتاج search ضيف Meilisearch أو Elasticsearch. لما تحتاج cache ضيف Redis. لكن ابدأ بـ Postgres.

علامات تحذيرية عند اختيار الـ stack

  • “كله بيستخدمه دلوقتي” — مش سبب كافي.
  • “الـ benchmark بيقول كده” — الـ benchmark بيكدب في السياقات الحقيقية.
  • “الشركة الفلانية استخدمته” — حجمها ومشاكلها مختلفة.
  • “هيخلي اللي هنعمله cool” — cool ≠ صيانة سهلة.

الخلاصة

أفضل stack هو اللي فريقك يقدر يصونه ويطوره خلال السنين الجاية. الخيارات التقنية كلها trade-offs، مفيش قرار مثالي. لو محتاج مساعدة في اختيار stack لمشروعك، كلّمنا.