Hoy voy a hablar de tipos de aplicaciones móviles utilizadas en nuestros dispositivos y las diferencias, ventajas e inconvenientes que nos encontramos al trabajar con cada una de ellas según la forma en la que son creadas.
Comentaré 3 tipos de aplicaciones móviles:
- Apps nativas.
- Web Apps.
- Apps Hibridas.
Estas son 3 formas diferentes de crear de crear aplicaciones para dispositivos móviles, cada una de ellas tiene sus ventajas e inconvenientes, por lo que es conveniente conocerlos y así poder hacer uso de la que más necesitemos según el caso.
Apps Nativas
Las aplicaciones nativas son aplicaciones programadas en lenguaje nativo del dispositivo en el que queramos crear la app, por ejemplo, Java o Kotlin para Android u Objective-C o Swift para IOS y que son solo compatibles con estos dispositivos.
Ventajas:
- Aprovechan todos los recursos del dispositivo.
- Disponen de tiendas de aplicaciones.
- Ofrecen mejor experiencia de usuario.
Inconvenientes:
- No son multiplataforma, por lo que se debe utilizar un lenguaje específico para cada una de ellas.
- Mayores costos de desarrollo debido a esto mismo.
Web Apps
Son aplicaciones creadas en la web y pensadas principalmente en su uso en dispositivos móviles. Se ejecutan en el navegador y son básicamente páginas web responsivas (adaptables a todo tipo de pantallas) que cumplen las funcionalidades de una aplicación.
Ventajas:
- Son desarrolladas con HTML, CSS y JavaScript, por lo que es sencillo para un programador web programar este tipo de aplicaciones sin tener que aprender nuevas tecnologías.
- Son ejecutadas en el navegador por lo que son compatibles con casi todos los dispositivos.
- Siempre están actualizadas a su última versión, ya que esta funciona directamente en el servidor.
Inconvenientes:
- Por el mismo hecho de ser ejecutadas en el navegador, tienen un acceso limitado a los recursos del dispositivo pudiendo únicamente acceder a los recursos que puede acceder el propio navegador.
- Requieren conexión continua a internet.
Apps hibridas
Las apps hibridas son aplicaciones que ofrecen partes buenas de cada una de las anteriores, acceden a gran parte de los recursos del dispositivo como si fueran aplicaciones nativas, pero se desarrollan en lenguaje web que automáticamente podrá ser compilado a diversas plataformas.
Ventajas:
- Acceso a recursos del dispositivo.
- Multiplataforma, un solo código se puede compilar para varios sistemas operativos.
- Pueden usar las tiendas de aplicaciones.
- Se instalan en el dispositivo como una app nativa.
- No requieren conexión continua a internet.
Inconvenientes:
- El acceso a los recursos del dispositivo, aunque va en aumento, no es total como en el caso de una app nativa, por lo que dependerá de nuestras necesidades poder hacer uso de ellas.
- Si no se utiliza algún framework o se hace distinción entre dispositivos, el aspecto visual será idéntico en cualquier dispositivo independientemente de la capa de personalización de cada fabricante.
Estas últimas utilizan frameworks que crean capas de abstracción como Apache Cordova o PhoneGap, así como frameworks para desarrollo de apps como Ionic que permiten la comunicación entre los dispositivos móviles y la tecnología web, haciendo así posible su compilación a app nativa y utilizándolas como si de éstas se tratase.
Conclusión
Podemos decir que no hay tipos de aplicaciones móviles mejores o peores, como en casi todo, lo ideal es utilizar uno u otro en función de nuestras necesidades o posibilidades, Una app nativa ofrece un mayor rendimiento, aunque su coste puede elevarse bastante con respecto a una app web así como también necesita de actualizaciones constantes por parte del usuario final.
Por otro lado una web app aunque no requiere de actualizaciones por parte del usuario, puede dar un aspecto más frio al no integrarse con el sistema, empeorando la experiencia de usuario. Por último, con una app hibrida podemos conseguir sacar lo mejor de ambos casos, teniendo en cuenta que el rendimiento de una app nativa acaba siendo superior y en función de lo que necesitemos desarrollar deberemos tratar de elegir la mejor opción.
Comentarios