مقالات.
ملاحظات من واقع العمل — هندسة الواجهات، والأداء، وسهولة الوصول، والقرارات الصغيرة التي تجعل الواجهة تبدو في مكانها الصحيح.
التصميم بالثيمات دون خطوة بناء: كيف يستخدم NYX الدالة color-mix()
بنيت NYX، إطار مكونات بلا أي اعتماديات، بحيث يمكن إعادة ضبط ثيم كامل من حفنة custom properties — بلا Sass ولا إعادة تجميع، مباشرة في المتصفح.
اقرأ المقالما علّمني إياه بناء OTP Input عن المكونات المتحكَّم بها
التقدم التلقائي واللصق والـ backspace تبدو بسيطة حتى تبنيها — إليك دروس الـ controlled input التي ترافقني في كل نموذج أشحنه.
بناء PWA للقرآن الكريم يعمل بدون إنترنت
بناء تطبيق قرآن يعمل offline أولًا تطلب Service Worker يصمد بلا اتصال، وحساب مواقيت الصلاة على الجهاز لأكثر من 30 دولة، وخطأين في الـ service worker علّماني التواضع.
شلال البيانات في Next.js الذي يقتل TTFB بصمت
انتظار الـ fetches واحدًا تلو الآخر داخل Server Components المتداخلة يجعل التحميل تسلسليًا — إليك كيف توازيها دون إعادة كتابة شجرة المكونات.
كلمتان في CSS تصلحان العناوين القبيحة: text-wrap
توقف عن محاربة الكلمات اليتيمة والعناوين غير المتوازنة بفواصل الأسطر اليدوية — text-wrap: balance و pretty يتكفلان بذلك مجانًا.
أوقف اختفاء روابط الـ anchor خلف الـ header الثابت
هل يبتلع الـ navbar الثابت أعلى كل قسم تقفز إليه؟ خاصية CSS واحدة تحل المشكلة بشكل صحيح — بلا padding hacks ولا JavaScript.
فهم الـ Generics في C#
تتيح لك الـ Generics كتابة الكود مرة واحدة واستخدامه مع أي نوع — أكثر قابلية لإعادة الاستخدام وأكثر إيجازًا وأمانًا من تمرير كل شيء عبر object.
دورة حياة مكوّن React ببساطة
كل class component في React يولد ويتحدث ويموت. إليك الدوال التي تعمل في كل مرحلة — والقاعدة الواحدة التي تبعدك عن الحلقة اللانهائية.
create-react-app بطيء — انتقلت إلى Vite
إنشاء تطبيق React بـ create-react-app كان يأخذ مني ثلاث إلى أربع دقائق في كل مرة. Vite ينجزه في أقل من دقيقة، مع dev server يبدو فوريًا فعلًا.