Google anuncia Dart, su nuevo lenguaje para la web

14 comentarios

Dart
En la keynote de Gotocon, de la mano de Lars Bak (creador del motor de javascript V8 de Chrome) y de Gilad Bracha (co-autor de la segunda y tercera edición de la especificación de Java) se ha presentado Dart; un nuevo lenguaje de programación para la web.

Hace unas semanas se filtraron varios emails internos de google de 2010 en los que se discutían las bonanzas y mancanzas de Javascript. En dichos emails intervenían varios peces gordos en los que hacían latente sus preocupaciones a medio y largo plazo sobre el futuro de Javascript y en el que se planteaban un seguido de mejoras imprescindibles para garantizar una buena evolución de la web.


Dart es lo que en esos documentos apuntaban como la solución y es lo que hoy han presentado en Gotocon. Dart es muy parecido sintácticamente a Javascript pero le añade cosas que mucha gente echamos de menos. Dart incluye mejoras a JavaScript no sólo sintácticas que mejoran su usabilidad (como un sistema de Orientación a Objetos serio) sino que aporta mejoras que permitirán la creación de mejoras herramientas de desarrollo y otras mejoras que permitirán incrementar el rendimiento de ejecución de Javascript ya que el JIT tendrá mejor información sobre cómo optimizar la ejecución (i.e. tipado estático de datos).

Prestaciones

  • Sistema de clases con herencia e interfaces
  • Tipado estático de datos
  • Genéricos
  • Ámbito léxico de bloque real
  • Sobrecarga de operadores y constructores
  • Modelo de concurrencia basado en actores
  • Interpolación de cadenas. print(‘Hello, ${name}!’);
  • Named constructors
  • imports

Dart se ha diseñado para conseguir tres objetivos:


  • Alto rendimiento en los distintos dispositivos usados para la web.

  • Usabilidad y productividad del lenguaje. Dart es dinámico, fácil de usar y sigue la naturaleza de Javascript de no necesitar ser compilado.

  • Posibilidad de crear herramientas avanzadas que faciliten el desarrollo.

class Printer extends Isolate {
  main() {
    port.receive((message, replyTo) {
      if (message == null) port.close();
      else print(message);
    });
  }
}
main() {
  new Printer().spawn().then((port) {
    for (var message in [‘Hello’, ‘from’, ‘other’, ‘isolate’]) {
      port.send(message);  
    }
    port.send(null);
  });
}

Cómo usarlo


La VM de Dart aún no es parte de Chrome pero ofrecen varias herramientas que nos permiten su uso:
  • Compilador de Dart a Javascript (disponible para Chrome, Safari 5+ y Firefox 4+)
  • En una VM (Virtual machine) nativa, que también se podría usar en el lado servidor.
  • Dartboard es un plugin para el navegador desde el cual podrás escribir pequeñas aplicaciones en Dart.

Personalmente es un lenguaje que me atrae mucho, más aún viniendo de quien viene, un sello distinguido de calidad. Además de la novedad creo también en la necesidad de evolucionar Javascript. Algo está clarísimo y es que cada vez se desarrollan más aplicaciones pesadas dentro del navegador, aplicaciones enterprise y aplicaciones con ciclos de desarrollo largos y equipos grandes. Todo esto sumado, destapa ciertas incompatibilidades con un lenguaje como Javascript, que aunque posible el circuito productivo es muy mejorable.

¿Lo aceptará la comunidad?


El éxito de Dart vendrá dado por la habilidad de Google de convencer al resto de fabricantes de incorporar la VM en sus navegadores. Durante los próximos meses veremos la tendencia y adopción que Dart pueda tener. Cabe destacar también que esta no es ni la primera ni la única iniciativa para mejorar Javascript. Hay proyectos como Javascript++ que siguen objetivos similares, pero está claro que su impacto no es el mismo que el que puede tener Google.

Más información | Web oficial de Dart, Ejemplos de código, Especificación del lenguaje, Anuncio oficial
En Genbeta Dev | Se descubren más detalles del nuevo lenguaje de Google llamado Dart

Anunciate aquí
Anunciate aquí
Anunciate aquí

¿Quieres saber más?

Productos

Información de Productos relacionados con el artículo

Ver más

Artículos

Artículos relacionados que probablemente también te interesen

Ver más

Respuestas

Preguntas sobre este tema que ha contestado la comunidad

+ Deja tu comentario

Comentarios

  • 1

    Avatar de markitos228 !

    Creo que el verdadero cambio viene por actualizar el estándar que lleva con palabras reservadas a OO (class, extend...) sin usarlas unos cuantos años y no introducir nuevas tecnologías.

    Así que ésto me parece una excelente medida de presión. Yo si ECMAScript no se renueva, veo con buenos ojos mudar a Dart.

    Saludos

  • 2

    !
    | 2 estrellas

    Personalmente no me gusta esa sintaxis al estilo purista de C o Java. No se si tenga aceptación por parte de los desarrolladores web, Javascript es mas simple de entender que este lenguaje. Por otro lado ya existe y funciona muy bien CofeeScript que incluso es la apuesta de Ruby on Rails como alternativa a Javascript. Solo el tiempo dirá si tiene el éxito de Python o caerá en el limbo del olvido como Go.

  • 3

    Avatar de lagartyjo !

    Se mire por donde se mire, es una gran noticia que Google apueste por un nuevo lenguaje que juegue en la misma liga que Javascript. Independientemente de si resulta ser un lenguaje muy bien diseñado o si consigue o no un gran apoyo, lo importante es ofrecer una alternativa que pueda superar o al menos espabilar a Javascript, ese lenguaje desfasado que compite solamente contra sí mismo >.< y más ahora, que se está convirtiendo en la base de lo multimedia en la web (las posibilidades con HTML5, renderizado 3D en el navegador, manipulación de video y sonido sin límites...).

    Ojalá Google se lo curre, desarrollen un buen lenguaje que coja protagonismo y suplan las carencias de Javascript, por el bien de todos :P

  • 4

    !
    | 2 estrellas

    Grandes mejoras para hacer más fácil y dinámico el trabajo para el Desarrollador. Sin embargo, no veo el caso a programar en un lenguaje "mejor" que Javascript, si de todos modos el resultado final se tiene que transportar a Javascript y se va a ejecutar en un motor para Javascript. En el blog de desarrollo de Google aclaran que estos códigos no se ejecutarán sobre una máquina virtual de Dart y que no será integrada pronto a Chrome. Es decir, todo sigue siendo Javascript al final del día.

    ¿Mejora, empeora o quedará igual el rendimiento de una aplicación escrita "nativamente" en Javascript o una aplicación Javascript transportada desde Dart?

    Los ingenieros de Google parecen seguir con la idea de hacer más y más capas de abstracción de código y lenguajes para programar en un lenguaje lo más parecido posible a Java (lo cual no me parece mal por si mismo, por ej. GWT), pero todo se traduce finalmente al mismo Javascript. Desde esa perspectiva me parece más útil una labor como la de jQuery, no hace un nuevo lenguaje, sino mejora la forma de trabajar con el propio Javascript.

    Sería interesante poder escribir programas en Dart que sean interpretados en el navegador por una VM, esperando que el rendimiento sea el mismo o mejor todavía de Javascript.

    Será cosa también de probar del lado del servidor, quizás la MV en servidor con Dart sea más potente que la V8 o Node, pero si ese es el caso entonces me apunto más a Go, prefiero una aplicación nativa del lado del servidor que un script interpretado, para grandes tráficos el rendimiento es completamente diferente.

    Saludos.

  • Respondiendo a #4:
  • 7

    interesante

    Avatar de atoi !
    atoi | 2 estrellas

    El punto es que eventualmente habrá una virtual machine sobre la que ejecutar Dart. El compilador a Javascript está pensado para facilitar la transiciòn, ya que los desarrolladores no tienen que esperar a que todos los navegadores populares incluyan la VM de Dart. Por cierto, esto último me parece una genial idea.

    -- editado por última vez a las 01:51

  • Respondiendo a #7:
  • 9

    !
    | 2 estrellas

    Pues como política de "introducción" del producto quizás sea buena idea, supongo que hoy mismo ningún otro navegador web lo incluiría si no se ve presionado por una gran comunidad de desarrolladores que lo usen.

  • 5

    Avatar de Gerardo !

    Estoy acabando un mini-framework basado en componentes que se programan en JavaScript nativo y me va a dar un poco de pereza empezar pasarlo todo a Dart aunque, según he visto en los códigos de ejemplo todo queda muchísimo más limpio, consecuencia del paradigma orientado a objetos, su sintaxis y sus mecanismos de herencia.

    Falta por ver el tratamiento que hace Dart sobre los objetos nativos del DOM.

    Espero que este lenguaje siva como un nuevo estándar o como una forma de impulsar la evolución de JavaScript.

  • Respondiendo a #5:
  • 10

    Avatar de Jose Juan !

    "Falta por ver el tratamiento que hace Dart sobre los objetos nativos del DOM"

    Yo espero que no haga tratamiento ninguno.

    PD: ni idea, pero hipotetizo que serán sustituídos por librerías estandar (imports...). Estaría genial.

  • 6

    !
    | 1 estrellas

    No entiendo por qué se dedica la gente a votar negativo a comentarios razonados como los anteriores, os lleváis un positivo cada uno para compensar. Poco tengo que decir de Dart sólo que pinta bien y espero que le vaya bien, Javascript está muy bien pero la funcionalidad importante le viene de esfuerzos externos por suplir sus deficiencias.

  • Respondiendo a #6:
  • 8

    !
    | 2 estrellas

    Ah saber porqué hace eso la gente, hay montón de votos negativos pero no hay muchos comentarios en contra de nadie (el tema no es polémico, simplemente informativo). Sería interesante que alguien experto estudiara la psicología del botón "dislike", es más facil dar click que expresar un razonamiento, o es por sólo por jugar... Tal vez deban prestar atención a esto nuestros anfitriones de WSL, eso de que se desvanezca un comentario por clicks y no por argumentos es un poco contraproducente si el objetivo es la comunicación. Igual, positivo a todos para compensar. Saludos!

  • 11

    !

    Conociendo a Google, esperaba ejemplos mas dinamicos y un diseno web mas elegante.

    Si bien hay ejemplos que dicen "canvas 2D" "slides" y tantas otras cosas llamativas, deberia ser mas facil verlas en accion..

  • 12

    !
    | 1 estrellas

    Sería más sencillo si el navegador entendiese directamente CoffeeScript. Una sintaxis más sencilla y que resuelve muchos de los problemas que decís que arrastra Javascript. De todas formas, ¿tan complicado es entender que Javascript NO es ni va a ser Java? Qué pesados!

  • 13

    !
    | 1 estrellas

    ¿Este lenguaje de programación está orientado a web no? ¿Se puede utilizar completamente ya?

  • 14

    Avatar de oficus !

    Ya están apareciendo páginas en español enfocadas a este nuevo lenguaje: http://www.dartexperience.com

Escribir un comentario

Para hacer un comentario es necesario que te identifiques: ENTRA o conéctate con Facebook Connect

Anunciate aquí

WSL Weblogs SL