- FRONTEND
- ENERO 2020
Framework Flutter como la alternativa móvil a Angular, VueJS o Javascript
Suscríbete a Insights
Déjanos tu email y te mantendremos al tanto de todas nuestras publicaciones. Solo recibirás una comunicación al mes aproximadamente. Tranquilo, no mandamos spam ;)
Cuando se trata de construir aplicaciones móviles híbridas, JavaScript siempre ha sido considerada como la mejor herramienta para este trabajo, ya sea a través de Cordova con Ionic (Angular o VueJS) o de React Native.
Pero últimamente identificamos la aparición de Flutter, tanto en términos de la experiencia del desarrollador como de la calidad de las aplicaciones que puede producir, posicionándose como una de las mejores alternativas.
Flutter nos proporciona unas ventajas e inconvenientes que lo hacen favorable para aplicarlo en una amplia variedad de proyectos. Pasamos a detallar qué aspectos tenemos que tener en cuenta para tomar la decisión.
Dart como lenguaje de base en Flutter
Si ya eres un desarrollador web o desarrollador con JavaScript, especialmente de frameworks como VueJS o Angular, puedes saltar a un proyecto de React Native sin pasar por ninguna curva de aprendizaje.
Los Bootcamps de desarrolladores (principalmente en JavaScript), están formando a una gran cantidad de talento a diario, lo que permite a las empresas que utilizan frameworks como Angular, Vue o frameworks de apps híbridas como Ionic con Cordova, ahorrar mucho tiempo y dinero para capacitarse en estas tecnologías.
Flutter usa Dart para programar y Angular, VueJS e Ionic usan JavaScript. De esta forma indicar que la curva de aprendizaje por lo tanto en apps con JavaScript es tremendamente suave en comparación con la que necesitas para Dart.
Aun así, es de justicia decir que Dart tiene una de las mejores documentaciones que existen para cualquier framework.
Antes de que Google anunciara Flutter, Dart estaba prácticamente invisible, pero ahora ha ganado bastante importancia gracias al soporte que le proporciona una empresa como Google. Es una alternativa real ante opciones como React Native o los desarrolladores a quienes no les gustaba JavaScript como lenguaje de programación.
Mejor rendimiento
Dart quizás no sea el lenguaje más fácil de aprender, pero este está escrito en C++ lo que propicia que su rendimiento sea mucho mayor.
Si tu aplicación va a requerir de realizar una gran cantidad de llamadas, simplemente va a funcionar mejor que con JavaScript.
Dart también puede integrar código nativo existente, puede hacer recargas en caliente durante el desarrollo. Con la aplicación de estas técnicas, nos va a permitir la mejora de los rendimientos del proyecto.
Comparativa de estructura de proyectos
Para empezar vamos a realizar una comparación de la estructura del proyecto entre una aplicación de Ionic con Angular y otra de Flutter.
Para realizar la comparación vamos a generar ambos proyectos usando las interfaces de línea de comandos que nos proporcionan ambas tecnologías. Estos nos generan la estructura de un pequeño proyecto para tener un punto de comienzo.
Al crear un proyecto Ionic con Angular, podrás ver que hay muchos más archivos que en el proyecto Flutter, pero esto es porque se separan las plantillas y el CSS en sus propios archivos aislados. Esta es una buena manera de separar las preocupaciones, pero también puede ser un volumen abrumador de ficheros si estás saltando a un proyecto Ionic con Angular por primera vez en tu vida, especialmente si no conoces Angular.
Existe una larga lista de dependencias Angular que deberías conocer, pero como Ionic usa web component, así que podrás usarlo con casi cualquier framework (Angular, Vue, ...).
Para la generación inicial del proyecto Flutter, se utiliza NPM como gestor de dependencias. Como resultado obtendremos una estructura de proyecto similar a una aplicación de React normal, con algunos componentes especiales para renderizar el interfaz de usuario de manera nativa.
En un proyecto con Flutter verás de inmediato que es mucho menos complejo, y solo tenemos un único archivo llamado main Dart como punto de entrada a nuestra aplicación.
Con Flutter, todo desarrollo se simplifica en un inicio:
-
El archivo solo tiene 45 líneas de código.
-
No tiene importaciones ni exportaciones.
-
No tiene boilerplates.
-
Si queremos ejecutar la aplicación podremos hacerlo directamente desde una línea de comandos.
-
No hay necesidad de depurar en el navegador.
-
En cualquier momento hacer un cambio en su código, solo tienes que introducir R en la línea de comandos, y se recargará el código y guardará el estado de la propia aplicación actual.
-
Si quieres agregar alguna dependencia a Flutter solo tendrás que añadirla directamente al SDK y automáticamente se actualizará las dependencias cuando guardas.
Si te gusta la simplicidad, puede que te guste Flutter, pero si quieres aprender Flutter significa que tendrás que aprender otro lenguaje de programación, pero por suerte comparte muchas de las mismas convenciones de JavaScript.
Boream insights
Descubre tendencias y sigue el día a día de nuestros proyectos.
Ver todos los insights-
Backend Best practices
Aplicando soluciones de Inteligencia Artificial para la creación de Chatbots en Drupal
Con la rápida evolución de la Inteligencia Artificial (IA), las empresas y organizaciones buscan cada vez más formas de automatizar la atención al cliente y mejorar la experiencia del usuario. Los chatbots, impulsados por tecnologías de IA, se han convertido en una solución popular para estas necesidades. Drupal, con su arquitectura modular y flexible, es una plataforma ideal para integrar estas soluciones.
-
UX-CX
Solid, UX y datos personales. ¿Una utopía o una realidad?
Solid es una tecnología basada en los estándares actuales de Internet que permite la organización de datos e identidades en las aplicaciones que desarrollemos. Hasta aquí poca cosa nueva. La revolución viene dada porque con esta tecnología es el propio usuario quien tiene el control de sus datos y quien da el permiso de uso a las compañías a través de un WebID.
-
Diseño UX-CX Research
Sesgos cognitivos y prejuicios en los procesos de diseño de interfaz: como combatirlos
Como diseñadores de interfaz y de experiencia de usuario debemos tomar decisiones rápidas que impactan de manera notable en el resultado final de nuestros productos digitales. Generalmente no somos conscientes de que estas decisiones pueden verse profundamente afectadas por una interpretación errónea de la realidad, sesgada por nuestra propia experiencia y alejada de una comprensión racional del entorno.
-
Backend Best practices
Desarrollo Drupal conexión con LDAP: control de acceso.
Tras el primer insight donde comentamos los pasos básicos de conexión de un desarrollo Drupal con un Sistema LDAP, en esta nueva entrega profundizamos en algunos aspectos más avanzados o particulares.