السلام عليكم ورحمة الله وبركاته،
يسعدني أن أشارككم مقتطفات سريعة من تجربتي في بناء ميزة "إحصائيات الورد اليومي" خلال مبادرة "أثر".
الهدف الأساسي كان بناء ميزة تتيح تتبع القراءة بخصوصية تامة (تخزين ومعالجة البيانات 100% Offline). لكن التحدي الأكبر كان في تقديم تجربة مستخدم (UX) سلسة وواجهات مرنة مع الحفاظ على أداء التطبيق.
إليكم أبرز القرارات التقنية التي اعتمدت عليها:
الرسم باستخدام SVG: حرصاً على عدم زيادة حجم التطبيق (App Size)، تجنبت إضافة مكتبة رسوم بيانية خارجية (Chart Package) من أجل هذا الجزء فقط. بدلاً من ذلك، قررت بناء الإحصائيات بالاعتماد المباشر على SVG، مما أعطاني تحكماً كاملاً في التصميم وحافظ على خفة التطبيق.
إدارة الحالة بـ Jotai: وقع الاختيار على Jotai لمرونتها الفائقة في إدارة الحالة (State Management) و اعتماد التطبيق عليها من البداية. ساعدتني في التعامل مع البيانات (يومي، أسبوعي، شهري) بأداء عالٍ وبكود نظيف وبعيد عن التعقيد (Boilerplate).
التجاوب الشامل (Cross-Platform Responsiveness): كان هذا هو التحدي الأمتع! عملت على كتابة كود مرن يتكيف تلقائياً ليعمل بكفاءة على متصفحات الويب (Web)، وتطبيقات الهواتف (Android & iOS)، مع التفاعل السلس مع تغير وضع الشاشة (Landscape & Portrait).
💡 الدرس الأهم من هذه التجربة: التخطيط الجيد لهيكلة الكود والحرص على تقليل الاعتماديات (Dependencies) الخارجية قدر الإمكان هو ما يضمن لك تطبيقاً سريعاً يسهل صيانته ودعمه عبر منصات متعددة.
شكراً لمبادرة "أثر" على هذه البيئة المحفزة. أتمنى أن تكون هذه الخلاصة مفيدة، وأنا متواجد هنا ومستعد للإجابة على أي أسئلة تقنية حول الكود أو الأدوات المستخدمة!
يمكن الوصول للكود بسهولة من خلال هذا الرابط: زيارة ال pull request