
Sign up to save your podcasts
Or
Una de las cosas por las que he decidido aprender Flutter, es porque las aplicaciones que genera mantienen una calidad nativa. Pero ¿a qué me refiero con calidad nativa?, ¿cómo consigue Flutter hacer aplicaciones multi-plataforma manteniendo este nivel?
Cuando digo “calidad nativa” me refiero a que las aplicaciones tienen el mismo nivel de fluidez y rendimiento que una aplicación desarrollada con el SDK oficial de Android o de IOS (bueno… seguramente si nos ponemos a medir datos exaustivamente las aplicaciones nativas seguirán ganando, pero bajo mi experiencia el nivel de Flutter es altísimo y la diferencia inapreciable).
¿Cómo consigue Flutter?, para comprenderlo hablemos un poco de cómo funcionan las otras tecnologías de desarrollo multi-plataforma o “híbridas”.
Por un lado tenemos tecnologías como phonegap que lo que hacen es básicamente utilizar HTML, CSS y Javascript para hacer una especie de web local embebida en una app. La app que genera es solamente un pequeño navegador web que pinta esta web que “simula” ser una aplicación, para entendernos. Esto está muy bien y tiene una serie de puntos fueres que son obvios, pero la realidad es que la diferencia de calidad o rendimiento entre una aplicación desarrollada de esta forma y una aplicación nativa es evidente.
Luego tenemos tecnologías como React Native, que va un paso más allá y aunque la base es parecida a lo anterior y también se programa con javascript, utiliza los componentes nativos de los sistemas operativos. Esto es una mejora considerable bajo mi punto de vista y lo cierto es que se nota.
Pero luego tenemos a Flutter que nos presenta otra forma diferente de hacer las aplicaciones multi-plataforma. ¿Alguna vez habéis programado un videojuevo con algún motor gráfico como Unity? sabréis entonces que Unity permite que sus juegos se exporten como app y se ejecuten en móviles. En este caso tienen su propio engine o motor de renderizado que, para entendernos, directamente le dice a la máquina lo que tiene que pintar, saltándose a los componentes del sistema operativo, directamente habla con el procesador para que pinte lo que quiere, en este caso los gráficos de un juego. Pues Flutter funciona exactamente igual, pasa de los SDK oficiales y presenta su propio motor de renderizado para decirle directamente al procesador, directamente a la máquina, qué es lo que tiene que pintar, solo que en este caso en lugar de pintar personajes, escenarios y gráficos de videojuego, pinta botones, textos y menús como una app.
Flutter se inventa sus propios componentes y el código escrito en Dart se compila a lenguaje de procesador para que pueda ser ejecutado tanto en IOS como en Android. Esto es lo que hace que su opción multi-plataforma tenga esa fluidez y ese buen rendimiento y “calidad nativa”.
Por cosas como esta es por lo que creo que Flutter tiene mucho futuro.
5
22 ratings
Una de las cosas por las que he decidido aprender Flutter, es porque las aplicaciones que genera mantienen una calidad nativa. Pero ¿a qué me refiero con calidad nativa?, ¿cómo consigue Flutter hacer aplicaciones multi-plataforma manteniendo este nivel?
Cuando digo “calidad nativa” me refiero a que las aplicaciones tienen el mismo nivel de fluidez y rendimiento que una aplicación desarrollada con el SDK oficial de Android o de IOS (bueno… seguramente si nos ponemos a medir datos exaustivamente las aplicaciones nativas seguirán ganando, pero bajo mi experiencia el nivel de Flutter es altísimo y la diferencia inapreciable).
¿Cómo consigue Flutter?, para comprenderlo hablemos un poco de cómo funcionan las otras tecnologías de desarrollo multi-plataforma o “híbridas”.
Por un lado tenemos tecnologías como phonegap que lo que hacen es básicamente utilizar HTML, CSS y Javascript para hacer una especie de web local embebida en una app. La app que genera es solamente un pequeño navegador web que pinta esta web que “simula” ser una aplicación, para entendernos. Esto está muy bien y tiene una serie de puntos fueres que son obvios, pero la realidad es que la diferencia de calidad o rendimiento entre una aplicación desarrollada de esta forma y una aplicación nativa es evidente.
Luego tenemos tecnologías como React Native, que va un paso más allá y aunque la base es parecida a lo anterior y también se programa con javascript, utiliza los componentes nativos de los sistemas operativos. Esto es una mejora considerable bajo mi punto de vista y lo cierto es que se nota.
Pero luego tenemos a Flutter que nos presenta otra forma diferente de hacer las aplicaciones multi-plataforma. ¿Alguna vez habéis programado un videojuevo con algún motor gráfico como Unity? sabréis entonces que Unity permite que sus juegos se exporten como app y se ejecuten en móviles. En este caso tienen su propio engine o motor de renderizado que, para entendernos, directamente le dice a la máquina lo que tiene que pintar, saltándose a los componentes del sistema operativo, directamente habla con el procesador para que pinte lo que quiere, en este caso los gráficos de un juego. Pues Flutter funciona exactamente igual, pasa de los SDK oficiales y presenta su propio motor de renderizado para decirle directamente al procesador, directamente a la máquina, qué es lo que tiene que pintar, solo que en este caso en lugar de pintar personajes, escenarios y gráficos de videojuego, pinta botones, textos y menús como una app.
Flutter se inventa sus propios componentes y el código escrito en Dart se compila a lenguaje de procesador para que pueda ser ejecutado tanto en IOS como en Android. Esto es lo que hace que su opción multi-plataforma tenga esa fluidez y ese buen rendimiento y “calidad nativa”.
Por cosas como esta es por lo que creo que Flutter tiene mucho futuro.