Por qué me uno al equipo de Dart, de todos los lugares
Hace dos semanas, me transferí al equipo de Dart. Para muchos, este era un movimiento obvio en mi carrera pero hubo algunas personas que se sorprendieron genuinamente.
ACTUALIZACIÓN mayo de 2018: Han pasado 2 años y este artículo todavía recibe cientos de lecturas al mes. Debo señalar que algunas de las cosas a continuación están desactualizadas. Por ejemplo, cuando digo "pronto, podrás escribir código Dart para apps nativas de Android e iOS" a continuación — eso ya es muy posible. Así que, disfruta este documento histórico.
Las respuestas variaron desde la leve sorpresa hasta la broma amistosa hasta la negatividad total. No los culpo: para muchas personas, Dart es un animal extraño. Puedes encontrar muchos desarrolladores inteligentes en internet que creen firmemente que Dart no tendrá éxito o que ya ha fallado.
Creo firmemente lo contrario. Podría estar equivocado, por supuesto, pero estoy lo suficientemente seguro sobre Dart como para apostar mi carrera a ello.
Entonces, aquí hay un par de razones por las que creo en el brillante futuro de Dart. Obviamente, debes tener en cuenta que soy un empleado de Google, en el equipo de Dart. Soy tan parcial como cualquiera puede serlo. Si quieres una opinión de un no-empleado de Google, tienes otras opciones.
1. Dart es algo grande en Google
#
No puedo compartir los números reales (¿todavía?) pero hay mucho código Dart siendo escrito en Google. Muchas líneas de código. Todos los días.
Casi todo el código es crítico para la misión. Dart es usado por el equipo de producto que trae la mayoría de los ingresos a Google.
Además de eso, Dart recientemente se unió a un club exclusivo de solo un puñado de lenguajes de programación que requieren un proceso especial para revisiones de código en Google.
En otras palabras, Dart será un éxito incluso si nadie excepto Google lo usa. Tener una comunidad activa es, por supuesto, una bendición enorme, enorme para cualquier tecnología. Es solo que en el caso de Dart, esto definitivamente no es un requisito para la supervivencia en este momento.
2. Dart se mantiene muy activamente
#Dart es estable ahora — actualmente v1.13 — pero eso no significa que el trabajo en él se haya detenido o incluso ralentizado. Si miras github.com/dart-lang, verás 139 repositorios relacionados con Dart que son mantenidos por Google. Echemos un vistazo solo al repositorio principal (sdk).
Para el último mes, que incluyó las vacaciones de Navidad, GitHub Pulse reporta:
Excluyendo fusiones, 32 autores han hecho push de 408 commits a master y 412 commits a todas las ramas. En master, 828 archivos han cambiado y ha habido 93,059 adiciones y 88,236 eliminaciones.
Compara estos números con los de otros proyectos similares desarrollados de forma abierta, como Rust, Go, Scala, TypeScript o Ruby.
No estoy diciendo que la velocidad de commits sea equivalente a la calidad o algo por el estilo. Pero debería decirte algo sobre la inversión, el enfoque y la tasa de mejora.
Los lenguajes de programación y sus bibliotecas estándar son bestias complejas que nunca terminan.
Una fantasía popular de programador es que diseñas un sistema hermoso y elegante y luego — simplemente funciona. La palabra clave aquí es: 'fantasía'. Sí, las tecnologías que usamos todos los días a menudo son elegantes en diseño pero más importante las mejores tienen una enorme cantidad de trabajo (y re-trabajo) detrás de ellas.
Oh, y no se trata solo de la cantidad, por supuesto. El equipo detrás de Dart está hecho de SWEs de Google experimentados. Personas como Kasper y Lars (famosos por V8), Gilad (famoso por la especificación del lenguaje Java), John (famoso por inotify) contribuyen diariamente. Y luego hay estrellas invitadas como Erik (famoso por C# y Rx). En mi mente, la calidad de los SWEs es el mejor predictor de la calidad de la tecnología que están construyendo.
3. Dart pronto se ejecutará en todas partes
#El primer objetivo de Dart fue la web, pero desde el principio fue diseñado como un lenguaje de programación de propósito general.
Puedes compilar Dart a JavaScript que se ejecuta en cada navegador.
Puedes escribir herramientas de línea de comandos e incluso servidores en Dart.
-
Pronto, podrás escribir código Dart para microprocesadores (piensa en Raspberry Pi) y — más interesante — para microcontroladores (piensa en Arduino). Esto significa que desarrollar para dispositivos realmente compactos, realmente baratos, realmente de baja energía ya no es un club exclusivo de C/C++/asm.
-
Pronto, podrás escribir código Dart para apps nativas de Android e iOS.
4. Dart es estable y consistente
#He notado que incluso los primeros adoptadores están cansados del cambio constante en herramientas y bibliotecas du jour.
Dart está evolucionando, sí, pero los proyectos que escribiste hace uno o dos años todavía usan la misma biblioteca estándar, las mismas características del lenguaje, y el mismo gestor de paquetes y dependencias.
Aparte de eso, hay formas 'dartisan' de hacer las cosas — la mayor parte del código Dart que he visto sigue la Guía de Estilo oficial, Guía de Uso y Guía de Diseño. La legibilidad se valora en la comunidad de Dart.
5. Programar en Dart se siente bien (para mí)
#Ok, esto es subjetivo. Pero seamos realistas, nuestras elecciones de stack de desarrollo a menudo lo son. Si puedes evitarlo, tiendes a usar lo que se siente bien para ti. A algunos desarrolladores les encanta JavaScript, a otros les odian — aunque sigue siendo el mismo lenguaje. Lo mismo para Java, PHP, Ruby, o Dart.
Una gran razón por la que estoy perfectamente dispuesto a apostar mi carrera a Dart es que no soy solo yo. Hay una gran cantidad de personas inteligentes que lo usan y les gusta la experiencia.
¿Por qué? Dart no es para todos, pero para un tipo particular de desarrollador puede ser un soplo de aire fresco.
-
Es familiar (sin masturbación de sintaxis extraña), especialmente si vienes de C#, ActionScript, Java, C, y similares.
No es sorprendente (sin semántica wtf).
-
Se sale de tu camino (tipos opcionales, unsoundness, GC, todo-es-un-objeto, mirrors)…
-
… pero te permite escribir código robusto (tipos opcionales, generics opcionales, bibliotecas, paquetes, transformers).
-
Facilita hacer las cosas habituales (async/await, interpolación de strings, this.field, operadores null-aware).
Viene con una biblioteca estándar bien pensada.
Así que ahí lo tienes. Durante 2016 creo que gran parte de lo que describo arriba empezará a tener más sentido para más personas.
Pero al menos ahora sabes por qué (creo) que mi transferencia al equipo de Dart no es un brainfart completo.
Más de Dart
Dart en Google Summer of Code 2026
¡Estamos emocionados de anunciar que el proyecto Dart será mentor de contribuidores por séptima vez en Google Summer of Code 2026!
Resultados de Google Summer of Code 2025
El programa Google Summer of Code (GSoC) se enfoca en involucrar a nuevos desarrolladores de todo el mundo con el desarrollo de software de código abierto. Google…