What is Dart?
Dart is a programming language that is optimized for building User Interface applications in the modern web environment. The idea behind Dart is to allow the development of apps for multi-platform targets.
Dart is defined to center the client at the core of the language. It brings high capabilities for devs during the development phase such as the hot reloading and also on the building process where there’s a wide variety of targets: web, mobile, and desktop.
Dart libraries
Dart has a set of core libraries that developers can use to perform essential logic. Here is the list of core libraries provided by Dart:
- Built-in types and collections
(dart:core)
- Files, HTTP and other I/O support for non-web applications
(dart:io)
- HTML resources for (DOM) interaction.
(dart:html)
- Encoders and decoders including JSON and UTF-8
(dart:convert)
- Mathematical constants, functions and randomness
(dart:math)
- Support for asynchronous programming
(dart:async)
- Fixed-sized data (i.e. unsigned 8-byte integers)
(dart:typed_data)
- Concurrent programming using isolation
(dart:isolate)
- Additional collection types such as queues, linked lists, hashmaps and binary trees
(dart:collection)
Dart Platform Compilation
The compiler of an application built using Dart allows you to target multiple platforms. For native applications, Dart has two compiling options: Dart VM (Virtual Machine) with Just-In-Time (JIT) compilation or Ahead-Of-Time (AOT) compilation.
When targeting web applications, Dart also has two compilation options. For a development built it uses dartdevc
. For production compilation it uses dart2js
. In both cases the output is JavaScript files.
Dart is the base language for the popular framework Flutter.
References