Novedades en el idioma Dart 2.2 de Google

El lenguaje Dart de Google, una vez posicionado como un reemplazo potencial para JavaScript en el navegador, se reinició para el desarrollo web y móvil del lado del cliente con el lanzamiento de Dart 2 en agosto de 2018. Dart 2.2 ya está disponible ..

Dart 2 presenta un sistema de tipos reforzado, una sintaxis mejorada y una cadena de herramientas de desarrollo reconstruida. Dart tiene una sintaxis sucinta y puede ejecutarse en una máquina virtual con un compilador justo a tiempo, y el compilador permite la recarga en caliente y con estado durante el desarrollo móvil.

Los desarrolladores también se benefician de los ciclos de desarrollo rápidos en los que el código se puede editar, compilar y reemplazar en aplicaciones que se ejecutan en un dispositivo. Compilar código con anticipación proporciona un inicio rápido, dijo Google.

Dart se puede compilar en código nativo para plataformas ARM y x86. Google ha utilizado el lenguaje para crear aplicaciones para iOS, Android y la web.

Dónde descargar Dart 2

Puede descargar la versión de producción de Dart 2 desde dartlang.org.

Nueva versión: Novedades de Dart 2.2

Lanzado en febrero de 2019, Dart 2.2. mejora el rendimiento del código nativo compilado con anticipación (AOT), al reducir la sobrecarga de las llamadas estáticas. El código optimizado ahora puede llamar al destino directamente usando una llamada relativa a la PC. Anteriormente, se debían realizar varias búsquedas en un grupo de objetos para determinar una dirección de destino. Las optimizaciones son especialmente útiles cuando el código tiene muchas llamadas de constructores y métodos estáticos, como el código de la interfaz de usuario de Flutter que crea widgets.

Otras características nuevas en Dart 2.2 incluyen:

  • Los literales se han ampliado para admitir conjuntos, lo que proporciona una nueva sintaxis conveniente. Los conjuntos son colecciones desordenadas de valores donde cada valor solo puede ocurrir una sola vez y los desarrolladores pueden verificar si un valor está en un conjunto. Anteriormente, la sintaxis literal solo admitía listas y mapas.
  • La especificación de idioma se ha actualizado.

Versión anterior: Novedades de Dart 2.1

La actualización Dart 2.1 de noviembre de 2018 presenta un tamaño de código más pequeño, mejor usabilidad para errores de tipo, verificaciones de tipo más rápidas y capacidades para mejorar la productividad al crear experiencias de usuario. El tamaño del código y el tiempo de compilación se han mejorado para las implementaciones web. El equipo del proyecto Dart se centró en el tamaño de salida de Dartjs, el compilador de Dart a JavaScript. Informan una reducción del 17 por ciento en el tamaño de salida minificado y una mejora del 15 por ciento en el tiempo de compilación en un experimento de muestra.

Soporte para int-a-- doubleconversión, por su parte, los medios de dardo 2.1 puede inferir donde necesita ser evaluado en silencio como un número entero doublede valor. Michael Thomsen de Google, gerente de producto de Dart y el kit de herramientas móviles Flutter, dijo que los desarrolladores de Flutter a menudo se tropiezan con errores de análisis cuando una API espera un double, pero los desarrolladores especifican un int. La nueva capacidad de conversión aclara la confusión.

Otras características nuevas en Dart 2.1 incluyen:

  • Las comprobaciones de tipo en tiempo de compilación, que estaban incompletas en Dart 2.0, se completaron en la versión 2.1. El estado incompleto anterior podría haber causado problemas de usabilidad, en los que el código fuente incorrecto podría haberse compilado sin producir errores.
  • El costo de las verificaciones de tipo se ha reducido para el código compilado con AOT y el código que se ejecuta en la VM con compilación JIT. Esto debería ayudar a mejorar el rendimiento de los desarrolladores de Flutter.
  • Se introduce una nueva sintaxis para mixins, con una mixinpalabra clave para definir clases que solo se pueden utilizar como mixins. Además, los mixins ahora pueden extender otras clases además de  Objectinvocar métodos en su superclase.

Thomsen también ofreció un vistazo de lo que los usuarios de Dart pueden ver en 2019:

  • Más mejoras de rendimiento, incluido un mejor soporte para procesadores multinúcleo y una mayor reducción del tamaño del código para mejorar los tiempos de descarga y arranque.
  • Refinamientos a expresiones constantes y soporte para un nuevo Setliteral.
  • Optimizaciones adicionales para ayudar con la creación de IU, como condicionales en listas de widgets, expandir colecciones de objetos a otros objetos y eliminar la necesidad de terminar declaraciones con punto y coma.

Versión anterior: Novedades de Dart 2.0

Lanzado en agosto de 2018, Dart 2.0 ofrece un lenguaje, un marco y componentes destinados a reducir el estándar al tiempo que permite a los desarrolladores concentrarse en la lógica empresarial. También forman parte de la plataforma herramientas para identificar errores con anticipación y entregar código de tiempo de ejecución pequeño y rápido. Dart Version 2 se centra en tres áreas:

  • Fortalecimiento y endurecimiento del lenguaje.
  • Creación de soporte para frameworks web y móviles.
  • Extender herramientas y componentes que apoyan el uso del idioma por parte de Google al mundo exterior.

Las nuevas características de Dart 2.0 incluyen:

  • Escritura fuerte para detectar errores antes, aumentar la calidad y mejorar las aplicaciones creadas por equipos grandes. El sistema de tipos en Dart 2 detecta más errores al principio del ciclo de desarrollo.
  • La inferencia de tipo se proporciona para campos, métodos, variables locales y la mayoría de los argumentos de tipo genérico.
  • El SDK principal tiene bibliotecas para acceder a las API de navegador modernas.
  • Se incluye el marco web AngularDart 5, inspirado en el propio marco Angular.
  • El SDK de Dart, que tiene un administrador de paquetes que funciona con el sitio de paquetes de Dart. También cuenta con un analizador estático, un linter y herramientas para la documentación web y el formato de código.
  • Acceso a 100 nuevas clases, que incluyen fecha, hora y componentes de Google Material.
  • Soporte para el editor de código Visual Studio de Microsoft, a través de la extensión de código Dart.
  • La aplicación del bloc de notas DartPad se ha actualizado para Dart 2.
  • Definir la interfaz de usuario como código para reducir la necesidad de cambiar de contexto entre un lenguaje de marcado de interfaz de usuario y el lenguaje de programación.
  • El lenguaje tiene bibliotecas específicas para la web como dart:htmly un marco web completo.