Importing Dart Libraries
Importing Dart Libraries
About
- Code Reuse: Share functionality across files
- Core Libraries: Built-in Dart libraries
- Third-party: External package imports
- Organization: Logical code separation
Main Topics
-
Basic Import
- Definition:
import
keyword - Example:
import 'dart:math'; // Core library import 'package:flutter/material.dart'; // Package import 'lib/utils.dart'; // Local file
- Definition:
-
Core Libraries
- Definition: Dart SDK provided
- Example:
import 'dart:async'; // Async operations import 'dart:convert'; // JSON handling
-
Package Imports
- Definition: From pub.dev
- Example:
import 'package:http/http.dart'; import 'package:provider/provider.dart';
-
Relative Imports
- Definition: Project file paths
- Example:
import '../widgets/header.dart'; import './constants.dart';
-
Initialization
-
Definition:
deferred as
-
Example:
import 'package:heavy_library/heavy.dart' deferred as heavy; void load() async { await heavy.loadLibrary(); heavy.run(); }
-
How to Use
- Core: Start with dart: libraries
- Packages: Add to pubspec first
- Organization: Group related imports
- Performance: Defer heavy libraries
How It Works
- Resolution: Path or package lookup
- Loading: At runtime
- Scope: Brings identifiers into namespace
- Caching: Single library instance
Example:
// Typical Flutter app imports
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'dart:async';
// Local imports
import '../models/user.dart';
import './api_service.dart';
Conclusion
Importing libraries in Dart provides access to core functionality, third-party packages, and your own organized code. Proper import practices keep your codebase clean and maintainable while enabling powerful code reuse across projects.