Anunciando Dart 3.6

¡Bienvenido a Dart 3.6! Hoy es nuestro último lanzamiento del año, junto con Flutter 3.27. Estamos emocionados de compartir una nueva característica del lenguaje…

¡Bienvenidos a Dart 3.6! Hoy es nuestro último release del año, junto con Flutter 3.27. Estamos emocionados de compartir una nueva característica del lenguaje, digit separators. También tenemos varias características nuevas en el ecosistema de pub: pub download counts, y los muy esperados pub workspaces!

Banner del release de Dart 3.6 con el logo de Dart, un ícono de diana, y barras verticales azules.
Dart 3.6

Pub workspaces

#

Pub ahora soporta resolución compartida entre paquetes en un monorepo, o workspace. Un workspace es un grupo de paquetes estrechamente relacionados que se desarrollan, resuelven y publican juntos.

La característica de pub workspaces asegura que los paquetes en un monorepo compartan un conjunto consistente de dependencias. Esto te obliga a resolver conflictos de dependencias entre tus paquetes agrupados a medida que surgen, en lugar de enfrentar confusión cuando empiezas a usar los paquetes..

El analyzer de Flutter procesa todos los paquetes en un pub workspace en un único contexto de análisis, a diferencia del comportamiento anterior de un contexto separado para cada paquete. Para repositorios grandes, esto puede reducir significativamente la cantidad de memoria que consume el Dart language server, mejorando el rendimiento del IDE.

Para definir un pub workspace, añade el campo workspace en el archivo pubspec.yaml raíz y lista los paquetes relacionados, como se muestra en el siguiente ejemplo:

yaml
name: _
publish_to: none
environment:
  sdk: ^3.6.0
workspace:
  - packages/helper
  - packages/client_package
  - packages/server_package

Luego ejecuta pub get en cualquier lugar del repositorio para completar el mapeo y la gestión restante de archivos.

Para usar pub workspaces, todos los paquetes del workspace (pero no las dependencias) deben tener una restricción de versión del SDK de ^3.6.0 o mayor.

Para más información incluyendo instrucciones detalladas y cobertura de casos extremos, consulta la página de Pub workspaces (soporte para monorepo) .

Pub download counts

#

Escuchamos tus peticiones de métricas más precisas en pub.dev, ¡y ahora los download counts están aquí! El conteo de descargas reemplaza el anterior "popularity score" en las páginas individuales de paquetes. Junto con la nueva métrica, también encontrarás un gráfico sparkline en cada página, mostrando las descargas semanales a lo largo del tiempo.

El nuevo conteo de descargas y el gráfico sparkline mostrados en pub.dev.
Captura de pantalla destacando el nuevo conteo de descargas y el gráfico sparkline en pub.dev

Puedes aprender más sobre los download counts en la documentación de puntuación de pub.dev.

Digit separators

#

El lenguaje Dart ahora permite guiones bajos (_) como digit separators, que ayudan a hacer los literales numéricos largos más legibles. Múltiples guiones bajos consecutivos indican agrupación de nivel superior. Aquí hay algunos ejemplos de usos válidos de digit separators en Dart:

1__000_000__000_000__000_000
0x4000_0000_0000_0000
0.000_000_000_01
0x00_14_22_01_23_45

Recuerda, los digit separators solo son válidos entre dígitos, así que literales como 100_, 0._000_1, o 1.2e_3 no están permitidos. También es importante usar los digit separators de manera consistente, así que asegúrate de que los grupos de dígitos tengan el mismo tamaño entre cada nivel de grupos.

Para usar digit separators, necesitas actualizar el SDK mínimo en tu paquete a 3.6.0 o superior.

Cierre

#

Eso es todo por hoy. Para la historia completa de lo que el equipo de Dart ha estado haciendo este trimestre, consulta el Changelog de 3.6.0. Y no olvides visitar el post del blog del release de Flutter 3.27 para más novedades. ¡Nos vemos el próximo año!

Más de Dart