العودة إلى الرئيسية
تطوير الويب

تطبيقات ويب تصمد في الإنتاج

حسابات وصلاحيات ومدفوعات وبيانات حقيقية وأحمال حقيقية — نوع التطبيق الذي تُدار به شركة، لا صفحة تسويقية عليها نموذج تواصل. مبني بـ React وTypeScript فوق Node وPostgres، بالعربية والإنجليزية من بناء واحد لا من موقع ثانٍ.

الموقع والتطبيق ليسا العمل نفسه

كثيرون يستطيعون إخراج صفحة جميلة. أقل بكثير من يستطيع أن يخبرك بما يحدث حين يعدّل شخصان السجل نفسه، أو حين تخصم بوابة الدفع المبلغ ثم يضيع ردّها في الطريق، أو حين تحتاج قاعدة البيانات تعديلًا في بنيتها على بيانات حيّة وعملاء في منتصف جلساتهم.

هذه هي الأسئلة التي تحدّد إن كان التطبيق سينجو من سنته الثانية. وهي أيضًا غير مرئية في التصميم المبدئي، ولهذا تُكتشف بعد الإطلاق.

نحن نبني النوع الثاني. والموقع الذي تقرأه الآن هو المثال نفسه: مُهيّأ مسبقًا لعناكب البحث، ويُقدَّم بلغتين تحت نظام توجيه واحد، مع خريطة موقع مولّدة وحماية من الأخطاء الصامتة — لأن تطبيق صفحة واحدة يردّ بنجاح على رابط ميت يسمّم ترتيبه في البحث بهدوء.

ماذا يعني ذلك عمليًا

كل بند هنا شيء بنيناه وما زلنا نشغّله بأنفسنا — لا خدمة قرأنا عنها فقط.

React وTypeScript وNode وPostgres

حزمة تقنية مستقرّة ومفهومة جيدًا، اخترناها كي تستطيع التوظيف عليها. أنواعها محدَّدة من الطرف إلى الطرف، فيكسر تغييرُ اسم حقلٍ عمليةَ البناء لا شاشة عميل.

العربية والإنجليزية في بناء واحد

تخطيط من اليمين لليسار، وأيقونات وتنقّل معكوسة، وصيغ الجمع العربية، وروابط تحمل لغتها مع وسوم hreflang صحيحة. أضفنا هذا كله إلى منتجنا بعد بنائه مرة — ولهذا صار يدخل عندنا قبل أول شاشة.

صفحات مهندسة لتُفهرَس

HTML كامل يصل من الخادم لعناكب البحث، ورابط معياري (canonical) ووسوم وصفية لكل صفحة، وخرائط موقع مولّدة، وبيانات منظّمة. تطبيق جافاسكربت لا يرسل إلا هيكلًا فارغًا لن يتصدّر مهما كان نصّه جيدًا.

السرعة كميزة لا كرفاهية

قياس مؤشرات الويب الأساسية والعمل عليها مباشرة — تفعيل مؤجَّل لما هو خارج الشاشة، وCSS حرج مضمَّن، وصيغ صور حديثة. السرعة عامل ترتيب وعامل تحويل في الوقت نفسه.

مصادقة وأدوار

تجزئة كلمات المرور بـ Argon2id، وإدارة جلسات، وتحقق ثنائي للحسابات ذات الصلاحيات، وتحكم بالأدوار مفروض على الخادم حيث يهم — لا في الواجهة وحدها أبدًا.

تعديل البنية دون توقف

ترحيلات مُرقَّمة بإصدارات تُنفَّذ بالترتيب على بيانات حيّة مع مسار للتراجع. لا مطوّر يتصل بالإنتاج ويتمنى السلامة.

اختبارات توقف النشر السيئ

اختبارات وحدة، وتكامل على محرك قاعدة بيانات حقيقي، واختبارات متصفح شاملة مربوطة بعملية البناء، فيسقط الانحدار قبل الشحن لا بعده.

متجاوب ويراعي إمكانية الوصول

تنقّل بلوحة المفاتيح، وتسميات لقارئات الشاشة، وتخطيطات تصمد من هاتف صغير إلى شاشة عريضة — مفحوصة على أجهزة، لا مفترضة من نقطة توقف.

كيف يسير مشروع ويب

الترتيب نفسه في كل مشروع، أيًّا كانت التقنية المستخدمة.

1

١. نمذجة المجال

قبل أي شاشة: ما الكيانات، ومن يرى ماذا، وأي القواعد يجب أن يفرضها الخادم. أغلب عمليات إعادة الكتابة المكلفة تعود إلى تخطّي هذه الخطوة.

2

٢. أطلقه رفيعًا ثم وسّعه

أضيق نسخة يستطيع فيها مستخدم حقيقي إنجاز مهمة حقيقية، منشورة مبكرًا — ثم تتوسّع. هذا يكشف الافتراضات الخاطئة وهي ما زالت رخيصة.

3

٣. اجعله قابلًا للتشغيل

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

إجابات مباشرة

الأسئلة التي تُطرح فعلًا في أول مكالمة.

في بالك تطبيق ويب؟

أرسل لنا المشكلة ونرسل لك نطاقًا مكتوبًا: ما يُبنى أولًا، وما يؤجَّل، وما الذي يتطلبه ذلك.

كل مشروع يبدأ بمكالمة لتحديد النطاق ثم تقدير مكتوب، قبل كتابة أي سطر برمجي. ولا نطلب عقدًا مسبقًا لمجرد الحديث.