Question #59MediumDart Basics

What are dart languages are used for ?

#dart

Answer

Overview

Dart is a general-purpose, object-oriented, strongly-typed programming language developed by Google in 2011. It was designed specifically to scale for large applications.


What Dart is Used For

Use CasePlatformNotes
Mobile appsiOS + AndroidVia Flutter
Web appsBrowserCompiled to JavaScript
Desktop appsWindows/macOS/LinuxVia Flutter
Server/CLIDart VMBackend APIs, scripts
EmbeddedIoTDart on constrained devices

Dart on Different Platforms

1. Flutter (Mobile + Desktop + Web)

dart
// Same Dart code runs on iOS, Android, Web, Desktop
void main() => runApp(MaterialApp(home: Text('Hello from Dart!')));

2. Server-side Dart

dart
import 'dart:io';

void main() async {
  final server = await HttpServer.bind('localhost', 8080);
  await for (final request in server) {
    request.response
      ..write('Hello from Dart server!')
      ..close();
  }
}
// Or use shelf package for REST APIs

3. CLI Scripts

dart
void main(List<String> args) {
  print('Arguments: $args');
  // Run: dart my_script.dart arg1 arg2
}

Why Dart for Flutter?

ReasonDetail
Hot ReloadJIT compilation in debug mode
Fast releaseAOT compilation for native performance
Type safeCatches errors at compile time
Null safeBuilt-in null safety
Reactiveasync/await, Streams built in
FamiliarSyntax similar to Java, C#, JavaScript
Optimized for UIIsolates, animation-friendly

Dart Compilation Modes

text
Debug mode  → JIT (Just-In-Time)   → Fast Hot Reload   → flutter run
Profile mode → AOT (Ahead-of-Time) → Performance test  → flutter run --profile
Release mode → AOT                  → Smallest, fastest → flutter build apk

Summary: Dart is primarily used for Flutter (mobile, web, desktop), but also works for server-side APIs and CLI tools. Google built Dart specifically to address shortcomings in JavaScript for large-scale application development.