top of page

Xamarin vs PWA



Hablar de una aplicación y no considerar su uso en los dispositivos móviles es estar fuera de la realidad.


Si bien es cierto que seguimos haciendo uso de nuestras computadoras para acceder a varios sitios y aplicaciones en internet, el uso de dispositivos móviles, sobre todo de teléfonos celulares, es una actividad cotidiana e indispensable en muchas situaciones.


Por esto, cualquier desarrollador tiene que considerar que todas sus aplicaciones se adapten visualmente a los teléfonos y demás dispositivos móviles. Es a lo que llamamos mobile friendly o sitio responsivo.


Y aquí es donde surge la pregunta del millón de dólares ¿qué lenguaje o tecnología debemos de utilizar para satisfacer las necesidades del cliente, pero sobre todo de los usuarios de la aplicación?


Una opción es crear una Progressive Web Application PWA y la otra es desarrollar una aplicación móvil.


Si optamos por una Aplicación Web Progresiva estamos hablando de desarrollar una aplicación que será accedida a través del navegador de internet. Y si decidimos crear una aplicación móvil, estaremos codificando una aplicación que tendrá que descargarse desde la App Store o desde la Play Store para los dispositivos Android o incluso desde Microsoft Phone Store.


Y nuevamente tendremos que tomar la decisión de desarrollar en un lenguaje móvil nativo para cada sistema operativo o si haremos una Cross-Platform Native App. Estas últimas son aplicaciones que se codifican una sola vez y que generan un instalador para cada uno de los sistemas operativos de los dispositivos móviles.


Aparentemente los problemas de compatibilidad están resueltos en ambos casos. Sin embargo, hay que tener en cuenta otras consideraciones antes de tomar una decisión.


¿Qué otras opciones existen dentro de las Cross-Platform Native Apps? Xamarin es el lenguaje desarrollado por Microsoft para este tipo de aplicaciones. React Native es el framework creado por Facebook. Flutter es el SDK que Google desarrolló. Uno es la plataforma open source creada para realizar aplicaciones multiplataforma single-source. Kotlin Native es la tecnología que permite la compilación donde las máquinas virtuales no son posibles o deseables.


Dentro de Microsoft Xamarin Forms nos permite la utilización de plantillas que podemos reusar. Entonces qué ventajas encontramos dentro de Xamarin:


Open Source

Xamarin es totalmente gratis. Cuando descargamos Visual Studio ya incluye Xamarin para desarrollar nuestras aplicaciones.



Rápido Desarrollo

La interfaz gráfica se desarrolla mucho más rápido que cuando se hace un desarrollo PWA. Puede llegar a hacerse una aplicación en el 50% del tiempo y esfuerzo requeridos para hacer una aplicación tipo Progressive Web Application.


Pequeño Presupuesto

Por la misma rapidez, cuando se habla de un desarrollo empresarial, el costo del desarrollo es mucho menor que en las aplicaciones Web progresivas. Así que, si tu cliente o empresa no cuenta con un presupuesto muy amplio, Xamarin puede ser la opción más recomendable para los dispositivos móviles.


Share Code

Gran parte del código que se desarrolla se puede compartir para los diferentes tipos de plataformas o sistemas operativos. Esta es otra cualidad que hace de Xamarin una opción más rápida y eficiente y por lo tanto más económica para su codificación.


Monetización

Una aplicación móvil que requiere ser descargada e instalada puede monetizarse de manera más sencilla. Basta con colocar nuestra aplicación en App Store o Play Store y comenzar a cobrar por cada una de las descargas, aprovechando los mecanismos de pago que ofrecen estas plataformas para la venta de aplicaciones.


Ahora, no todo son ventajas con respecto a las aplicaciones PWA. Es necesario considerar estos aspectos para tomar una decisión al momento de desarrollar nuestras aplicaciones.


Cantidad de Desarrolladores

Xamarin cuenta con buena fama en el mundo del desarrollo. Sin embargo, hay un grupo muy reducido de desarrolladores que tiene los conocimientos para desarrollar en Xamarin. Se maneja que solamente el 10% de los desarrolladores sabe programar en Xamarin.


Instalación

Al ser una aplicación móvil que deba publicarse se tiene la desventaja de que los clientes o usuarios tienen que instalarla para poder hacer uso de ella. Muchas veces esto reduce considerablemente la cantidad de usuarios potenciales por las siguientes razones: muchas veces los dispositivos no tienen las características del sistema operativo requerido para poder ser instalada la aplicación; en ocasiones el espacio de almacenamiento disponible no es suficiente para la cantidad de MB que ocupa nuestra aplicación; también sucede que la memoria RAM o la versión del sistema operativo del teléfono en donde se pretende instalar la aplicación hacen imposible la instalación de la misma.


Las aplicaciones móviles se desarrollan para funcionar en cierto tipo de dispositivos y versiones mínimas de sistemas operativos. Por otro lado, muchas veces los usuarios no desean instalar una aplicación más entre todas las que les están ofreciendo en el mercado. Hay miles de empresas que quieren que instalemos sus aplicaciones; sin embargo, es imposible que instalemos cada una de ellas. En cambio, navegar en un sitio web con una URL fácil de recordar y una interfaz de usuario agradable que se adapte a los dispositivos móviles es una mejor opción que a menudo prefieren los usuarios antes que instalarla permanentemente.





Actualizaciones

A pesar de que las actualizaciones de las aplicaciones pueden bajarse automáticamente, siempre hay un retraso entre la publicación de la actualización y la descarga de esta. En una aplicación PWA en cuanto se publica la última versión se tiene acceso a ella a través del navegador.


Descubrimiento

Para encontrar una aplicación móvil en el App Store o Play Store se requiere de la búsqueda específica de la misma. Y eso no lo haremos, a menos que ya conozcamos la aplicación porque alguien nos la recomendó y sabemos de su existencia. En cambio, es mucho más fácil que al hacer alguna búsqueda de contenido en general Google nos muestre como sugerencia alguno de los sitios que pudieran contener la aplicación que estamos promocionando.


A continuación, me gustaría mostrar una tabla comparativa entre PWA, React Native y Xamarin. Siempre es más fácil visualizar y comparar la información a través de una imagen.


Dicha tabla está tomada de la siguiente fuente:





En conclusión, hay que hacer un análisis detallado de las necesidades y objetivos tanto de la aplicación como del cliente que la esta solicitando antes de tomar una decisión acerca de qué tecnología es la más adecuada para crear nuestras aplicaciones. Y algo que siempre debemos de estar conscientes es que lo que hoy resulta más conveniente mañana puede llegar a ser totalmente obsoleto y ser reemplazado por otra herramienta.

37 views0 comments

Kommentare


bottom of page