Flutter para desarrollo web: beneficios, amenazas, aplicaciones

Publicado: 2020-05-15

En 2022, Flutter, el kit de desarrollo de software creado por Google, superó oficialmente a su competidor más feroz, React Native, convirtiéndose en el nuevo líder en tecnología multiplataforma. Según los informes de Google, se han lanzado al público más de 100.000 aplicaciones basadas en Flutter. A pesar de su creciente popularidad, Flutter sigue siendo más conocido como una herramienta de desarrollo móvil multiplataforma (Android e iOS). Mientras tanto, ¡solo unos pocos expertos de la industria saben que Flutter también se puede usar en aplicaciones web! Descubra las posibilidades, las aplicaciones y los riesgos asociados con Flutter para el desarrollo web y descubra qué valor puede agregar a su negocio.

Flutter se está convirtiendo en una de las soluciones más emocionantes disponibles en el mercado, no solo por su rentabilidad y eficiencia de tiempo. Con cada actualización, el rendimiento de Flutter se acerca más a las soluciones nativas. Por supuesto, muchas empresas eligen Flutter para la web como una adición a su producto móvil, con un fuerte enfoque en aumentar la cantidad de puntos de contacto con los clientes. Pero, ¿vale la pena considerar Flutter para la web únicamente por sus características individuales?

¡Por supuesto que es! Flutter permite el desarrollo rápido de aplicaciones web con interfaces únicas y complejas y es insuperable cuando se trata de ofrecer experiencias similares a las de los dispositivos móviles. ¿Necesita ejemplos? Simplemente consulte la electrizante herramienta de participación del cliente PAJO, creada con Flutter para la web por nuestro equipo.

Vayamos directo al grano: ¿cuáles son los beneficios, las aplicaciones y los riesgos de Flutter para la web? ¿Flutter es bueno para el desarrollo web? ¡Leer más para averiguarlo!

Flutter para web: comencemos con lo básico

Comencemos con la información más básica:

El qué: Flutter es un marco de trabajo de Google que permite a los desarrolladores crear aplicaciones móviles, web, de escritorio e integradas utilizando una base de código compartida.

Cuándo: la primera versión estable de Flutter se lanzó a fines de 2018.

Y el por qué: Google creó Flutter como respuesta a los presupuestos decrecientes de las aplicaciones móviles y la creciente popularidad de React Native, convirtiéndose en su principal competidor.

Ahora pasemos a información técnica más específica.

Flutter llama la atención sobre Dart, un lenguaje orientado a objetos de Google que, según muchos especialistas en dominios, es el futuro de todo el desarrollo móvil, web y de escritorio. En comparación con JavaScript (utilizado por su principal competidor, React Native), Dart está totalmente orientado a objetos y fuertemente tipado. ¿Qué significa esto para tu negocio? El código entregado en Dart es mucho más resistente a errores y mucho más fácil de mantener, incluso durante muchos años en un equipo cambiante. Sin duda, el lenguaje de programación Flutter es una de sus mayores ventajas.

Flutter para desarrollo web

¿Sabías que la función de desarrollo web en Flutter es relativamente nueva? Hace un par de años, Google llevó a cabo un proyecto de investigación llamado Hummingbird. El grupo de desarrolladores de Google involucrados en Hummingbird estaba tratando de encontrar una forma de generar aplicaciones web a partir del mismo código de Flutter que se usaba en las aplicaciones de iOS y Android.

Los efectos de este proyecto contribuyeron en gran medida al desarrollo del marco. Aunque tomó algún tiempo, en marzo de 2021, Google anunció que Flutter para la web era completamente estable y estaba listo para usar en proyectos comerciales. Un código, una tecnología, múltiples pájaros de un tiro.

Flutter para desarrollo web: ¿cuándo empezó?
La primera versión estable de Flutter para web se lanzó en 2021

¿Cómo funciona Flutter para la web, uno de los proyectos más nuevos de Google? En resumen, desde el lanzamiento de 2021, los desarrolladores pueden compilar el código Dart existente en un producto web, utilizando el mismo marco Flutter que usan para desarrollar aplicaciones móviles multiplataforma. En este contexto, la web es solo otro dispositivo objetivo para la aplicación móvil, y no es necesario involucrar a ningún otro desarrollador web.

Beneficios de Flutter para web

¿Cuáles son los beneficios clave de Flutter para la web? Lo que es más importante, Google está aumentando su participación en el proyecto SDK, como lo demuestran las mejoras y lanzamientos sistemáticos (¡casi 20 lanzamientos en 2022!). A pesar de su historia relativamente corta, Flutter ya ha superado muchos problemas de madurez temprana. ¿Cuáles son las otras ventajas más significativas de Flutter Web?

Icono de servicios de desarrollo multiplataforma

¿Quieres estar al día con las actualizaciones más importantes de Flutter?

Suscríbete a nuestro boletín

1. Flutter para web reduce los costos de desarrollo

Con Flutter para web, se crean tres aplicaciones utilizando una base de código , dentro de un equipo conectado tecnológicamente, con un ritmo. Los clientes que desarrollan sus aplicaciones con Flutter no tienen que buscar proveedores de tres tecnologías diferentes y luego sincronizar su trabajo. No hay necesidad de duplicar, por ejemplo, la misma función de pago o autorización de redes sociales. ¿Significa esto directamente el triple de ahorro? ¡No exactamente!

Por supuesto, Flutter reduce significativamente los costos de desarrollo. Sin embargo, esto no significa que el desarrollo de aplicaciones multiplataforma sea lo mismo que el desarrollo de aplicaciones nativas. A menudo es un poco más complicado ofrecer una determinada funcionalidad para varias plataformas. Por lo general, hay un factor multiplicador multiplataforma de aproximadamente 1,2-1,5. ¿Qué significa eso? Si una funcionalidad toma X horas de desarrollo para una plataforma, toma (1.2-1.5) * X cuando se trata de multiplataforma. Aún así, x1.5 en comparación con x3 podría ser un caso ganador para su presupuesto.

2. Verificación de ideas rentable y fácil de escalar

La eficiencia de costos y tiempo hace que Flutter sea una excelente opción para PoC y verificación de ideas de productos. En unas pocas semanas, puede desarrollar una aplicación completamente operativa que puede lanzar fácilmente a las tiendas de aplicaciones y distribuir a través de la web. Después del éxito potencial, puede considerar escalar sus aplicaciones móviles y web, por ejemplo, extendiendo las aplicaciones móviles multiplataforma a las aplicaciones nativas.

Varios gigantes de la industria, como Airbnb, han seguido este camino. Tras el éxito de sus aplicaciones móviles multiplataforma, Airbnb decidió cambiar a soluciones nativas, que permiten aún más libertad para adaptar el producto al grupo objetivo.

3. Proceso de mantenimiento simplificado

¿Qué sucede cuando su aplicación finalmente tiene éxito? ¡Entra en mantenimiento! Y cooperar con un especialista de Dart/Flutter es mucho más fácil y rentable que emplear a tres desarrolladores solo para mantener el código. Sin mencionar que cualquier desequilibrio en las habilidades de los desarrolladores genera variaciones en el ritmo de trabajo.

Las habilidades de un equipo de desarrollo también son críticas, considerando la apariencia compartida en diferentes plataformas. Cuando decide desarrollar tres proyectos, su forma final depende en gran medida de las habilidades del desarrollador y la actitud de la interfaz de usuario. Cuando el chico de iOS prefiere las esquinas redondeadas, y el de Android no está tan interesado en ellas, puede resultar que estas dos aplicaciones difieran en la forma en que influyen en su estrategia de producto.

4. Espectaculares experiencias centradas en aplicaciones

Según los fundadores de Flutter's Web, en este momento, Flutter es una herramienta perfecta para incorporar experiencias interactivas. Como marco de interfaz de usuario, Flutter puede proporcionar servicios centrados en aplicaciones para sitios web y, por lo tanto, es una solución perfecta para aplicaciones web progresivas, aplicaciones de una sola página y para mejorar las aplicaciones móviles existentes de Flutter. Puede leer más sobre esto en la sección de oportunidades a continuación. Pero primero, analicemos finalmente los riesgos web más críticos de Flutter.

Amenazas de Flutter para web

Como ya se mencionó, Flutter Web es un proyecto relativamente nuevo, mejorado constantemente por expertos multiplataforma. Cuando nuestro equipo de Flutter compiló una lista de riesgos potenciales relacionados con el desarrollo web de Flutter en 2021, notamos 14 problemas. Hoy, la lista de riesgos web de Flutter se ha reducido en un tercio. Sin embargo, aún deben abordarse algunos problemas, como problemas de SEO o falta de soporte para algunos navegadores. ¿Cuáles son las desventajas más importantes de Flutter para la web en 2022?

1. Excepciones de la aplicación web de Flutter para web

Tal vez no sea una desventaja directa de Flutter Web, sino más bien un descargo de responsabilidad que vale la pena mencionar. Los universos de las aplicaciones de Android e iOS son muy similares, y la base de código en la mayoría de los casos es 95-100% igual. Sin embargo, ¡es posible que esto no se aplique a la versión del navegador!

Un cajón de hoja inferior, un menú de pestaña inferior o carruseles horizontales son excelentes patrones de UX móviles que no se aplican bien a la web. A menudo, debe crear excepciones solo para la aplicación web. El diseño arquitectónico a menudo debe ser completamente diferente en dispositivos móviles y web. Al comienzo del trabajo, es bueno organizar una mesa redonda entre diseñadores y desarrolladores. Permítales compartir su punto de vista y tratar de llegar a un consenso, especialmente si le importa su presupuesto y su horario.

2. Problemas con la optimización de motores de búsqueda (SEO)

Para decirlo sin rodeos, Flutter Web no es compatible con SEO. ¿Cómo explican los creadores del framework la incompatibilidad SEO de las aplicaciones web creadas con Flutter?

Flutter web prioriza el rendimiento, la fidelidad y la consistencia. Esto significa que el resultado de la aplicación no se alinea con lo que los motores de búsqueda necesitan para indexar adecuadamente. Para el contenido web que es estático o similar a un documento, recomendamos usar HTML, tal como lo hacemos en flutter.dev, dart.dev y pub.dev. También debe considerar separar su experiencia de aplicación principal, creada en Flutter, de su página de destino, contenido de marketing y contenido de ayuda, creado con HTML optimizado para motores de búsqueda.

Fuente: Preguntas frecuentes sobre la web de Flutter.dev

Según Stack Overflow, la compatibilidad con SEO es uno de los próximos objetivos del equipo de Flutter. Sin embargo, llegados a este punto, los desarrolladores que quieran optimizar la aplicación web en términos de SEO deben utilizar bibliotecas adicionales.

3. Sin recarga en caliente en Flutter para web

La recarga en caliente es uno de los beneficios más reconocibles de Flutter para el desarrollo móvil. Con esta función, los desarrolladores pueden obtener una vista previa de los cambios de front-end y back-end de inmediato, y realizar las correcciones necesarias en una etapa temprana de producción. Desafortunadamente, la recarga en caliente aún no es compatible con Flutter Web.

Afortunadamente, hay una cierta alternativa a la recarga en caliente en Flutter para web: reinicio en caliente. El reinicio en caliente permite obtener una vista previa de los cambios sin tener que reiniciar la aplicación web. La única diferencia (y la más dolorosa) es que el reinicio en caliente, a diferencia de la recarga en caliente, pierde el estado de la aplicación, lo que reduce potencialmente la flexibilidad para introducir cambios de desarrollo.

4. Compatibilidad limitada con algunos navegadores

Según los desarrolladores de Flutter, las aplicaciones web de Flutter pueden ejecutarse en los cuatro navegadores más populares:

  • Cromo
  • Safari
  • Borde
  • Firefox

Teóricamente, debe estar seguro de que su aplicación web funcionará de manera eficiente independientemente del navegador que elijan sus usuarios. Pero, ¿cómo funciona en la práctica? Algunos desarrolladores de Flutter informan problemas con Safari y se quejan de la necesidad de realizar soluciones alternativas que consumen mucho tiempo para varias funciones.

Flutter Web aún enfrenta algunas dificultades menores, como problemas con SEO, compatibilidad limitada con Safari o bibliotecas faltantes. Pero al mismo tiempo, no hay duda de que Flutter se vuelve más eficiente y cercano a la funcionalidad completa con cada actualización. ¡Y no es exagerado decir que en un año, todos estos problemas pueden ser cosa del pasado!

Aplicaciones de Flutter para desarrollo web

Ahora vayamos al grano: ¿quién puede beneficiarse más de Flutter para el desarrollo web? Los creadores de Flutter indican tres casos de uso ideales para Flutter Web:

Aplicaciones web progresivas

Desde el lanzamiento de la versión estable de Flutter 2 en 2021, los desarrolladores de Flutter han podido crear aplicaciones web progresivas (PWA): aplicaciones web que no solo pueden funcionar sin conexión, sino que también imitan la funcionalidad del dispositivo móvil mientras se ejecutan a través del navegador.

En pocas palabras, las PWA son páginas web que se pueden instalar en cualquier dispositivo para brindar una experiencia similar a la nativa y, al contrario de las aplicaciones dedicadas de iOS y Android, se pueden usar en cualquier dispositivo.

Ejemplo de aplicaciones web progresivas: Starbucks Rewards
Ejemplo de aplicación web progresiva: Starbucks Rewards de Starbucks

Los PWA a menudo son utilizados por empresas que ofrecen productos para audiencias objetivo amplias, desean ofrecer una experiencia de usuario impecable en todos los puntos de contacto del consumidor y deben aprovechar todas las oportunidades para interactuar con un usuario potencial. ¿Ejemplos? Starbucks, Flipboard, el juego 2048. ¡Apuesto a que has usado al menos una de estas cautivadoras aplicaciones!

Aplicaciones de una sola página

Facebook, Gmail, Google Maps, Spotify: todas estas aplicaciones populares tienen al menos una cosa crucial en común. Funcionan sin recargas de página. Mientras interactúan con una aplicación de una sola página, los usuarios no tienen que esperar a que se cargue una nueva página: está allí desde el principio junto con el contenido relevante.

Los SPA son receptivos, relativamente fáciles de codificar, optimizar y mantener. Por último, pero no menos importante, se pueden desarrollar rápidamente con Flutter y sirven como un producto mínimo viable de excelente calidad.

¿Le gustaría leer más sobre aplicaciones web progresivas y de una sola página? ¡Asegúrese de leer nuestro artículo sobre cómo elegir el tipo de aplicación adecuado para su negocio!

Las aplicaciones móviles existentes de Flutter se pueden transformar fácilmente a Flutter para web

Agregar soporte web a un proyecto móvil existente basado en Flutter es rápido y fácil: requiere crear un directorio web y... ¡pulsar el botón Ejecutar! Por supuesto, para garantizar un rendimiento impecable, es fundamental que la aplicación web responda y sea fácil de navegar. Pero en comparación con crear una aplicación desde cero, agregar la versión web a la aplicación móvil existente en Flutter realmente requiere una fracción del esfuerzo.

¿Vale la pena probar Flutter para Web?

¿Vale la pena probar Flutter para Web? Obviamente, usted debe responder a esta pregunta por su cuenta. Elegir el marco adecuado para su producto depende de varios factores comerciales y tecnológicos, como la misión, la visión, el presupuesto, el tamaño o la pila tecnológica de la empresa. Sin embargo, en algunos casos específicos, vale la pena al menos considerar usar Flutter Web.

En primer lugar, Flutter Web crea oportunidades sin precedentes para empresas emergentes en etapa inicial. Imagínese que se le acaba de ocurrir una brillante idea de producto, definió sus objetivos comerciales, realizó un análisis competitivo. Ahora debe verificar su MVP lo antes posible, antes de que se acabe el momento. En este escenario, elegir Flutter para el desarrollo web ciertamente es una opción segura, eficiente en el tiempo y razonable.

En segundo lugar, la flexibilidad del lenguaje de programación Dart hace que Flutter Web sea una excelente opción para mejorar su producto digital. Flutter permite el desarrollo rápido de aplicaciones en muchas plataformas diferentes, lo que aumenta la visibilidad de su producto y su accesibilidad para los usuarios.

Si encuentra aunque sea un poco de su situación empresarial en cualquiera de los escenarios anteriores, sin duda vale la pena interesarse en Flutter Web.

¿Y cuándo no vale la pena pensar en desarrollar una aplicación web usando Flutter? Incluso los creadores del marco admiten que, en este punto, no todas las páginas web tienen sentido en Flutter:

(…) Flutter no es adecuado para sitios web estáticos con contenido basado en flujo rico en texto. Por ejemplo, los artículos de blog se benefician del modelo centrado en documentos en el que se basa la web, en lugar de los servicios centrados en aplicaciones que puede ofrecer un marco de interfaz de usuario como Flutter. Sin embargo, puede usar Flutter para incorporar experiencias interactivas en estos sitios web. la investigación de las bibliotecas disponibles debe preceder a cada proyecto allí.

Fuente: Preguntas frecuentes sobre la web de Flutter.dev

Cualquier decisión comercial debe estar precedida por una investigación exhaustiva y una consulta con varios expertos de la industria.

El futuro brillante (anticipado) de Flutter para web

En este punto, elegir Flutter para todos y cada uno de los proyectos web puede no ser la mejor idea. Sin embargo, anticipo un futuro cada vez más brillante para este marco en rápida evolución. ¿Por qué?

Nunca antes los usuarios habían estado tan dispersos entre plataformas. Los dispositivos móviles y los navegadores web son solo la punta del iceberg. Las personas usan aplicaciones en automóviles, relojes y televisores.

Por lo tanto, existe la necesidad de simplificar el proceso y reducir los costos de producción de software. Una base de código para el desarrollo web y móvil ya es un patrón común, y Flutter para web es un excelente ejemplo.

Durante mucho tiempo, consideré Flutter Web como una tecnología incipiente. Mi trabajo reciente me ha hecho cambiar de opinión. Flutter me recuerda a un joven adulto parado frente a un futuro brillante. Me parece una opción atractiva para ideas con presupuestos reducidos y plazos cortos. Flutter es una opción perfecta para aquellos que quieren verificar sus ideas rápidamente y con bajo gasto y para aquellos que tienen una idea y están respondiendo a las necesidades del mercado.