🔹 import
في Dart 🚀
في Dart، يتم استخدام الكلمة المفتاحية import
لاستيراد المكتبات (Libraries
) والملفات الخارجية في البرنامج.
يساعد import
في إعادة استخدام الكود وتنظيمه عن طريق استيراد الوظائف (Functions
)، الكلاسات (Classes
)، والمتغيرات (Variables
) من ملفات أو حزم أخرى.
🔹 أنواع import
في Dart
✅ 1. استيراد مكتبات Dart الأساسية
يمكنك استيراد المكتبات المدمجة في Dart مثل:
dart:core
(مضمن تلقائيًا) 🟢dart:math
(للعمليات الرياضية) ➕dart:io
(للتعامل مع الملفات و I/O) 📂dart:convert
(لتحويل البيانات) 🔄
📌 مثال: استيراد مكتبة dart:math
dartنسختحرير<code>import 'dart:math';
void main() {
print(sqrt(25)); // ✅ Output: 5.0
}
</code>
Dart🔹 التفسير: dart:math
تحتوي على دوال رياضية مثل sqrt()
لحساب الجذر التربيعي.
✅ 2. استيراد ملفات محلية (import 'file.dart'
)
يمكنك استيراد ملفات Dart أخرى داخل نفس المشروع.
📌 مثال: استيراد ملف محلي (utils.dart
)
📂 ملف utils.dart
dartنسختحرير<code>String greet(String name) {
return "مرحبًا $name!";
}
</code>
Dart📂 ملف main.dart
dartنسختحرير<code>import 'utils.dart';
void main() {
print(greet("Ali")); // ✅ Output: مرحبًا Ali!
}
</code>
Dart🔹 التفسير:
- استوردنا
utils.dart
واستخدمنا الدالةgreet()
من الملف الآخر.
✅ 3. استيراد الحزم (import 'package:...'
)
🔹 يستخدم لاستيراد المكتبات الخارجية من pub.dev
أو مكتبات المشروع.
📌 مثال: استيراد http
لإجراء طلبات HTTP 1️⃣ أضف المكتبة إلى pubspec.yaml
:
yamlنسختحريرdependencies:
http: ^0.13.0
2️⃣ استخدمها في main.dart
:
dartنسختحرير<code>import 'package:http/http.dart' as http;
void main() async {
var response = await http.get(Uri.parse("https://jsonplaceholder.typicode.com/posts/1"));
print(response.body);
}
</code>
Dart🔹 التفسير:
import 'package:http/http.dart' as http;
يستورد مكتبةhttp
لإجراء طلبات الشبكة.- استخدمنا
http.get()
لجلب بيانات من API.
✅ 4. استيراد جزئي (show
و hide
)
show
: لاستيراد عناصر محددة فقط من المكتبة.hide
: لاستبعاد عناصر معينة من المكتبة.
📌 مثال: show
لاستيراد دالة معينة
dartنسختحرير<code>import 'dart:math' show pi, sqrt;
void main() {
print(pi); // ✅ يعمل
print(sqrt(16)); // ✅ يعمل
// print(Random()); // ❌ خطأ لأننا لم نستورد `Random`
}
</code>
Dart📌 مثال: hide
لاستبعاد عنصر معين
dartنسختحرير<code>import 'dart:math' hide pi;
void main() {
print(Random().nextInt(100)); // ✅ يعمل
// print(pi); // ❌ خطأ لأن `pi` مستبعدة
}
</code>
Dart✅ 5. استيراد باستخدام deferred
(تحميل Lazy)
🔹 يسمح بتحميل المكتبة فقط عند الحاجة لتحسين أداء التطبيق.
📌 مثال: deferred as
لتحميل مكتبة عند الحاجة
dartنسختحرير<code>import 'utils.dart' deferred as utils;
void main() async {
await utils.loadLibrary(); // 🔄 تحميل المكتبة
print(utils.greet("Dart")); // ✅ Output: مرحبًا Dart!
}
</code>
Dart🔹 التفسير:
deferred as utils;
يعني أنutils.dart
لن يتم تحميله إلا عند استدعاءloadLibrary()
.
🎯 خلاصة import
في Dart
✅ import 'dart:math';
→ استيراد مكتبات Dart.
✅ import 'utils.dart';
→ استيراد ملف محلي.
✅ import 'package:http/http.dart' as http;
→ استيراد مكتبة خارجية.
✅ import 'dart:math' show pi;
→ استيراد عناصر محددة.
✅ import 'dart:math' hide pi;
→ استبعاد عناصر معينة.
✅ import 'utils.dart' deferred as utils;
→ تحميل Lazy عند الحاجة.