تحديثات مهمة على مكوّن "مشغّل الصوت" في تطبيق Open Tarteel
السلام عليكم،
قمت مؤخرًا بإجراء سلسلة من التحسينات الجوهرية على مكوّن "Player Controls" في تطبيق Open Tarteel، ليس فقط لإصلاح المشاكل، بل لرفع جودة الكود وجعله أكثر قابلية للصيانة والتوسّع. مع أضافة خواص جديدة كليا، إليكم أبرز ما تم:
إعادة ضبط القوائم على الشاشات الصغيرة
أعدت ضبط المسافات وترتيب أزرار مشغل الصوت على الشاشات الصغيرة، حيث جمعت الأزرار الثانوية في قائمة جانبية لتحسين تجرِبة المستخدم.
إضافة خاصية جديدة: مؤقّت النوم
تمكنك هذه الخاصية من تحديد وقت معيد لإيقاف التلاوة تلقائيا مثال بعد 5 دقائق أو 10 دقائق ... مع إضافة مؤشر خاص للإظهار الوقت المتبقي قبل الإيقاف.
تم استعمال Hooks منفصل لعزل الكود الخاص بهذه الخاصية الجديدة ليصبح:
معزولًا عن واجهة المستخدم
قابلًا للاختبار بشكل منفصل
- سهل التعديل دون التأثير على باقي المكوّن
إضافة خاصية تسريع التلاوة، من اقتراح الأخت @رقية بورية
تم إضافة خاصية تسريع التلاوة لتسهيل المراجعة للطلبة وحفظة القرآن الكريم، يمكنك التنقل بين السرعات x1 x1.5 x2 من طريق النقر المتكرر على نفس الزر.
بما أم الكود الأصلي مبني على مبدأ فصل الإهتمامات "separation of concerns" فإن التعديل تم بسلاسة و دون تعقيدات حيث يمكنك العمل على تعديل جزء من الكود دون المساس بالتركيب العام للبرنامج في هذه الحالة عملنا على مركب "Player Controls" كما سيسهل علبنا التحديث والإصلاح مستقبلًا أو حتى إلغاء التغييرات والعودة للوراء.
في أثناء التطوير اتبعت نفس الأسلوب، حيث حافظت على نفس التنسيق والألوان وكذا نفس تجربة المستخدم "UX" بالاعتماد على أسلوب النقر المتعدد حيث جمعت بين الخصائص المتشابهة في نفس الأزرار للحفاظ على المسافات وتحسين تجربة المستخدم على الهواتف المحمولة وهذا أكبر تحد لي في هذا المشروع، توفير أكبر قذر من الخصائص على أقل مساحة ممكنة.
الإعتماد على خاصية PWA سهل علي عملية تحديث البرنامج، أين تحديث الموقع يكفي وحده دون الحاجة لتحديث التطبيق على Google play
لتجربة النسخة الجديدة يرجى زيارة الموقع Open Tarteel
أو تحميل التطبيق من https://play.google.com/store/apps/details?id=kg.us.quran.tarteel.twa
الكود المصدري متوفر على https://github.com/adelpro/open-tarteel
شكرًا لاهتمامكم!
إذا كانت لديكم اقتراحات لتحسينات إضافية، فالمشروع مفتوح دائمًا للمساهمة.