Routes
ليه لسه بتكتب الـ Routes يدوي في كل حتة؟ لو شغال على مشروع كبير (زي ما أنا شغال حالياً على Bookia Store)، أكيد واجهت مشكلة إن الـ Navigator بيبدأ يهرب منك، والـ Strings بتكتر، وأي غلطة في حرف بتعمل Crash للأبلكيشن. 🤦♂️ الحل اللي فرق معايا جداً هو تنظيم الـ Routing جوه فولدر الـ Core. الطريقة دي مش بس بتخلي الكود "شيك"، دي بتخليه Scalable وجاهز لأي توسع. 🏗️ التقسيمة ببساطة (زي ما في الصورة): 1️⃣ ملف routes.dart: ده عبارة عن "الفهرس" بتاعنا. بنعرف فيه كل أسامي الصفحات كـ static constants. فايدته؟ الـ Auto-complete هيطلعلك اسم الصفحة بمجرد ما تكتب أول حرف، ووداعاً للـ Typos. 2️⃣ ملف app_routes.dart: ده العقل المدبر اللي بيستخدم الـ onGenerateRoute. هنا بنتحكم في كل صفحة هتروح فين، وبنقدر نمرر الـ Arguments ونعمل الـ BlocProvider لكل صفحة لوحدها بكل سهولة. 💡 المميزات اللي هتكسبها: ✅ Type Safety: مفيش صفحة هتفتح غلط بسبب اسم مكتوب غلط. ✅ Centralized Logic: لو حبيت تغير مسار أو تضيف Animation جديد، بتغيره من مكان واحد بس. ✅ Clean UI: ملف الـ main.dart بيفضل نظيف جداً ومجرد بينادي الـ Router. سؤال لزمايلي الـ Flutter Developers: بتفضلوا الـ Native Navigator بالطريقة دي، ولا نقلتوا خلاص لـ packages زي GoRouter؟ وليه؟ 🤔👇
