Implementations of various Dart developer services based on package:dart_runtime_service.
package:dart_runtime_service provides a simple interface to create Dart services with common platform-agnostic features and behaviors, while also allowing for configuration of custom service backends. This removes the need for individual services to implement functionality common to most services, including:
There are currently two planned runtime service implementations, with a focus on replacing dart:_vmservice and package:dwds:
package:dart_runtime_service_vm: an implementation of the Dart VM service protocol which can interact with the native runtimes. To be launched directly as an isolate by dart and dartaotruntime.
package:dart_runtime_service_web: an implementation of the Dart VM service protocol which serves as a proxy to interact with a running web application. To eventually be launched using dart web-development-service by developer tooling responsible for launching and managing DDC-based applications.
Future candidates for migration include:
package:dtd_impl: the implementation of the Dart Tooling Daemon (DTD), which implements a similar protocol to the VM service protocol.
package:dds: the implementation of the Dart Development Service (DDS), which provides extensions to the VM service protocol. DDS reimplements much of the common functionality provided by package:dart_runtime_service, particularly around client management, stream subscriptions, and service extension routing.