0% encontró este documento útil (0 votos)
34 vistas12 páginas

Flutter

FLUTTER

Cargado por

Erika Ramos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas12 páginas

Flutter

FLUTTER

Cargado por

Erika Ramos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

FACULTAD DE CIENCIAS DE LA COMUNICACIÓN

Licenciatura en Comunicación y Diseño

Proyectos III

Lic. Adrián Alberto Catalán Santis

Debate: Tecnología Flutter

Alumnos:

Sara Noemi Pacheco Orozco 21002333

Erika Melissa Ramos Méndez 21004424

Pedro Pablo López Rodríguez 17003067

Sección: B4

Nueva Guatemala de la Asunción 25 de julio 2024


Introducción

El desarrollo de aplicaciones se basa en una variedad de tecnologías que permiten crear


software funcional y eficiente para diferentes plataformas, como móviles, web y escritorio.
Estas tecnologías pueden clasificarse en diferentes categorías, cada una con sus propias
ventajas y casos de uso.

Cada una de las tecnologías y herramientas para el desarrollo de aplicaciones tienen sus
propias características, ventajas y casos de uso. La elección de la tecnología adecuada
depende de los requisitos específicos del proyecto, las necesidades del usuario final y las
habilidades del equipo de desarrollo. Adaptarse a las últimas tendencias y herramientas en
el campo del desarrollo de aplicaciones es clave para mantenerse competitivo y eficiente en
el mercado actual.

Ya que el desarrollo de aplicaciones modernas se basa en una variedad de tecnologías que


permiten crear soluciones eficientes y funcionales para diferentes plataformas, como
móviles, web y escritorio. Cada tecnología tiene sus propias ventajas y limitaciones, y la
elección de la tecnología adecuada depende de múltiples factores, como los requisitos del
proyecto, el presupuesto, el tiempo de desarrollo y la experiencia del equipo de desarrollo.
¿Qué tendencias futuras respaldan la adopción de la tecnología Flutter?

Desarrollo Multiplataforma: La demanda de aplicaciones multiplataforma sigue creciendo,


ya que permite a las empresas ahorrar tiempo y recursos al desarrollar aplicaciones para
iOS, Android, web y escritorio desde una sola base de código. Flutter es una tecnología
líder en este ámbito, y esta tendencia impulsa su adopción.
Incremento en el Uso de Aplicaciones Móviles: Con el aumento continuo en el uso de
dispositivos móviles, las empresas buscan formas eficientes de ofrecer experiencias de alta
calidad en múltiples plataformas. Flutter, con su capacidad para ofrecer interfaces de
usuario nativas y alto rendimiento, está bien posicionado para cumplir con estas
expectativas.
Ecosistema de Desarrollo Unificado: Los desarrolladores y las empresas buscan
herramientas que ofrezcan un ecosistema unificado y fácil de manejar. Flutter ofrece una
integración completa con diversas herramientas de desarrollo, lo que facilita el proceso
desde la codificación hasta el despliegue.

Comparación de Flutter, con Ionic, Kotlin Multiplatform y React Native

Rendimiento

● Flutter: Ofrece un rendimiento casi nativo debido a su arquitectura basada en Dart y


la capacidad de compilar directamente a código nativo. La ausencia de un puente
entre la interfaz de usuario y la lógica empresarial (como en React Native) mejora la
velocidad de la aplicación.
● Ionic: Depende de WebView para renderizar la interfaz de usuario, lo que puede
resultar en un rendimiento inferior en comparación con las soluciones nativas.
● Kotlin Multiplatform: Permite compartir la lógica empresarial entre plataformas, pero
requiere código nativo para la interfaz de usuario, lo que garantiza un rendimiento
nativo.
● React Native: Utiliza un puente entre JavaScript y los componentes nativos, lo que
puede causar problemas de rendimiento en aplicaciones más complejas.

Tendencias Futuras que Respaldan la Adopción de Flutter

1. Desarrollo Multiplataforma: La demanda de aplicaciones multiplataforma sigue


creciendo, ya que permite a las empresas ahorrar tiempo y recursos al desarrollar
aplicaciones para iOS, Android, web y escritorio desde una sola base de código.
Flutter es una tecnología líder en este ámbito, y esta tendencia impulsa su adopción.
2. Incremento en el Uso de Aplicaciones Móviles: Con el aumento continuo en el
uso de dispositivos móviles, las empresas buscan formas eficientes de ofrecer
experiencias de alta calidad en múltiples plataformas. Flutter, con su capacidad para
ofrecer interfaces de usuario nativas y alto rendimiento, está bien posicionado para
cumplir con estas expectativas.
3. Ecosistema de Desarrollo Unificado: Los desarrolladores y las empresas buscan
herramientas que ofrezcan un ecosistema unificado y fácil de manejar. Flutter ofrece
una integración completa con diversas herramientas de desarrollo, lo que facilita el
proceso desde la codificación hasta el despliegue.
4. Expansión de las Aplicaciones Web y de Escritorio: Flutter no solo se limita a
aplicaciones móviles; también está expandiendo su capacidad a aplicaciones web y
de escritorio. Esta expansión respalda aún más su adopción a medida que las
empresas buscan soluciones flexibles para múltiples plataformas.
5. Soporte y Actualizaciones Constantes: Google ha demostrado un compromiso
continuo con Flutter, lanzando actualizaciones regulares que mejoran su
rendimiento, agregan nuevas características y mantienen su relevancia. Este soporte
asegura que Flutter seguirá siendo una opción viable a largo plazo.
6. Adopción por Parte de Grandes Empresas: Empresas como Alibaba, Google Ads,
y Tencent han adoptado Flutter para desarrollar sus aplicaciones, lo que aumenta la
confianza en la plataforma y promueve su adopción por parte de otras
organizaciones.

Comparación de Flutter con Ionic, Kotlin Multiplatform, y React


Native

Rendimiento

● Flutter: Ofrece un rendimiento casi nativo debido a su arquitectura basada en Dart y


la capacidad de compilar directamente a código nativo. La ausencia de un puente
entre la interfaz de usuario y la lógica empresarial (como en React Native) mejora la
velocidad de la aplicación.
● Ionic: Depende de WebView para renderizar la interfaz de usuario, lo que puede
resultar en un rendimiento inferior en comparación con las soluciones nativas.
● Kotlin Multiplatform: Permite compartir la lógica empresarial entre plataformas,
pero requiere código nativo para la interfaz de usuario, lo que garantiza un
rendimiento nativo.
● React Native: Utiliza un puente entre JavaScript y los componentes nativos, lo que
puede causar problemas de rendimiento en aplicaciones más complejas.

Facilidad de Uso

● Flutter: Proporciona una rica colección de widgets personalizables y una sintaxis


clara, lo que facilita el desarrollo de interfaces de usuario atractivas. Sin embargo,
aprender Dart puede ser una barrera para los nuevos desarrolladores.
● Ionic: Utiliza tecnologías web conocidas como HTML, CSS y JavaScript, lo que
facilita su adopción para desarrolladores con experiencia en desarrollo web.
● Kotlin Multiplatform: Aprovecha Kotlin, un lenguaje que muchos desarrolladores de
Android ya conocen, pero requiere familiaridad con diferentes plataformas para el
desarrollo de la interfaz de usuario.
● React Native: Basado en JavaScript y React, es relativamente fácil de aprender
para los desarrolladores web, pero puede ser más difícil manejar problemas
complejos de rendimiento.

Comunidad

● Flutter: Tiene una comunidad en crecimiento respaldada por Google, con


abundantes recursos, paquetes y una vibrante comunidad en línea.
● Ionic: Posee una comunidad bien establecida, especialmente entre desarrolladores
web, pero no es tan activa como la de Flutter.
● Kotlin Multiplatform: La comunidad es más pequeña y está en desarrollo, aunque
crece rápidamente a medida que más desarrolladores adoptan Kotlin.
● React Native: Disfruta de una de las comunidades más grandes y activas, con
muchos recursos, paquetes y soluciones de terceros.

Soporte

● Flutter: Cuenta con un soporte sólido de Google y una cantidad creciente de


documentación oficial, tutoriales y bibliotecas de terceros.
● Ionic: Bien documentado con soporte a través de la empresa detrás de Ionic, así
como recursos comunitarios.
● Kotlin Multiplatform: Apoyado por JetBrains, el soporte está más enfocado en la
comunidad de desarrolladores de Android, aunque se está expandiendo.
● React Native: Bien soportado por Facebook y la comunidad, con abundante
documentación y un ecosistema maduro.

Ventajas competitivas de Flutter: Rompiendo los límites

1. Desarrollo multiplataforma
Una de las principales ventajas de Flutter es su capacidad para permitir el desarrollo
multiplataforma. Con un único código base, los desarrolladores pueden crear aplicaciones
que se ejecutan sin problemas en dispositivos Android e iOS. Esto elimina la necesidad de
desarrollar aplicaciones separadas desde cero, reduciendo tanto el tiempo como el coste
significativamente.

2. Velocidad y rendimiento
La arquitectura de Flutter le permite ofrecer un rendimiento excelente. El framework utiliza
un motor de renderizado de alto rendimiento llamado Skia, que permite animaciones suaves
y garantiza una excelente experiencia de usuario. Además, las aplicaciones de Flutter se
compilan a código nativo, lo que se traduce en tiempos de carga más rápidos y menos
problemas de rendimiento.

3. Recarga en caliente
Otra ventaja destacada de Flutter es su capacidad de recarga en caliente. Los
desarrolladores pueden realizar cambios en su código y ver instantáneamente los
resultados en tiempo real sin reiniciar toda la aplicación. Esto no solo acelera el proceso de
desarrollo, sino que también promueve un flujo de trabajo de desarrollo más eficiente y ágil.

4. Diseños impresionantes de UI/UX


Flutter permite a los desarrolladores crear interfaces de usuario visualmente atractivas. Con
una amplia colección de widgets personalizables, los desarrolladores tienen la flexibilidad de
construir diseños hermosos y perfectos al píxel. Además, admite un conjunto completo de
APIs de movimiento, lo que facilita la incorporación de animaciones fluidas y transiciones
intrincadas en la aplicación.

¿Qué desventajas presentan las otras tecnologías comparadas con Flutter?

1. Ionic: utiliza WebView para renderizar la interfaz de usuario, lo que significa que las
aplicaciones no son verdaderamente nativas. Esto puede resultar en un rendimiento inferior,
especialmente en aplicaciones gráficamente intensivas.
Las aplicaciones creadas con Ionic pueden no ofrecer la misma experiencia de usuario
nativa que los usuarios esperan en Android e iOS, ya que la interfaz se construye utilizando
tecnologías web como HTML, CSS y JavaScript.

2. Kotlin Multiplatform: Flutter y Kotlin Multiplatform ofrecen un rendimiento cercano al


nativo, pero Flutter tiene la ventaja de una solución más unificada y directa para el
desarrollo de la interfaz de usuario.
Kotlin Multiplatform permite un desarrollo más específico para cada plataforma, lo que
puede ofrecer una experiencia de usuario altamente nativa. Flutter ofrece una experiencia
consistente en todas las plataformas mediante su motor de renderización propio.
Kotlin Multiplatform puede ser más complejo, ya que requiere manejar código específico
para cada plataforma. Flutter permite un desarrollo más centralizado con una sola base de
código.
React Native
Flutter generalmente ofrece un rendimiento superior debido a su compilación a código
nativo y su motor gráfico propio, mientras que React Native puede experimentar una
latencia adicional debido al puente JavaScript que usa para comunicarse con componentes
nativos.
Ambos frameworks ofrecen una experiencia de usuario nativa, pero Flutter proporciona una
apariencia más consistente debido a su sistema de widgets propio, mientras que React
Native puede mostrar ligeras inconsistencias entre plataformas.
React Native tiene una comunidad más grande y un ecosistema más maduro, con más
bibliotecas y recursos disponibles. Flutter está creciendo rápidamente en este aspecto, pero
puede ser menos familiar para los desarrolladores que no conocen Dart.

¿Por qué su tecnología es la mejor opción para el desarrollo multiplataforma?


¿Qué es?
Flutter es un kit de herramientas de interfaz de usuario de Google que permite crear
aplicaciones compiladas de forma nativa para móvil, web y escritorio a partir de una única
base de código.

Forma nativa nos referimos a que las aplicaciones desarrolladas con Flutter se ven y se
sienten como si hubieran sido creadas específicamente para cada plataforma (Android, iOS,
web, etc.).

Cuando Flutter se lanzó, en 2018, era compatible principalmente con el desarrollo de


aplicaciones móviles. Ahora, Flutter es compatible con el desarrollo de aplicaciones en seis
plataformas: iOS, Android, web, Windows, MacOS y Linux.
Flutter consta de dos funciones, o partes, importantes:

SDK (Software Development Kit): se trata de una colección de herramientas que permite
desarrollar aplicaciones. Esto incluye elementos para compilar código para iOS y Android.
Framework (Biblioteca de interfaz de usuario basada en widgets): una colección de
elementos de interfaz de usuario reutilizables (por ejemplo: botones, entradas de texto,
controles deslizantes, etc.) que pueden personalizarse según lo que requiera el proyecto.

¿Qué lenguaje de programación utiliza Flutter?


Flutter utiliza el lenguaje de programación de código abierto Dart, que también desarrolló
Google. Dart está optimizado para la creación de interfaces de usuario, y muchos de los
puntos fuertes de Dart se utilizan en Flutter.

Por ejemplo, una característica de Dart que se utiliza en Flutter es la seguridad de los nulos.
La seguridad de nulos de Dart facilita la detección de los errores más comunes, llamados
errores de nulos. Esta característica reduce el tiempo que los desarrolladores dedican al
mantenimiento del código y les da más tiempo para centrarse en la creación de sus
aplicaciones.

Ejemplos:
BMW: desarrollo de productos centrados en el cliente con Flutter
BMW, uno de los principales fabricantes de automóviles de lujo, eligió Flutter para crear su
innovadora app, proporcionando una experiencia fluida y personalizada a sus clientes. La
aplicación de BMW ofrece funciones como servicios remotos, diagnóstico de vehículos y
programación de citas. Aprovechando Flutter, BMW ha creado con éxito una aplicación
visualmente atractiva y de alto rendimiento que satisface las necesidades de su base global
de clientes.
Grupo Alibaba: Escalando el mayor mercado de segunda mano de China con Flutter
Alibaba Group, una de las mayores empresas de comercio electrónico del mundo, ha
recurrido a Flutter para escalar su aplicación de mercado de segunda mano, Xianyu. Con
más de 200 millones de usuarios, Xianyu necesitaba un marco robusto, escalable y eficiente
para gestionar su rápido crecimiento. Flutter proporcionó el rendimiento, la flexibilidad y la
estabilidad necesarios para soportar las complejas funciones de la aplicación y la creciente
base de usuarios.
Google Pay: Globalización de Google Pay con Flutter
Google Pay, la destacada cartera digital y plataforma de pagos en línea, confió en Flutter
para crear una experiencia de usuario coherente y fluida en diversos dispositivos y
plataformas. La aplicación permite a los usuarios realizar pagos seguros, supervisar sus
finanzas y acumular recompensas. Gracias a Flutter, Google Pay ha podido ampliar su
oferta a otros mercados y atraer a una base de usuarios más amplia.

https://www.abalit.org/blog/post/casos-de-exito-flutter/es
porque flutter no puede quedar absoleta?
Razones por las que Flutter es poco probable que quede obsoleta:

● Respaldo de Google: Al ser desarrollado por Google, Flutter cuenta con un fuerte
respaldo financiero y de desarrollo. Google está invirtiendo significativamente en su
mejora y expansión, lo que garantiza su futuro a largo plazo.
● Gran comunidad: Flutter ha logrado construir una comunidad de desarrolladores
muy activa y en constante crecimiento. Esta comunidad crea una gran cantidad de
recursos, paquetes y herramientas que enriquecen el ecosistema de Flutter y lo
hacen más robusto.
● Actualizaciones constantes: Google se compromete a mantener Flutter
actualizado y a incorporar nuevas características y mejoras de forma regular. Esto
asegura que Flutter siga siendo relevante y competitivo en el mercado.
● Multiplataforma: La capacidad de Flutter para crear aplicaciones para múltiples
plataformas (móvil, web, escritorio) a partir de una única base de código es una gran
ventaja. Esta característica lo hace muy atractivo para los desarrolladores que
buscan optimizar sus recursos y tiempo.
● Rendimiento nativo: Flutter ofrece un rendimiento muy cercano al de las
aplicaciones nativas, lo que es fundamental para brindar una buena experiencia de
usuario.
● Facilidad de uso: Flutter es una herramienta relativamente fácil de aprender y
utilizar, lo que atrae a una amplia gama de desarrolladores, desde principiantes
hasta expertos.
● Widgets personalizables: Los widgets de Flutter son altamente personalizables, lo
que permite crear interfaces de usuario únicas y atractivas.

Estrategias para evitar que Flutter quede obsoleta:

● Mantenerse actualizado: Es fundamental que tanto Google como la comunidad de


desarrolladores sigan actualizando Flutter con nuevas características, correcciones
de errores y mejoras de rendimiento. Esto asegura que Flutter siga siendo
competitivo y relevante en el mercado.
● Expandir las capacidades: Flutter debería seguir expandiendo sus capacidades
para abarcar nuevas plataformas y tecnologías. Esto podría incluir, por ejemplo, una
mejor integración con tecnologías de realidad virtual o aumentada.
● Fomentar la comunidad: Es importante seguir fomentando el crecimiento de la
comunidad de desarrolladores de Flutter a través de eventos, talleres, conferencias y
recursos en línea. Una comunidad fuerte es esencial para el éxito a largo plazo de
cualquier tecnología.
● Colaborar con otras tecnologías: Flutter debería buscar formas de colaborar con
otras tecnologías y herramientas populares. Esto podría incluir la integración con
otras plataformas o frameworks, o la adopción de estándares abiertos.
● Escuchar a los desarrolladores: Es crucial que Google y la comunidad escuchen
las necesidades y sugerencias de los desarrolladores. Esto ayudará a garantizar que
Flutter siga evolucionando en la dirección correcta.
¿Cómo la tecnología se compara con las otras en términos de rendimiento?

Comparar el rendimiento de Flutter con otras tecnologías de desarrollo multiplataforma es


un tema bastante complejo, ya que depende de diversos factores como:

● Tipo de aplicación: No todas las aplicaciones tienen los mismos requisitos de


rendimiento. Una aplicación de chat simple puede tener requisitos de rendimiento
diferentes a un juego 3D.
● Hardware del dispositivo: El rendimiento de una aplicación también depende del
hardware del dispositivo en el que se ejecuta.
● Experiencia del desarrollador: La forma en que un desarrollador optimiza su
código puede tener un impacto significativo en el rendimiento de la aplicación.

Sin embargo, podemos hacer una comparación general:

Flutter vs. Desarrollo Nativo

● Flutter: Ofrece un rendimiento muy cercano al nativo gracias a su motor de


renderizado Skia y a la compilación AOT (Ahead-of-Time). Esto significa que las
aplicaciones de Flutter suelen ser muy fluidas y responsivas.
● Desarrollo Nativo: Generalmente ofrece el mejor rendimiento posible, ya que el
código se compila directamente para el hardware específico del dispositivo. Sin
embargo, requiere mantener bases de código separadas para cada plataforma.

Flutter vs. React Native

● Flutter: Tiende a tener un rendimiento ligeramente mejor que React Native,


especialmente en tareas que involucran la interfaz de usuario. Esto se debe en parte
a que Flutter utiliza un motor de renderizado personalizado y a que su arquitectura
está más optimizada para el desarrollo móvil.
● React Native: También ofrece un buen rendimiento, pero puede experimentar
algunos problemas de rendimiento en aplicaciones complejas o con animaciones
exigentes.

¿Por qué Flutter destaca en rendimiento?

● Compilación AOT: El código de Flutter se compila antes de ejecutarse, lo que


resulta en un código más eficiente y optimizado.
● Motor de renderizado Skia: Skia es un motor de renderizado de gráficos 2D muy
eficiente que se utiliza en muchos productos de Google.
● Hot Reload: Esta característica permite ver los cambios en el código de forma casi
instantánea, lo que agiliza el desarrollo y ayuda a identificar y solucionar problemas
de rendimiento de manera más rápida.
Flutter vs. Kotlin Multiplatform: ¿Cuál elegir para tu
proyecto?
Tanto Flutter como Kotlin Multiplatform son excelentes herramientas para el desarrollo
multiplataforma, pero cada una tiene sus fortalezas y se adapta mejor a diferentes tipos de
proyectos.

Flutter

● Una interfaz de usuario única: Flutter ofrece un conjunto completo de widgets


personalizables que te permiten crear una interfaz de usuario consistente y atractiva
en todas las plataformas.
● Rendimiento nativo: Gracias a su motor de renderizado Skia, Flutter logra un
rendimiento muy cercano al de las aplicaciones nativas, lo que resulta en
experiencias de usuario fluidas.
● Desarrollo rápido: El hot reload de Flutter acelera significativamente el desarrollo,
permitiendo ver los cambios en tiempo real.
● Dart: Utiliza Dart como lenguaje de programación, un lenguaje moderno y fácil de
aprender.

Ideal para:

● Proyectos con una interfaz de usuario compleja y personalizada.


● Aplicaciones que priorizan un rendimiento visual fluido y consistente en todas las
plataformas.
● Equipos que valoran la rapidez de desarrollo y la facilidad de aprendizaje.

Kotlin Multiplatform

● Compartición de lógica de negocio: Kotlin Multiplatform te permite compartir la


mayor parte de tu código, especialmente la lógica de negocio, entre diferentes
plataformas.
● Integración nativa: Se integra a la perfección con el código nativo, lo que es ideal
para proyectos que requieran acceso a funcionalidades específicas de cada
plataforma.
● Kotlin: Utiliza Kotlin, un lenguaje de programación moderno y conciso, muy popular
en el desarrollo Android.

Ideal para:

● Proyectos que requieren una profunda integración con las plataformas nativas.
● Equipos con experiencia en Kotlin y que buscan maximizar la reutilización de código.
● Aplicaciones que necesitan un alto rendimiento y acceso a las últimas características
de cada plataforma.

¿Cuándo elegir uno u otro?


● Flutter: Si buscas una experiencia de desarrollo rápida, una interfaz de usuario
personalizada y un rendimiento sólido, Flutter es una excelente opción.
● Kotlin Multiplatform: Si necesitas compartir una gran cantidad de lógica de negocio
y tienes un equipo con experiencia en Kotlin, Kotlin Multiplatform es una buena
elección.
Conclusiones

Flutter permite crear aplicaciones para múltiples plataformas (iOS, Android, web, escritorio)
con una sola base de código, lo que reduce el tiempo y los costos de desarrollo. Esta
capacidad multiplataforma es una de las principales ventajas que ofrece frente a otras
soluciones.

Flutter se destaca por su capacidad para personalizar interfaces de usuario con widgets
reutilizables y un sistema de diseño flexible. Esto facilita la creación de interfaces altamente
personalizadas que se ajustan a las necesidades específicas de la marca o el proyecto.

Flutter cuenta con una comunidad activa y en constante crecimiento, lo que se traduce en
un amplio esquema de paquetes, plugins y recursos disponibles para los desarrolladores.
Esto facilita la integración de funcionalidades adicionales y acelera el proceso de desarrollo.

También podría gustarte