Newsletter

Libraries & importsدر دارت

Scroll down
آرزو جزوفاییان
آرزو جزوفاییان
یک
  • محل اقامت:
    ایران
  • شهر:
    تهران
  • تماس:
    09309999386

ژانویه 29, 2025

18:42

arz.dev

دستورالعمل‌های import و library می‌توانند به شما در ایجاد یک پایگاه کد ماژولار و قابل اشتراک‌گذاری کمک کنند. کتابخانه ها نه تنها API ها را ارائه می دهند، بلکه واحدی از حریم خصوصی هستندکه با شناسه هایی که با زیرخط (_) شروع می شوند، فقط در داخل کتابخانه قابل مشاهده هستند. هر فایل دارت (به علاوه قطعات آن) یک کتابخانه است، حتی اگر از دستورالعمل کتابخانه استفاده نکند.

استفاده از کتابخانه ها


از import برای تعیین نحوه استفاده از یک فضای نام از یک کتابخانه در محدوده کتابخانه دیگر استفاده کنید.

به عنوان مثال، برنامه‌های وب دارت معمولاً از کتابخانه dart:js_interop استفاده می‌کنند که می‌توانند به این شکل import کنند:

import 'dart:js_interop';

اگر دو کتابخانه را وارد کنید که دارای شناسه های متناقض هستند، می توانید یک پیشوند برای یک یا هر دو کتابخانه تعیین کنید. به عنوان مثال، اگر library1 و library2 هر دو دارای یک کلاس Element هستند، ممکن است کدی مانند این داشته باشید:

import 'package:lib1/lib1.dart';
import 'package:lib2/lib2.dart' as lib2;

// Uses Element from lib1.
Element element1 = Element();

// Uses Element from lib2.
lib2.Element element2 = lib2.Element();

import کردن تنها بخشی از یک کتابخانه


اگر می‌خواهید فقط از بخشی از کتابخانه استفاده کنید، می‌توانید به صورت انتخابی کتابخانه را وارد کنید. به عنوان مثال:

// Import only foo.
import 'package:lib1/lib1.dart' show foo;

// Import all names EXCEPT foo.
import 'package:lib2/lib2.dart' hide foo;

با تنبلی در حال بارگذاری یک کتابخانه
#
بارگذاری معوق (که بارگذاری تنبل نیز نامیده می شود) به یک برنامه وب اجازه می دهد تا کتابخانه را در صورت نیاز بارگیری کند، در صورت نیاز و زمانی که کتابخانه مورد نیاز است. زمانی که می خواهید یکی از نیازهای زیر را برآورده کنید، از بارگذاری معوق استفاده کنید.

زمان راه اندازی اولیه یک برنامه وب را کاهش دهید.


آزمایش A/B را انجام دهید – برای مثال، پیاده‌سازی‌های جایگزین یک الگوریتم را امتحان کنید.
عملکردهایی که به ندرت استفاده می شوند، مانند صفحه نمایش ها و گفتگوهای اختیاری را بارگیری کنید.
این بدان معنا نیست که Dart تمام اجزای معوق را در زمان شروع بارگیری می کند. برنامه وب می تواند در صورت نیاز اجزای معوق را از طریق وب دانلود کند.

ابزار دارت از بارگذاری معوق برای اهدافی غیر از وب پشتیبانی نمی کند. اگر در حال ساختن یک برنامه Flutter هستید، با اجرای آن در مورد بارگذاری معوق در راهنمای Flutter در مورد اجزای معوق مشورت کنید.

برای بارگیری تنبلی یک کتابخانه، ابتدا آن را با استفاده از referred as وارد کنید.

import 'package:greetings/hello.dart' deferred as hello;

هنگامی که به کتابخانه نیاز دارید، loadLibrary() را با استفاده از شناسه کتابخانه فراخوانی کنید.

Future<void> greet() async {
  await hello.loadLibrary();
  hello.printGreeting();
}

در کد قبلی، کلیدواژه await تا زمانی که کتابخانه بارگیری شود، اجرا را متوقف می کند. برای اطلاعات بیشتر در مورد همگام سازی و انتظار، به پشتیبانی ناهمگام مراجعه کنید.

شما می توانید loadLibrary() را چندین بار در یک کتابخانه بدون مشکل فراخوانی کنید. کتابخانه فقط یک بار بارگذاری می شود.

هنگام استفاده از بارگذاری معوق به موارد زیر توجه کنید:

ثابت های یک کتابخانه معوق در فایل واردکننده ثابت نیستند. به یاد داشته باشید، تا زمانی که کتابخانه معوق بارگذاری نشود، این ثابت ها وجود ندارند.
نمی‌توانید از انواع کتابخانه‌های معوق در فایل واردکننده استفاده کنید. در عوض، انتقال انواع رابط به کتابخانه ای را در نظر بگیرید که هم توسط کتابخانه معوق و هم فایل واردکننده وارد شده است.
دارت به طور ضمنی loadLibrary() را در فضای نامی که با استفاده از Deferred به عنوان فضای نام تعریف می‌کنید، وارد می‌کند. تابع loadLibrary() Future برمی گرداند.

Posted in آموزش دارت
Write a comment
© تمامی حقوق محفوظ می باشد.
ایمیل: admin@.com
ارسال پیام
ارسال پیام

    * اطلاعات شما محفوظ خواهد ماند.