Saltar al contenido principal

Librerías principales (core libraries) de Dart

Aprende sobre las librerías principales y las APIs de Dart.

Dart tiene un rico conjunto de librerías principales que proporcionan elementos esenciales para muchas tareas de programación cotidianas, como trabajar con colecciones de objetos (dart:collection), realizar cálculos (dart:math) y codificar/decodificar datos (dart:convert). APIs adicionales están disponibles en los paquetes de uso común.

Tour por las librerías (Library tour)

#

Las siguientes guías cubren cómo usar las características principales de las librerías principales de Dart. Proporcionan solo una descripción general y de ninguna manera son exhaustivas. Siempre que necesites más detalles sobre una librería o sus miembros, consulta la referencia de la API de Dart.

dart:core

Tipos integrados, colecciones y otra funcionalidad principal. Esta librería se importa automáticamente en cada programa Dart.

dart:async

Soporte para programación asíncrona, con clases como Future y Stream.

dart:math

Constantes y funciones matemáticas, además de un generador de números aleatorios.

dart:convert

Codificadores y decodificadores para convertir entre diferentes representaciones de datos, incluyendo JSON y UTF-8.

dart:io

E/S (I/O) para programas que pueden usar la Dart VM, incluyendo aplicaciones de Flutter, servidores y scripts de línea de comandos.

dart:js_interop

APIs para interoperabilidad con la plataforma web. Junto con package:web, dart:js_interop reemplaza a dart:html.

Como se mencionó, estas páginas son solo una descripción general; cubren solo unas pocas librerías dart:* y ninguna librería de terceros.

Para obtener una visión general de todas las librerías que Dart soporta en diferentes plataformas, consulta las listas de Librerías multiplataforma, Librerías para plataformas nativas y Librerías para la plataforma web a continuación.

Otros lugares para encontrar información sobre librerías son el sitio pub.dev y la guía de librerías para desarrolladores web de Dart. Puedes encontrar la documentación de la API para todas las librerías dart:* en la referencia de la API de Dart o, si estás usando Flutter, en la referencia de la API de Flutter.

Para obtener más información sobre el lenguaje Dart, consulta la documentación y ejemplos del lenguaje.

Librerías multiplataforma

#

La siguiente tabla enumera las librerías principales de Dart que funcionan en todas las plataformas de Dart.

LibreríaNotas
dart:core
Tipos integrados, colecciones y otra funcionalidad principal para cada programa Dart.
dart:async , package:async
Soporte para programación asíncrona, con clases como Future y Stream .
package:async proporciona utilidades adicionales en torno a los tipos Future y Stream .
dart:collection , package:collection
Clases y utilidades que complementan el soporte de colecciones en dart:core .
package:collection proporciona más implementaciones de colecciones y funciones para trabajar con y sobre colecciones.
dart:convert , package:convert
Codificadores y decodificadores para convertir entre diferentes representaciones de datos, incluyendo JSON y UTF-8.
package:convert proporciona codificadores y decodificadores adicionales.
dart:developer
Interacción con herramientas de desarrollo como el depurador y el inspector.
Solo JIT nativo y el compilador de desarrollo de JavaScript
dart:math
Constantes y funciones matemáticas, además de un generador de números aleatorios.
dart:typed_data , package:typed_data
Listas que manejan de manera eficiente datos de tamaño fijo (por ejemplo, enteros sin signo de 8 bytes) y tipos numéricos SIMD.
package:typed_data proporciona más clases y funciones para trabajar con datos tipados.

Librerías para plataformas nativas

#

La siguiente tabla enumera las librerías principales de Dart que funcionan en la plataforma nativa de Dart (código compilado con AOT y JIT).

LibreríaNotas
dart:ffi , package:ffi
Una interfaz de funciones foráneas (foreign function interface) que permite al código Dart usar APIs de C nativas.
package:ffi contiene utilidades que incluyen soporte para convertir cadenas de Dart y cadenas de C.
dart:io , package:io
Soporte de archivos, sockets, HTTP y otros tipos de E/S (I/O) para aplicaciones no web.
package:io proporciona funcionalidad que incluye soporte para colores ANSI, copia de archivos y códigos de salida estándar.
dart:isolate
Programación concurrente mediante isolates: trabajadores independientes similares a hilos.
dart:mirrors
Reflexión básica con soporte para introspección e invocación dinámica.
Experimental
Solo JIT nativo (no Flutter)

Librerías para la plataforma web

#

La siguiente tabla enumera las librerías principales de Dart que funcionan en la plataforma web de Dart (código compilado a JavaScript). Las herramientas más recientes y recomendadas están en negrita, y las herramientas heredadas están en cursiva (visita la sección de interoperabilidad con JavaScript para obtener más información).

LibreríaNotas
package:web
Bindings ligeros de la API del navegador creados en torno a la interoperabilidad con JS (JS interop)
Reemplaza todas las dart:* librerías web. Lee la guía de migración .
dart:js_interop
Interoperabilidad con JavaScript y APIs del navegador.
Reemplaza a package:js.
dart:js_interop_unsafe
Métodos de utilidad para manipular objetos JavaScript de forma dinámica.
Reemplaza a dart:js_util.
dart:html (heredado)
Elementos HTML y otros recursos para aplicaciones basadas en la web.
Usa package:web en su lugar.
dart:indexed_db (heredado)
Almacenamiento de clave-valor en el lado del cliente con soporte para índices.
Usa package:web en su lugar.
dart:js , dart:js_util , package:js (heredado)
Primitivas de bajo nivel y anotaciones de nivel superior para la interoperabilidad con JS (JS interop).
Usa dart:js_interop o dart:js_interop_unsafe en su lugar.
dart:svg (heredado)
Gráficos vectoriales escalables (Scalable Vector Graphics).
Usa package:web en su lugar.
dart:web_audio (heredado)
Programación de audio de alta fidelidad en el navegador.
Usa package:web en su lugar.
dart:web_gl (heredado)
Programación 3D en el navegador.
Usa package:web en su lugar.