المقالات والمدوّنة
شروحات عملية من تجربة حقيقية في بناء ونشر تطبيقات ومواقع عربية — أخطاء واجهناها فعلاً، ورموز فشلها، وحلولها الدقيقة كما طُبّقت، لا نظريات عامة.
فشل تسجيل الدخول بقوقل على أندرويد: تشخيص بالرموز
رموز الفشل الحقيقية ودلالة كل واحد: ApiException:10، الحساب المُخبّأ، غياب idToken، serverClientId، وبصمات SHA-1 الثلاث — مرتّبة باحتمالية الوقوع.
اقرأ المقالقواعد Firestore الآمنة عملياً
دوال مساعدة قابلة لإعادة الاستخدام، وفصل القراءة عن الكتابة عن الحذف، والتحقّق من شكل البيانات داخل القواعد، والفرق بين قراءة مستند وسرد مجموعة.
اقرأ المقالمن موقع إلى تطبيق أندرويد بـ Capacitor
تحميل النطاق الحيّ في WebView بدل حزم الأصول: تحديث فوري بلا مراجعة متجر، وتكاليفه الخفيّة — إعلانات الويب الممنوعة داخل التطبيق وكشف البيئة الأصلية.
اقرأ المقالتعديلاتك لا تظهر؟ إدارة إصدارات Service Worker
سبب بقاء المستخدم على نسخة قديمة: ثابت إصدار واحد، ومزامنة ثلاث نقاط، ودورة حياة التثبيت والانتظار والتنشيط، ورؤوس الكاش الصحيحة لكل نوع ملف.
اقرأ المقالقواعد Firebase Storage: القراءة العامة مقابل المقيّدة
مسار بقراءة للمسجّلين ومسار بقراءة عامة في التطبيق نفسه، واستثناء SVG، وحدود الحجم داخل القواعد، والفرق العملي بين رمز 403 ورمز 404.
اقرأ المقالرمز التحقّق بالجوال في Firebase: لماذا SHA-1 لا يكفي
لماذا يطلب الدخول بالجوال بصمة SHA-256، ولماذا لا يخزّنها ملف الإعداد، والبصمات الثلاث المطلوبة، وأرقام الاختبار التي توفّر تكلفة الرسائل.
اقرأ المقالنشر تطبيق على Google Play: العقبات التي لا تتوقّعها
مفتاح الرفع مقابل مفتاح قوقل ولماذا تفشل نسخة المتجر وحدها، الاختبار المغلق، شرط الكيان التجاري الذي يظهر متأخّراً، ومعايير قبول تطبيقات الغلاف.
اقرأ المقالإعلانات المواقع العربية: تجربة حقيقية بأرقامها
لماذا أعطت آلاف المشاهدات عائداً صفراً: سقف التكرار لكل وحدة، اقتصاد المقاسات، كشف no-fill بفحص عملي، والفرق بين ads.txt وقبول الموقع.
اقرأ المقالسياسة أمان المحتوى مع أطراف ثالثة
التوجيهات العملية، مفاضلة النطاقات الدوّارة، لماذا يكسر عزل النوافذ الصارم تسجيل الدخول بصمت، والتفريق بين حجب السياسة وغياب الإعلان.
اقرأ المقالضبط تكلفة Firestore: قلّل القراءات بلا إبطاء
الفاتورة بالمستندات لا بالحجم: الكاش الدائم بمدير تبويبات متعدّد، متى يكون المستمع أرخص ومتى أغلى، العدّ بلا قراءة، وخطأ معماري يُخفي ميزة عن الزوّار.
اقرأ المقالتصغير كود عربي بـ esbuild: إعداد واحد يوفّر عشرات الكيلوبايتات
لماذا يتضخّم الملف العربي بعد التصغير، وأرقام بناء حقيقية تشرح لماذا ينضغط ملف 75% وآخر 7% فقط، ولماذا تُستثنى ملفات Service Worker.
اقرأ المقالالتقويم الهجري: أم القرى مقابل الحساب الجدولي
انزياح يوم واحد يُفقد الثقة كلها: الفرق بين التقويمين، تثبيت الوقت على الظهر لتفادي المنطقة الزمنية، ولماذا تُطلب الصيغة بأرقام لاتينية قبل تحليلها.
اقرأ المقالكيف تكتب CSS نظيفاً وقابلاً للصيانة؟
تنظيم الأنماط، تسمية الأصناف، المتغيّرات، وتجنّب الفوضى التي تجعل الصيانة كابوساً — دليل عملي خطوة بخطوة.
اقرأ المقالتحسين سرعة موقعك: دليل الأداء العملي
الصور، التحميل الكسول، الكاش، الخطوط، ومؤشّرات Core Web Vitals — خطوات ملموسة تجعل موقعك يفتح في لحظات.
اقرأ المقالأساسيات السيو (SEO) لموقعك خطوة بخطوة
العناوين والوصف، العناوين الهيكلية، خريطة الموقع، الروابط القانونية (canonical)، والمحتوى — كل ما يجعل Google يفهم موقعك.
اقرأ المقالمبادئ تصميم تجربة المستخدم (UX) عملياً
التسلسل البصري، المساحات، التغذية الراجعة، وإمكانية الوصول — مبادئ بسيطة ترفع جودة أي واجهة فوراً.
اقرأ المقالالتصميم المتجاوب: موقع واحد لكل الشاشات
viewport، منهج الجوال أولاً، الشبكات والوحدات المرنة، نقاط التوقّف، والصور المتكيّفة — لموقع يعمل بأناقة على كل جهاز.
اقرأ المقالأساسيات JavaScript الحديثة للمبتدئين
من المتغيّرات let/const والدوال السهمية إلى التعامل مع DOM والأحداث وasync/await — أساسيات تبني عليها مشاريعك الأولى بثقة.
اقرأ المقالأساسيات Git: تحكّم في كودك بثقة
لماذا تحتاج Git، الأوامر الأساسية (init, add, commit, push)، الفروع، حلّ التعارضات، ورسائل commit واضحة — للمطوّر المبتدئ.
اقرأ المقال