desventajas de usar ionic para crear aplicaciones

En un post anterior hablé sobre las ventajas o pros de usar Ionic para crear o desarrollar apps, pues bien, también existen desventajas o pros, los cuales te contaré en este post.

Falta rendimiento con aplicaciones nativas

Cuando se trata del rendimiento de aplicaciones pesadas, Ionic carece de idoneidad. Al usar WebView para representar la aplicación, muestra buenos resultados para la funcionalidad común de una aplicación móvil.

En el caso de aplicaciones pesadas como Snapchat que usan realidad aumentada a través de cámaras de teléfonos inteligentes o aplicaciones con muchos gráficos (juegos, aquellos que representan muchos modelos 3D), hará que su aplicación se arrastre.

La razón es bastante simple. Ionic representa sus elementos gráficos a través de un navegador, que toma varios pasos para comenzar a mostrar la imagen en la pantalla. Cuanto más pongamos en el medio, mayor será el tiempo de carga. Agregue aquí las devoluciones de llamada de Cordova y la carga de animaciones CSS.

pasos de ionic para mostrar datos en pantalla

Son muchos pasos antes de que la vista pueda ser renderizada y mostrada al usuario final.

En la mayoría de los casos, con la funcionalidad habitual, su rendimiento será lo suficientemente bueno. Muchas autoridades comunitarias como Josh Morony afirman que el bajo rendimiento en las aplicaciones de Ionic es culpa de un código incorrecto, no del marco en sí. Puede consultar su exhaustiva publicación de blog que discute las limitaciones del marco iónico en el rendimiento y las formas de evitarlas.

Pero, en general, si el rendimiento es su objetivo principal, lo más probable es que elija otra forma de construir su aplicación. Xamarin y React muestran mejores resultados, ya que las aplicaciones se compilan en nativo. El uso de idiomas cercanos al código de máquina garantiza el alto rendimiento de su aplicación. En el caso de Ionic, es posible crear aplicaciones de alto rendimiento, pero tendrá que estudiar técnicas de optimización de rendimiento mucho más profundas de lo que podría ser necesario en React.

Sistema dependiente del complemento

Cada vez que crea una aplicación con Ionic, está obligado a usar complementos para acceder a la funcionalidad nativa. Con la cantidad total de complementos listos para usar, es fácil encontrar un paquete para implementar la funcionalidad requerida. Sin embargo, hay casos en los que no encontraría un complemento o módulo. En caso de que necesite alguna característica altamente específica o acceso a una pieza de hardware no estándar, tendrá que desarrollar el complemento por su cuenta. La razón es que Ionic no es capaz de implementar complementos nativos sin transformarlo en JavaScript. Eso significa que puede ir completamente a la web, pero si desea usar un poco de código nativo, no es posible.

El caso de ausencia de complemento es muy específico, y la mayoría de las veces puede encontrar un módulo adecuado. Si necesita algo que no está en la tienda, probablemente tenga que crearlo con la ayuda de un desarrollador nativo.

Ausencia de recarga en caliente

Hay un par de técnicas utilizadas para agregar cambios a su código. En ingeniería de software, la recarga en caliente se considera una característica estándar. La recarga en caliente le permite aplicar cambios sin volver a cargar toda la aplicación. El archivo en el que está trabajando se actualizará, permitiendo que la aplicación continúe funcionando e implementando cambios en un modo en vivo.

A Ionic le lleva tiempo acostumbrarse, ya que no proporciona recarga en caliente, sino que utiliza la recarga en vivo. Cada vez que aplique algunos cambios, la recarga en vivo actualizará toda la aplicación para que los cambios estén activos. Eso significa que cada vez que sus desarrolladores quieran aplicar cambios, se reiniciará su aplicación. Esto puede sonar bien, pero cuando se trata de la velocidad de desarrollo, actualizar la aplicación cada vez que actualiza el código puede ralentizar todo el proceso. En cuanto al desarrollador, no proporciona mucha comodidad al trabajar en la aplicación, por lo que se considera un inconveniente.

Posibles problemas de seguridad

No debe considerar ese punto como una estafa de Ionic por sí solo, sino como un posible obstáculo que puede enfrentar al trabajar con él. Al crear aplicaciones híbridas, la seguridad es un problema común, siempre y cuando su aplicación pueda ser modificada.

Desde la versión 4, Ionic CLI proporciona uglificación de código incorporada, una técnica común para dificultar la lectura del código por parte de piratas informáticos. Pero también debe saber que si está utilizando Angular CLI o versiones anteriores de Ionic, no está ocurriendo la codificación de código. Sus desarrolladores deberán uglificar el código por su cuenta.

Hay muchas maneras de comprometer lo que está sucediendo con su aplicación móvil o PWA, como un ataque de hombre en el medio. ¿Por qué eso importa? Bueno, porque básicamente, su aplicación Ionic es un sitio web que se ejecuta en el dispositivo. La conclusión importante es que Ionic se comunica con el backend utilizando las llamadas HTTP habituales. Por lo tanto, también desea usar las medidas de seguridad en su aplicación Ionic que usa para proteger su sitio web, como usar la conexión HTTPS en lugar del HTTP.

Tamaño de la aplicación

El problema puede no parecer tan importante como el rendimiento. Pero escribir su aplicación usando HTML, CSS y JavaScript significa escribir mucho código y agregar bibliotecas, complementos, dependencias, etc., que hacen que una aplicación sea bastante más pesada que las nativas:

  • Complementos (Cordova, condensador, complementos iónicos nativos)
  • Bibliotecas predeterminadas
  • Dependencias (Angular, React o Vue, según el marco que utilice)
  • Variables CSS

El problema es completamente cierto para las aplicaciones de Ionic versión 3, pero en la versión 4, se resolvió parcialmente.

Ionic CLI proporciona codificación de código, que es una de las técnicas de minificación de código. También puede reducir el tamaño de los iconos y eliminar estilos, fuentes e imágenes no utilizados para minimizar el tamaño de su aplicación.

Como aporte adicional, he desarrollado apps en Ionic que pesan 40 MB una vez construidas, mientra que la misma app en Android Studio pesa 15 MB.

Category
Tags

No responses yet

Deja un comentario