Introduction to Dart
Learn Dart through interactive, bite-sized lessons. Build Flutter apps and master modern development.
Start Dart Journey →Dart is a modern, object-oriented programming language developed by Google. It's designed for building web, mobile, and desktop applications. With its clean syntax and powerful features, Dart has gained popularity among developers worldwide.
Key Features of Dart
- Strong typing with type inference
- Object-oriented programming
- Garbage collection
- Rich standard library
- Asynchronous programming support
- Compiles to native code or JavaScript
Getting Started with Dart
To begin your Dart journey, you'll need to install Dart on your system. Once installed, you can start writing Dart code using any text editor or IDE.
Your First Dart Program
Let's create a simple "Hello, World!" program in Dart:
void main() {
print('Hello, World!');
}
This program demonstrates the basic structure of a Dart application. The main() function is the entry point of every Dart program.
Dart Syntax Basics
Dart's syntax is clean and easy to understand. Here are some fundamental concepts:
Variables and Data Types
Dart supports various data types, including numbers, strings, booleans, and more. You can declare variables using var or specific type annotations:
var name = 'John Doe'; // Type inference
String greeting = 'Hello'; // Explicit type
int age = 30;
double height = 1.75;
bool isStudent = true;
Functions
Functions in Dart are first-class objects. You can create named functions or use anonymous functions:
// Named function
int add(int a, int b) {
return a + b;
}
// Anonymous function
var multiply = (int a, int b) => a * b;
Object-Oriented Programming in Dart
Dart is an object-oriented language, supporting classes, inheritance, interfaces, and mixins. Here's a simple class example:
class Person {
String name;
int age;
Person(this.name, this.age);
void introduce() {
print('My name is $name and I am $age years old.');
}
}
void main() {
var person = Person('Alice', 25);
person.introduce();
}
Asynchronous Programming
Dart provides excellent support for asynchronous programming using Futures and async/await syntax. This makes it easy to work with I/O operations and other time-consuming tasks:
Future<String> fetchUserData() async {
// Simulating a network request
await Future.delayed(Duration(seconds: 2));
return 'User data fetched';
}
void main() async {
print('Fetching user data...');
var result = await fetchUserData();
print(result);
}
Dart for Web Development
Dart can be compiled to JavaScript, making it suitable for web development. The Dart for web basics guide provides more information on using Dart for client-side web applications.
Dart for Mobile Development
Dart is the primary language for developing with Flutter, a popular framework for building cross-platform mobile applications. Check out the Dart for Flutter intro to learn more about mobile app development with Dart.
Next Steps
To deepen your understanding of Dart, explore these topics:
With its versatility and powerful features, Dart is an excellent choice for modern software development. Start coding and discover the full potential of this language!