Fady.

مقالات.

ملاحظات من واقع العمل — هندسة الواجهات، والأداء، وسهولة الوصول، والقرارات الصغيرة التي تجعل الواجهة تبدو في مكانها الصحيح.


الأحدث قراءة في 6 دقائق

التصميم بالثيمات دون خطوة بناء: كيف يستخدم NYX الدالة color-mix()

بنيت NYX، إطار مكونات بلا أي اعتماديات، بحيث يمكن إعادة ضبط ثيم كامل من حفنة custom properties — بلا Sass ولا إعادة تجميع، مباشرة في المتصفح.

اقرأ المقال
قراءة في 6 دقائق

ما علّمني إياه بناء OTP Input عن المكونات المتحكَّم بها

التقدم التلقائي واللصق والـ backspace تبدو بسيطة حتى تبنيها — إليك دروس الـ controlled input التي ترافقني في كل نموذج أشحنه.

ReactFrontendDX
قراءة في 6 دقائق

بناء PWA للقرآن الكريم يعمل بدون إنترنت

بناء تطبيق قرآن يعمل offline أولًا تطلب Service Worker يصمد بلا اتصال، وحساب مواقيت الصلاة على الجهاز لأكثر من 30 دولة، وخطأين في الـ service worker علّماني التواضع.

PWAOfflineService Workers
قراءة في 6 دقائق

شلال البيانات في Next.js الذي يقتل TTFB بصمت

انتظار الـ fetches واحدًا تلو الآخر داخل Server Components المتداخلة يجعل التحميل تسلسليًا — إليك كيف توازيها دون إعادة كتابة شجرة المكونات.

Next.jsReactPerformance
قراءة في 5 دقائق

كلمتان في CSS تصلحان العناوين القبيحة: text-wrap

توقف عن محاربة الكلمات اليتيمة والعناوين غير المتوازنة بفواصل الأسطر اليدوية — text-wrap: balance و pretty يتكفلان بذلك مجانًا.

CSSFrontend
قراءة في 3 دقائق

أوقف اختفاء روابط الـ anchor خلف الـ header الثابت

هل يبتلع الـ navbar الثابت أعلى كل قسم تقفز إليه؟ خاصية CSS واحدة تحل المشكلة بشكل صحيح — بلا padding hacks ولا JavaScript.

CSSFrontend
قراءة في 5 دقائق

فهم الـ Generics في C#

تتيح لك الـ Generics كتابة الكود مرة واحدة واستخدامه مع أي نوع — أكثر قابلية لإعادة الاستخدام وأكثر إيجازًا وأمانًا من تمرير كل شيء عبر object.

C#.NETBackend
قراءة في 5 دقائق

دورة حياة مكوّن React ببساطة

كل class component في React يولد ويتحدث ويموت. إليك الدوال التي تعمل في كل مرحلة — والقاعدة الواحدة التي تبعدك عن الحلقة اللانهائية.

ReactFundamentals
قراءة في 4 دقائق

create-react-app بطيء — انتقلت إلى Vite

إنشاء تطبيق React بـ create-react-app كان يأخذ مني ثلاث إلى أربع دقائق في كل مرة. Vite ينجزه في أقل من دقيقة، مع dev server يبدو فوريًا فعلًا.

ReactViteTooling