[ > ] فلاتر (Flutter) / Cross-Platform Framework
وصف عام
إطار عمل (Framework) متكامل مقدم من جوجل لبناء تطبيقات مجمعة محلياً (Native) تعمل على الهواتف المحمولة (Android & iOS)، الويب، وسطح المكتب من قاعدة كود واحدة. يستخدم لغة Dart ويتميز بمحرك رسوم خاص (Impeller) يسمح برسم كل بيكسل على الشاشة بدقة عالية وسرعة تصل إلى 120 إطاراً في الثانية.
ظهرت فلاتر لأول مرة في عام 2015 تحت اسم 'Sky' ولكن تم إعلانها رسمياً كفلاتر في عام 2017. أحدثت ثورة لأنها لا تعتمد على مكونات النظام الأصلية بل ترسم مكوناتها الخاصة، مما يضمن ظهور التطبيق بنفس الشكل على جميع الأجهزة. في عام 2021، أصبحت فلاتر تدعم تطبيقات الويب وسطح المكتب بشكل مستقر تماماً.
- استخدم الـ Const Constructors لتقليل استهلاك الذاكرة وتسهيل التحديث.
- افصل منطق العمل عن الواجهة باستخدام أدوات إدارة الحالة (Provider / Riverpod).
- اجعل شجرة الـ Widgets مسطحة قدر الإمكان ولا تبالغ في التداخل.
- استخدم الـ Keys عند التعامل مع القوائم الديناميكية للحفاظ على الحالة.
- قم بتحسين الصور واستخدام كاش (Cache) للبيانات القادمة من الإنترنت.
طريقة الكتابة والبنية
SYNTAX_ARCH
01.بنية الـ Widget الأساسية
class MyHome extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(child: Text("أهلاً فلاتر")),
);
}
}في فلاتر، كل شيء هو Widget. الواجهات تتكون من تداخل مجموعة من هذه الـ Widgets.
02.إدارة الحالة (Riverpod)
final counterProvider = StateProvider((ref) => 0);
// داخل الـ build
final count = ref.watch(counterProvider);
ref.read(counterProvider.notifier).state++;تعتبر Riverpod من أحدث وأفضل الطرق لإدارة الحالة في فلاتر لسهولتها وقوة اختبارها.
المنظومة التقنية
ECOSYSTEM_MODULES
إطارات العمل (Frameworks)
المكتبات المشهورة (Libraries)
هيكلية الملفات الشائعة
FILE_SYSTEM_TREE
Project Root/├── lib/ (ملفات الكود المصدري)│ ├── views/ (الشاشات والواجهات)│ ├── providers/ (إدارة الحالة)│ ├── models/ (هياكل البيانات)│ └── main.dart (نقطة البداية)├── assets/ (الصور والخطوط)├── test/ (اختبارات الوحدة)├── android/ (إعدادات أندرويد)├── ios/ (إعدادات آيفون)└── pubspec.yaml (إدارة المكتبات والملفات)