Durante el curso 2020-2021 iniciamos en la programación web a un grupo de chavales que se mostraron bastante ilusionados en el aprendizaje de todo lo relacionado con la programación web.
Para este curso que empezamos 2021 - 2022 vamos a iniciar a los alumnos en el uso de distintos frameworks para el desarrollo de aplicaciones móviles utilizando para ello Angular.
Pero cuales son cuales sin los frameworks que agilizan el trabajo de los programadores a la hora de desarrollar apps.
Nosotros vamos a apostar por formar a nuestros alumnos en Flutter o Ionic sin descartar más adelante la iniciación en Stencyl desarrollado por el equipo que creo ionic
¿Qué es Flutter?
Flutter es un framework de Google. Permite, a partir de un mismo código, el desarrollo de apps compatibles con iOS y Android a una velocidad récord.
Basándonos en nuestra experiencia, Flutter mejora el rendimiento de las aplicaciones. Reduce su tamaño y es en general más estable y produce menos errores.
Nos introduciremos en el conocimiento del lenguaje de programación Dart.
¿Qué es Ionic?
Ionic es un framework originalmente basado en Angular. Permite a los programadores el desarrollo de apps con tecnologías web. Utiliza estándares como HTML, CSS y JavaScript. Prepara el código de una app para que pueda funcionar tanto en plataformas iOS como en Android. También, ofrece la posibilidad de realizar una compilación más y hacer una ampliación de escritorio basada en ElectronJS. Dando lugar a una Progressive Web App.
Nos centraremos en el estudio de varias cosas en el curso: Angular, TypeScript e ionic.
Flutter vs Ionic
Ionic y Flutter comparten una visión común de crear aplicaciones de alto rendimiento que funcionen en todos los dispositivos. Sin embargo, sus filosofías centrales no podrían ser más diferentes.
- El principio de Ionic es utilizar la plataforma web. Adoptando estándares abiertos siempre que sea posible.
- Al programar con Ionic se aprende sobre las herramientas y los lenguajes de la web. Es un framework diseñado para ofrecer un gran rendimiento en dispositivos móviles, equipos de escritorio y, especialmente, en la web.
- Flutter, en cambio, crea un ecosistema propio que está en desacuerdo con los lenguajes comunes, conjuntos de herramientas y estándares que se encuentran en el mundo del desarrollo en general.
- Flutter ofrece un rendimiento muy bueno en dispositivos móviles. Pero las limitaciones fundamentales de su arquitectura hacen que sea una mala elección para implementaciones basadas en web.
- La elección de la solución debe basarse en dónde y cómo se planea implementar la app y qué habilidades se conoce o se quiere aprender en el futuro.
¿Que framework vas a utilizar?
Nuestros alumnos aprenderán a usar los dos siendo ellos los que decidan en un futuro cual de ellos utilizarán.
Tanto Ionic como Flutter son únicos entre todos los otros enfoques de desarrollo de aplicaciones. Comparten la visión de crear un framework para diseñar la interfaz de usuario que funcione en todas partes. Ofreciendo un gran rendimiento y una buena experiencia de usuario dondequiera que se ejecute.
Mientras que la mayoría de los enfoques multiplataforma, como React Native, se centran casi exclusivamente en dispositivos móviles. Ionic y Flutter están diseñados para abordar dispositivos móviles, equipos de escritorio y la web. Todo esto con una base de código compartida.
La distinción clave entre ellas es la forma en que cada solución trata de realizar esta visión y en que medida pueden cumplirla.
¿Que diferencias hay?
Las diferencias entre Ionic y Flutter comienzan con la filosofía central de cada framework. Que no podría ser más diferente. En todo lo que hacemos en Ionic, el principio rector es «utilizar la plataforma» mediante la adopción de estándares y capacidades web abiertas siempre que sea posible.
Cuando se elige Ionic, no se apuesta realmente por Ionic. Se está apostando en la web.
Esto se debe a que Ionic y sus herramientas se basan en tecnologías web abiertas. Desde los lenguajes web que utiliza para crear aplicaciones (HTML, CSS, JavaScript) hasta los componentes de interfaz de usuario basados en estándares que se ejecutan dentro de la app.
Flutter ha optado por realizar su visión creando un ecosistema completamente nuevo y propio desde cero. Desde Dart, el lenguaje que usa Flutter para crear aplicaciones, hasta su motor de renderizado personalizado. Casi todo Flutter se basa en su propio conjunto de estándares que no aprovechan las capacidades del navegador, los lenguaje web y las librerías JavaScript de hoy en día.
Estas filosofías opuestas tienen un profundo efecto en lo que se puede hacer con cada framework, y el impacto que tienen tanto hoy como en el futuro.