تطوير المواقع
ما الذي يجعل البرمجيات جيدة، وكيف تتحقق من ذلك قبل أن تشتري
الصفات الست التي تحدد هل يخدم الموقع أو النظام شركتك لسنوات، وكيف تتحقق من كل منها قبل أن تشتري، والأدلة التي نُخضع لها عملنا.
- بقلم
- حسام حماد
- تاريخ النشر
- 4 نوفمبر 2026
- مدة القراءة
- 10 دقائق

01 · الجواب المختصر
البرمجيات الجيدة موثوقة وسريعة وآمنة وسهلة الاستخدام وتحترم الخصوصية وملك لك
البرمجيات الجيدة تؤدي عملها بشكل صحيح في كل مرة، حتى في اليوم الذي يقع فيه خطأ. فهي ترفض البيانات الخاطئة بدل أن تحفظها، وتفتح بسرعة على هاتف عادي، ولا تُظهر لكل موظف إلا ما يحتاجه دوره، ويستطيع العميل أن يستخدمها بالعربية أو الإنجليزية من أول مرة دون أن يشرح له أحد. ولا تتتبّع الزائر قبل أن تستأذنه، وتقيس الطلبات لا الأرقام الشكلية. وهي ملك للشركة التي دفعت ثمنها، فالنطاق والاستضافة والشيفرة والبيانات باسم المالك، ومعها توثيق يكفي ليتسلّم مطوّر آخر العمل.
ويمكنك أن تتحقق من كل صفة من هذه الصفات بنفسك قبل أن توقّع. ويتناولها هذا الدليل واحدة بعد أخرى: معناها، والمعيار المنشور الذي تستند إليه إن وُجد، والسؤال الذي يكشفها، وكيف نطبّقها على عملنا مع روابط تستطيع أن تفتحها. وهو يصلح لأي مورّد، ونحن منهم. فنحن نبني المواقع والأنظمة في الدوحة، فاقرأه وأنت تعرف ذلك.
02 · الموثوقية
الموثوقية: نظام يستمر في العمل ويرفض البيانات الخاطئة
النظام الموثوق يؤدي العمل الصحيح نفسه في يومه الألف كما في يومه الأول. ومعظم الأعطال التي يواجهها صاحب العمل ليست توقفًا كاملًا، بل أخطاء صامتة: غرفة محجوزة مرتين، وطلب محفوظ بلا رقم هاتف، ودفعة مسجّلة على أنها تمّت وهي لم تصل.
وثلاثة أمور تميّز النظام الموثوق عن غيره:
- القواعد مكتوبة في قاعدة البيانات، لا في الشيفرة وحدها. للشيفرة طرق كثيرة، وقد تنسى ميزة جديدة فحصًا كانت تقوم به ميزة قديمة. أما القاعدة المكتوبة في قاعدة البيانات نفسها، مثل «لا تدخل هذه الكاميرا في حجزين في الوقت نفسه»، فتنطبق على كل الطرق، حتى التي لم تُكتب بعد.
- اختبارات آلية قبل كل إصدار. الاختبار برنامج صغير يتأكد أن النظام ما زال يفعل ما كان يفعله بالأمس. ومن دون الاختبارات يصبح كل تعديل رهانًا على أن يكتشف أحدٌ الخلل قبل أن يكتشفه عملاؤك.
- لكل عملية ناقصة نهاية محددة مسبقًا. يبدأ العميل الحجز ويصل إلى صفحة الدفع ثم يغلقها. ماذا يحدث للموعد؟ في النظام الجيد يكون الجواب محددًا من البداية، ولا يُكتشف يوم المشكلة.
اسأل أي مورّد: «أرني قاعدة تفرضها قاعدة بياناتكم بنفسها، وكم اختبارًا يعمل قبل أن تطلقوا أي تحديث؟»
وهذا جوابنا مع الدليل. في النظام الذي يدير أوتورا ترفض قاعدة البيانات نفسها حجز المعدات نفسها في موعدين متداخلين، وليس فحصًا في الشيفرة قد يُنسى، فلا يقبل النظام أي حجز مزدوج. والحجز الذي لم يُدفع يحرّر موعده بعد 15 دقيقة، فلا يبقى التقويم محجوزًا لعميل ترك صفحة الدفع. ولوحة التحكم الخاصة بنا تمرّ بأكثر من 3,000 اختبار آلي قبل كل إصدار، وموقع مساس للتجارة والمقاولات لا يُنشر منه أي إصدار قبل أن يجتاز 19 فحصًا.
03 · السرعة
السرعة تُقاس على هاتف حقيقي ولا تُدّعى
كل مورّد يقول إن مواقعه سريعة، و Google ينشر طريقة التحقق من ذلك. فـمؤشرات أداء الويب الأساسية (Core Web Vitals) ثلاثة قياسات لما يعيشه الزائر فعلًا، ولكل منها حدّ منشور للتجربة الجيدة:
- ظهور المحتوى الرئيسي (LCP): يجب أن يظهر أكبر محتوى في الصفحة خلال 2.5 ثانية من بدء تحميلها.
- سرعة الاستجابة (INP): يجب أن تستجيب الصفحة للمسة أو النقرة خلال 200 ملّي ثانية أو أقل.
- ثبات التصميم (CLS): درجة 0.1 أو أقل، فلا تتحرك الأزرار من مكانها وإصبعك في طريقه إليها.
ويقيّم Google كل مؤشر عند المئين الخامس والسبعين من الزيارات الحقيقية، وبشكل منفصل للهاتف والكمبيوتر. ومعنى ذلك أن ثلاثة من كل أربعة زوار على الأقل يجب أن يحصلوا على التجربة الجيدة، لا المطوّر وحده على شبكة المكتب.
ويصنع معظمَ الفرق أمران. الأول صفحات مُعدّة مسبقًا (pre-rendered)، فتكون الصفحة جاهزة قبل أن يطلبها أحد، ولا ينتظر العميل خادمًا يجمعها له. والثاني الاختبار على هاتف متوسط المواصفات، لأن معظم عملائك في قطر سيفتحون موقعك من الهاتف، وغالبًا على بيانات الجوال، والصفحة التي تفتح فورًا على حاسوب جديد قد تتأخر ثواني على ذلك الهاتف.
ويمكنك أن تختبر أي موقع بنفسك. فأداة PageSpeed Insights المجانية من Google تعرض مؤشرات الزوار الحقيقيين حين تتوفر لديها بيانات كافية، ومعها نتيجة Lighthouse من 100، والنتيجة من 90 إلى 100 تُعدّ جيدة.
ودليلنا موقع مساس للتجارة والمقاولات، وهو 104 صفحات مُعدّة مسبقًا بالعربية والإنجليزية. وعلى هاتف متوسط المواصفات يحصل في Lighthouse على 94 إلى 95 في الأداء، وعلى 100 في إمكانية الوصول وأفضل الممارسات وتحسين محركات البحث.
04 · الأمان
الأمان: الصلاحيات تحددها قاعدة البيانات لا الشاشة
أخطر نقاط الضعف الشائعة في تطبيقات الويب ليست اختراقًا معقدًا، بل خلل في التحكم بالصلاحيات، أي أن يصل مستخدم إلى بيانات لا يحق لدوره أن يراها. وهذا الخلل في المرتبة الأولى في قائمة OWASP Top 10، وهي أوسع القوائم استخدامًا لمخاطر أمان تطبيقات الويب، في نسخة 2025 كما كان في نسخة 2021.
وكثير من الأنظمة تحمي البيانات بأن تحذفها من الشاشة فقط، وتبقى البيانات متاحة لمن يطلبها من الخادم مباشرة. أما النظام الآمن فعلًا فيقوم على أربعة أمور:
- صلاحيات حسب الدور تفرضها قاعدة البيانات. في الأمان على مستوى الصفوف (Row-level security) تفحص قاعدة البيانات نفسها كل طلب مقابل دور صاحبه، ولا تُرجع إلا الصفوف التي يحق لهذا الدور قراءتها. فالزر المخفي ليس قفلًا، والقفل الحقيقي هو هذا.
- التحقق بخطوتين لكل حساب إدارة. كلمة المرور وحدها قد تُخمَّن أو تُسرق أو تكون مستخدمة في موقع آخر. وتصف إرشادات OWASP للتحقق متعدد العوامل الخطوة الثانية بأنها أفضل دفاع بفارق كبير أمام معظم الهجمات على كلمات المرور.
- المفاتيح السرية خارج الشيفرة. مفاتيح الدفع وكلمات المرور مكانها مخزن محمي، ولا تُكتب في الشيفرة حيث يقرؤها كل مطوّر وكل نسخة من المشروع (إرشادات OWASP لإدارة المفاتيح السرية).
- ترويسات الأمان في كل استجابة. تعليمات قصيرة يرسلها الخادم مع كل صفحة، تطلب من المتصفح أن يرفض هجمات شائعة، مثل عرض موقعك داخل إطار في موقع آخر (مشروع OWASP لترويسات الأمان).
واسأل: «لو استعلم موظف لا يملك صلاحية المالية من قاعدة البيانات مباشرة، فماذا سيحصل؟»
ودليلنا لوحة التحكم لدى أوتورا، حيث يحصل المشرف الذي لا يملك صلاحية المالية على 0 صفوف من دفتر الحسابات، حتى لو استعلم من قاعدة البيانات مباشرة. وفي اللوحة 16 وحدة، لا تُفتح كل منها إلا للأدوار التي يخصّها عملها.
05 · سهولة الاستخدام
سهولة الاستخدام وإمكانية الوصول لعملاء حقيقيين على الهاتف وباللغتين
يكون النظام سهل الاستخدام حين يستطيع عميل لم يره من قبل أن ينجز ما جاء من أجله دون مساعدة. ولن تعرف ذلك من عرض يقدّمه من بنى النظام. اطلب من شخص من خارج المشروع أن يجرّبه على هاتفه، ولاحظ أين يتردد.
وإمكانية الوصول هي الجزء من سهولة الاستخدام الذي له معيار منشور. فـإرشادات إمكانية الوصول إلى محتوى الويب (WCAG 2.2) الصادرة عن W3C تضع معايير يمكن اختبارها، والمستوى AA هو ما تلتزم به معظم المؤسسات. ويعني ذلك عمليًا نصًا بتباين كافٍ يُقرأ في الخارج، وكل إجراء يمكن الوصول إليه بلوحة المفاتيح وبقارئ الشاشة، وعنوانًا لكل حقل في النموذج، وأزرارًا كبيرة بما يكفي للمسها. وقد أضافت WCAG 2.2 حدًا أدنى لحجم ما يُلمس على الشاشة، وقاعدة تمنع مطالبة المستخدم بكتابة ما سبق أن أدخله.
وللنظام السهل ثلاث علامات أخرى:
- الهاتف أولًا. تُصمَّم شاشة الهاتف أولًا ثم تُوسَّع، بدل أن تُضغط صفحة الكمبيوتر لتناسب الهاتف.
- رسائل خطأ واضحة. عبارة «أدخل رقم جوال قطري من 8 أرقام» تساعد العميل، أما «إدخال غير صالح» فلا تساعده. والنموذج الجيد يحتفظ بما كتبه العميل حين يقع خطأ.
- عربية مصمَّمة من اليمين إلى اليسار، لا معكوسة. قلب التصميم الإنجليزي يُفسد الأرقام وحقول الهاتف والأسهم والأسطر التي تجمع العربية والإنجليزية. فالعربية تحتاج إلى خطها وتباعد أسطرها ونص مكتوب لقارئ عربي، وهذا هو عمل خدمتنا المواقع العربية ثنائية الاتجاه.
ودليلنا موقع مساس للتجارة والمقاولات، الذي يحصل على 100 في إمكانية الوصول في Lighthouse على هاتف متوسط المواصفات. والنتيجة الآلية حدّ أدنى وليست إثباتًا للتوافق الكامل مع WCAG، فاسأل أي مورّد، ونحن منهم، كيف تحقق من الباقي.
06 · الخصوصية
الخصوصية والقياس الصادق يبدآن بموافقة الزائر وينتهيان بعدّ الطلبات
النظام الجيد يستأذن قبل أن يتتبّع. فأدوات التحليل والإعلانات يجب ألا تعمل إلا بعد موافقة الزائر، ويجب أن يعمل الموقع بالجودة نفسها إن رفض. ولقطر قانونها الخاص بحماية البيانات الشخصية، وهو القانون رقم 13 لسنة 2016، الذي يجعل موافقة الشخص الأساس الرئيسي لمعالجة بياناته الشخصية. والعملاء يلاحظون الموقع الذي يحترم هذا السؤال. اجمع ما تحتاجه فقط، واحفظه في مكان تتحكم فيه، واعرف من يستطيع قراءته.
والقياس الصادق يعني أيضًا أن تقيس الشيء الصحيح. فمشاهدات الصفحات وعدد المتابعين ومدة البقاء في الموقع أرقام يسهل رفعها ويسهل عرضها في التقارير، لكنها نادرًا ما تخبرك هل يستحق الموقع تكلفته. الرقم المهم هو الطلب: نموذج أُرسل، أو اتصال، أو محادثة WhatsApp بدأت، ويُسجَّل معه الصفحة والبحث الذي قاد إليه. وحين تُسجَّل الطلبات بهذه الطريقة، ترى أي الصفحات تجلب عملاء وأيها تجلب زوارًا فقط. ويتوسع في ذلك مقالنا عن سبب حصول الموقع على زوار دون طلبات.
واسأل: «ما الذي يعمل قبل أن يوافق الزائر على التتبّع، وأي تقرير سيعرض لي الطلبات لا الزيارات؟»
ودليلنا أن أدوات التحليل في موقع corethreeweb.com تنتظر جوابك على شريط الموافقة. ومع صيدلية بشرى قسنا ما يهم الصيدلية: أكثر من 475 طلبًا مؤهلًا من المرضى خلال 60 يومًا عبر WhatsApp والاتصالات وتطبيقات التوصيل.
07 · الملكية
سهولة الصيانة والملكية: كل شيء باسمك ويمكن لمطوّر آخر أن يتسلّمه
البرمجيات تعيش سنوات، والمورّدون يتغيّرون. والنظام الجيد مبني بحيث تستطيع الشركة التي دفعت ثمنه أن تحتفظ به وتعدّله، وأن تنقله إن احتاجت إلى ذلك.
- النطاق مسجّل باسم شركتك، وأنت مالكه والمورّد مستخدم فيه.
- خطة الاستضافة لك. هي باسمك وفواتيرها تصلك أنت. والمورّد الجيد يختار الخطة المناسبة ويجهّزها، لكنه لا يقف بينك وبينها.
- الشيفرة والبيانات لك. الشيفرة في مستودع تتحكم فيه، وتستطيع تصدير بياناتك بصيغة معيارية متى شئت دون أن تستأذن أحدًا.
- كل شيء موثّق. طريقة بناء النظام وطريقة نشره ومكان إعداداته والخدمات التي يعتمد عليها مكتوبة كلها، فيستطيع مطوّر آخر أن يتسلّمه دون مشروع إنقاذ.
- المحتوى تعدّله بنفسك. التعديل المعتاد لا يجب أن يحتاج إلى مطوّر أو فاتورة.
- النظام مبني بأدوات واسعة الانتشار. البرمجيات المبنية بأدوات شائعة وموثّقة جيدًا يستطيع صيانتها مطوّرون كثيرون، لا من بناها وحده.
واسأل: «لو افترقنا غدًا، ماذا سيكون بين يدي، وباسم من، وماذا سأحتاج منكم؟» والجواب الصحيح أن كل شيء معك وباسمك، وأنك لن تحتاج منهم إلى شيء.
وهكذا نعمل. فالنطاق وخطة الاستضافة والشيفرة والبيانات باسم العميل، ونحن نختار الاستضافة ونجهّزها ونعمل بالصلاحيات التي يمنحنا إياها. ونبني بأدوات واسعة الانتشار مثل Next.js و Webflow و Postgres، ونوثّق طريقة بناء كل نظام وتشغيله. وقد نشرت Lanyardy، مصنع شرائط تعليق البطاقات في قطر، 18 صفحة بنفسها عبر نظام إدارة المحتوى: 11 مقالًا و 7 دراسات حالة لفعاليات.
08 · القائمة
اثنا عشر سؤالًا تطرحها على أي مورّد برمجيات
خذ هذه الأسئلة إلى كل اتصال. والمورّد الذي يجيب عن الاثني عشر كلها بوضوح، ومعه ما تستطيع التحقق منه، يستحق حديثًا أطول.
- ما القواعد التي تفرضها قاعدة بياناتكم بنفسها، لا الشيفرة وحدها؟
- كم اختبارًا آليًا يعمل قبل كل إصدار، وهل أستطيع أن أرى نتيجتها؟
- ماذا يحدث للحجز أو الطلب إن توقف الدفع في منتصفه؟
- ما نتائج مؤشرات أداء الويب الأساسية لهذا الموقع على الهاتف، وأين أتحقق منها؟
- هل الصفحات مُعدّة مسبقًا، أم تُبنى والزائر ينتظر؟
- هل تفرض قاعدة البيانات الصلاحيات حسب الدور، فلا يُرجع الاستعلام المباشر ما لا يحق له؟
- هل التحقق بخطوتين إلزامي لكل حساب إدارة؟
- أين تُحفظ كلمات المرور ومفاتيح الدفع، ومن يستطيع قراءتها؟
- أي مستوى من WCAG 2.2 تلتزمون به، وكيف تختبرونه؟
- هل العربية مصمَّمة من اليمين إلى اليسار، ومن يكتبها؟
- ما الذي يعمل قبل موافقة الزائر على التتبّع، وكيف سأرى الطلبات؟
- هل النطاق والاستضافة والشيفرة والبيانات باسمي، وهل كل ذلك موثّق؟
وللسعر والفريق والعقد سبعة أسئلة أخرى في دليلنا عن كيف تختار شركة تصميم مواقع في قطر.
09 · طريقة عملنا
كيف تُخضع CoreThree عملها لهذه المعايير
نحن استوديو مواقع في الدوحة. نصمّم ونبني مواقع ثنائية اللغة والأنظمة التي تعمل خلفها، ومن يبني موقعك هو من تتحدث إليه. وكل صفة في هذا الدليل نُخضع لها عملنا، وكل نتيجة ذكرناها فيه مرتبطة بمشروعها، لتتحقق منها بنفسك بدل أن تأخذ كلامنا.
وهذا ما يعنيه ذلك في كل مشروع:
- القواعد المهمة تُكتب في قاعدة البيانات، والاختبارات تعمل قبل كل إصدار.
- الصفحات مُعدّة مسبقًا حيثما أمكن، وتُقاس على هاتف متوسط المواصفات.
- الصلاحيات تحددها قاعدة البيانات حسب الدور.
- العربية مصمَّمة من اليمين إلى اليسار منذ أول تخطيط.
- التتبّع ينتظر موافقة الزائر، ويعدّ الطلبات.
- النطاق وخطة الاستضافة والشيفرة والبيانات باسمك.
وتعرض صفحة معاييرنا كل معيار مع المشروع الذي يثبته.
ويبدأ سعر الموقع من 8,000 ريال، ومن 15,000 ريال للموقع الذي يعمل خلفه نظام، مشروعًا يُدفع مرة واحدة. اطّلع على خدماتنا والأعمال التي أنجزناها، أو احجز اتصالًا واطرح علينا الأسئلة الاثني عشر.

