Tecnología

Las razones del explosivo crecimiento de Dart, el lenguaje de programación de Google

Las razones del explosivo crecimiento de Dart, el lenguaje de programación de Google

Dart, un lenguaje de programación creado por Google y usado para el desarrollo para móviles, fue elegido por GitHub el año pasado por ser el que más rápido crecía, un 532%. Su crecimiento se debe a Flutter, un kit de herramientas también de Google que hace más fácil a los desarrolladores decidir cómo será la experiencia de los usuarios

En 2011 Google lanzó un lenguaje de programación llamado Dart para ayudar a los ingenieros a desarrollar sus apps. Este lenguaje se ha convertido en el “ingrediente secreto” de un kit de herramientas de código abierto llamado Flutter que Google publicó en 2017 para ayudar a sus usuarios a diseñar el look&feel de muchas de sus apps para móviles o web.

La popularidad de Dart ha despegado desde entonces.

El año pasado, la plataforma de repositorios de código GitHub nombró Dart como el lenguaje cuyo crecimiento había sido más rápido: su adopción entre la comunidad de desarrolladores creció en un 532% entre octubre de 2018 y septiembre de 2019. GitHub, de momento, no ha compartido los datos de este año.

Flutter y Dart permiten a los desarrolladores crear apps más rápido, más útiles y más elegantes, y facilita y hace más rápida la colaboración y el trabajo de diseñadores y desarrolladores, permitiéndoles hacer cambios en tiempo real en sus proyectos.

Los 3 lenguajes de programación más odiados de la actualidad

Hoy, grandes empresas como eBay, BMW, Square, Groupon, Capital One y, por supuesto, Google, utilizan Flutter y Dart para crear sus propias apps. Este dúo también ha aterrizado con éxito en China, donde gigantes como Alibaba, Baidu, ByteDance o Tencent también las eligen. Actualmente la tienda de aplicaciones más popular de Android, Google Play, tiene 125.000 apps construidas con Dart y Flutter, según datos de la propia Google.

“Estáis viendo a muchísimas compañías empezar a experimentar”, detalla a Business Insider España Larry McKenzie, desarrollador experto en Flutter y uno de los responsables técnicos de eBay. Apunta que incluso firmas de banca o de otros negocios que tradicionalmente no han tenido un hábito profundo en desarrollos tecnológicos están aprendiendo a usar Flutter.

Una reciente encuesta de la propia Flutter avanzaba que el porcentaje de sus usuarios que trabajan en compañías había crecido del 26% en mayo al 31% en agosto de este mismo año.

Así es cómo Dart y Flutter empezaron en Google y cómo su popularidad ha crecido gracias al auge de la demanda de aplicaciones para móviles.

Cómo Google se asegura de que Dart es a prueba de batalla

Google empezó a construir Dart en 2011 para ver si podría mejorar la velocidad del desarrollo y de la creación de scripts, una utilidad que permite a los programadores automatizar tareas. Dart está diseñado para aplicaciones a gran escala y también funciona con JavaScript, el lenguaje de programación más popular para el desarrollo web.

“Empezamos construyendo su framework solo como un experimento y descubrimos que puedes crear muy buenas experiencias que incrementan el aprendizaje de la web”, explica el director de producto de Google para Flutter y Dart, Tim Sneath.

Google, desde entonces, ha usado Dart para crear algunas de sus apps más grandes, incluyendo la propia Google Pay, la pasarela de pago móvil de Google; Google Ads, la plataforma de anuncios en línea del gigante, y Stadia, el servicio de videojuegos en streaming en la nube de la compañía.

“Es lo que nos dio confianza a medida que ofrecíamos estos productos a clientes externos”, considera Sneath. “Pueden confiar en Dart porque se ha probado en un campo de batalla”.

En 2014, Google también comenzó el desarrollo de Flutter como “un pequeño experimento”, abunda Sneath. Inicialmente recibió el nombre de Sky y todavía usaba JavaScript, pero el equipo encargado de su desarrollo se dio cuenta de que Dart encajaría mejor.

Flutter permite a los desarrolladores trabajar de manera directa en el look&feel de sus apps, y elegir cómo se verán, cómo funcionarán y cómo será la experiencia de usuario. Les permite “tener el control de cada píxel que aparece en pantalla”, y cuenta también con widgets personalizables para la navegación, el scrolling, los iconos o las fuentes de texto.

Debido a que Flutter funciona en cualquier plataforma, los desarrolladores no necesitan preocuparse en tener que desarrollar cada versión de su app por separado.

“Como diseñador se tiene mucho más control sobre el resultado visual“, explica Sneath. “No te limita el intentar mantener la compatibilidad con viejos iPhone o viejos dispositivos Android, y puedes trabajar con widgets, diseños y elementos visuales como quieras”.

Además, Flutter también usa una técnica llamada stateful hot reload que permite a los desarrolladores ver los cambios que implementan en tiempo real.

Por ejemplo, un diseñador se puede sentar con un desarrollador, hacer sugerencias sobre qué cambiar, y a continuación ver estas modificaciones realizadas en directos, a medida que el desarrollador hace retoques en el código. El feedback entre desarrolladores y diseñadores se vuelve mucho más intenso.

“Flutter es un lienzo para que los desarrolladores expongan sus sueños más salvajes“, defiende Sneath. “Y queremos que esto sea posible para ellos”.

Jamie Iannone, CEO de eBay.Jamie Iannone, CEO de eBay.
Jamie Iannone, CEO de eBay.

Harry Murphy/Sportsfile for Web Summit via Getty Images

Cómo usan Dart compañías como eBay o Groupon

Cuando Google lanzó en diciembre de 2018 la versión 1.0 de Flutter, eBay estaba trabajando en su app Motors, destinada a comprar y vender vehículos y piezas de vehículos.

A medida que el equipo de eBay fue evaluando qué sería necesario para esta app, decidieron utilizar Flutter porque era la mejor tecnología que reunía todos sus requisitos, como la velocidad y la compatibilidad con el mayor número posible de dispositivos móviles. El equipo recibió varios talleres para aprender cómo funcionaba Flutter y Dart.

Estas herramientas facilitaron a los desarrolladores de eBay crear Motors. Por ejemplo, el equipo trabajó en una característica que permitiría a los usuarios subir galerías de imágenes con Dart para categorizar todos los coches a la venta que aparecen en eBay en este nuevo vertical.

“Era una elección tecnológica que pensamos que nos ayudaría a ser más ágiles”, reconoce McKenzie. “Ha sido, de lejos, todo un éxito”.

Del mismo modo, Groupon sigue trabajando desde el año pasado en mejorar sus herramientas para negocios y pequeños comercios, y ha usado Dart para desarrollar aplicaciones móviles que permitan a los comerciantes gestionar mejor sus necesidades, como por ejemplo iniciar campañas individuales o manejar pagos.

El equipo estaba buscando fórmulas para agilizar el desarrollo de su código, por lo que estuvo comprobando algunas de las principales plataformas, como React, de Facebook, o la propia Flutter, de Google. Algunos compañeros ya habían leído información sobre esta última, por lo que trasladaron la idea de probarla.

Acabaron decidiéndose por intentarlo con Flutter porque era fácil de usar, y fácil involucrar a los diseñadores. También el jefe de Tecnología de Groupon, John Higginson, considera que es una solución más rápida que algunas alternativas, incluyendo la de Facebook.

Trabajadores de Groupon en su sede de Illinois.Trabajadores de Groupon en su sede de Illinois.
Trabajadores de Groupon en su sede de Illinois.

Scott Olson/Getty Images

También debido a que Dart es similar a Java —un lenguaje de programación que ya usa mucho Groupon— y fue fácil para todos sus trabajadores cambiar.

“Es un lenguaje muy familiar”, recuerda Higginson. “No requiere toneladas de aprendizaje o de volver a aprender nada para ser productivo”.

Los equipos de desarrollo pueden trabajar en Flutter y Dart para escribir nuevas apps para móviles que funcionen tanto en dispositivos iOS como Android.

“Lo que nos gusta del ecosistema en sí mismo que es Dart y Flutter es la posibilidad de crear y compilar directamente las experiencias de usuario”.

Por qué Dart crece tan rápido

Para los desarrolladores, Dart es un punto de entrada para construir aplicaciones de móviles y grandes compañías ven en Flutter la posibilidad de que el desarrollo de las mismas sea mucho más sencillo: estos dos factores explican el auge de la popularidad de estas herramientas.

Como recordaba Higginson, Dart no solo no es difícil de ser aprendido: McKenzie, de eBay, insistía en que no hubo ninguna curva de aprendizaje para su equipo.

“Es muy fácil aprenderlo y muy fácil escribirlo“, insistió. “Esto explica que puedes perder muchísimo menos tiempo explicando este lenguaje de programación a los compañeros. Tienes un código muchísimo menos complicado”.

Además, el entusiasmo de la comunidad que defiende proyectos de código abierto ha ayudado a que el crecimiento de Dart y Flutter sea uno de los proyectos de software más grandes albergados en los repositorios de Github, según Sneath, de Google. Las reuniones sobre Dart y Flutter emergen en todo el mundo, y Flutter Interact, una conferencia, tuvo a 150 personas dando sesiones y claves el año pasado, con una audiencia de hasta 800.000 personas y unos 10.000 grupos siguiendo las novedades.

Google también ha sido vital en ofrecer recursos y nuevas funcionalidades a los usuarios de Dart y Flutter, lo que ha permitido que ambos servicios hayan crecido tan rápido, según considera Higginson, de Groupon.

Pero la principal razón que explica el auge y el rápido crecimiento de Dart es, según McKenzie, porque se disfruta mucho mientras se usa. Permite ciclos de desarrollo muy rápidos, ofrece la posibilidad a los desarrolladores de recibir feedback instantáneo, y hace la experiencia “mucho más divertida”.

“Los usuarios realmente lo aman”, zanja Mckenzie. “Es el tipo cosa que está conduciendo un montón de crecimiento porque te permite tiempo para iniciar un proyecto, pensarlo, jugar y experimentar, y así hacer cosas que antes nunca habías hecho”.

Flutter también se ha vuelto muy popular en China y, más recientemente, en India, que incluso ha superado al gigante asiático en país con mayor número de usuarios de estos servicios.

El futuro de Dart

La industria está alcanzando la cúspide de una nueva generación de lenguajes de programación, explica Higginson. El auge y la popularidad de Dart lo prueba. Hoy, Java y Python son muy usados, pero Higginson predice que Dart, Rust o Elixir serán más populares en un futuro.

Ahora mismo, Dart está más centrado en el desarrollo de aplicaciones para móviles, pero Higginson espera un futuro en el que el lenguaje tenga más propósitos, de una forma similar a como Python se expandió radicalmente de sus raíces al análisis de datos. De hecho, los desarrolladores ya pueden utilizar Dart para crear pasarelas de pago, modelos de datos, aplicaciones de escritorio y más.

McKenzie solo espera que la trayectoria ascendente de Dart continúe tanto en adopción como en uso.

“La experiencia de desarrollo usando Dart es tan superior a cualquier otro modelo para desarrollar para Android o iOS”, expone, “que nunca querrás dejarlo”

*Artículo original publicado en Business Insider

Te recomendamos

Sobre el autor

Business Insider