object-oriented, class defined language using a C-style syntax
transcompiles optionally into JavaScript
supports interface, mixin, abstract classes, reified generics, static typing, and a sound type system
Usage
Compilesd as Javascript
Stand-aloneDart
SDK ships with a stand-alone Dart VM, allowing Dart code to run in a command-line interface.
Flutter’s hot reload feature helps you quickly and easily experiment, build UIs, add features, and fix bugs. Hot reload works by injecting updated source code files into the running Dart Virtual Machine (VM). After the VM updates classes with the new versions of fields and functions, the Flutter framework automatically rebuilds the widget tree, allowing you to quickly view the effects of your changes.
Ahead-of-time compiled
Dart code can be AOT-compiled into machine code(native instruction sets).App built with Flutter are deployed to app stores as AOT-compiled Dart code
Isolates
To achieve concurrency, Dart uses isolates.
Isolate technique is very useful also when you are working on serverside project with Dart because it could optiomize some intensive process that you have to achieve during your project.
A snapshot is a sequence of bytes that represents a serialized form of one or more Dart objects. This representation closely corresponds to the way these Dart objects are represented in an isolate’s heap in memory.
The Dart VM uses snapshots for two main reason:
Speeding up initial startup time for an app.A snapshot of the core libraries and application script typically contains preparsed data for the core libraries and the application script. This means it is not necessary to parse and tokenize the libraries and script during startup.
Passing objects from one isolate to another isolate.
The Dart VM uses the following kinds of snapshots:
A full snapshot, which is a complete representation of an isolate’s heap after it is initialized. This is used by the Dart VM for fast startup and initialization of the entire Dart core library and other libraries such as dart:convert, dart:io, dart:isolate, and so on.
A script snapshot, which is a complete representation of an application script in an isolate’s heap after the script is loaded into the isolate, but before the script starts executing. This is used by the Dart VM for fast startup and initialization of applications. For example, the script that starts dart2js uses a pre-created script snapshot of the dart2js application.
Object snapshot, Messaging from one isolate to another is implemented in the Dart VM by creating a snapshot of the Dart object that needs to be sent to the other isolate.
Dart
Usage
Isolates
Snapshots
Reference