/web

Lightweight browser API bindings built around JS static interop.

Primary LanguageDartBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Dart CI pub package package publisher

Lightweight browser API bindings built around JS interop.

What's this?

This package exposes browser APIs. It's generated from the Web IDL definitions and uses recent Dart language features for zero-overhead bindings.

This package is intended to replace dart:html and similar Dart SDK libraries. It will support access to browser APIs from Dart code compiled to either JavaScript or WebAssembly.

Usage

import 'package:web/web.dart';

void main() {
  final div = document.querySelector('div')!;
  div.text = 'Text set at ${DateTime.now()}';
}

Migrating to package:web

package:web is replacing dart:html and other web libraries as Dart's long-term web interop solution. To learn how to migrate from dart:html APIs to package:web, see our migration guide.

Generation

This package is generated by web_generator. See the README for more details on the conventions used to generate this package and how to run the different tools to generate bindings and update various package dependencies.