En esta entrada veremos cuales son las 3 categorías de aplicaciones móviles, estamos hablando de los tipos Nativos, Hibridos y WebApps
Tipos.
No existe una única forma ni una única plataforma, o sistema operativo para el desarrollo de aplicaciones móviles, por el contrario existen diferentes sistemas operativos, tecnologías y tipos de aplicaciones, tradicionalmente se habla de 3 categorías para el desarrollo de Apps (Nativas, Hibridas, webApps).
Aplicaciones Nativas
- Este tipo de aplicaciones son especificas para el sistema operativo del dispositivo, de esta manera las herramientas y lenguajes con las que se construyen son independientes, si por ejemplo se desea construir una app móvil para android se debe utilizar alguno de los lenguajes oficiales, en este caso puede ser java o kotlin (o C/C++ en caso de usarse el NDK), para iOs se debe usar Objetive C o Swift
- Cada sistema operativo requiere un SDK (Software Development Kit) especifico para la construcción de aplicaciones, este brinda un conjunto de librerías, clases y herramientas para el desarrollo de las mismas.
- Un desarrollo por cada plataforma.
- Permite mejor aprovechamiento de los recursos del dispositivo.
- El aspecto visual depende del sistema operativo.
- Cuentan con una tienda de aplicaciones oficial para la descarga e instalación, permitiendo que los desarrolladores publiquen las apps facilitando así su distribución.
- No depende del uso de Internet.
WebApps
- Las WebApps son básicamente páginas web optimizadas para su funcionamiento en los dispositivos móviles, esta optimización se da al ser una página responsive sin embargo el solo hecho de que pueda ser ejecutada en un dispositivo móvil, ya la convierte en webApp.
- Para su desarrollo no se requiere un SDK (Software Development Kit) ya que como en la construcción de cualquier página web, estas aplicaciones son independientes del sistema operativo, por lo tanto estas no necesitan instalarse y solo necesitamos un navegador donde se pueda visualizar.
- No requieren de una tienda de apps.
- Se requiere de acceso a internet
- El aspecto visual no depende del sistema operativo donde se ejecuta.
- No se puede aprovechar del todo los recursos de los dispositivos.
PWA - Aplicaciones Web Progresivas
Son aplicaciones web mejoradas para brindar características más potentes a los usuarios que lo que brinda una webApp tradicional, buscando que la experiencia de usuario sea mucho mejor, entre sus características están:
- A pesar de ser una página web, esta puede instalarse simulando el funcionamiento de una app Nativa (aunque no es obligatorio para su funcionamiento)
- Al ser una página web, brinda actualizaciones automáticas.
- Uso de notificaciones Push
- Pueden funcionar sin conexión a internet.
Aplicaciones Hibridas
- Las aplicaciones Hibridas son la combinación de las 2 categorías anteriores, se puede entender como aplicaciones web inmersas en aplicaciones nativas, estas apps se desarrollan independiente de la plataforma.
- Pueden ser instaladas como si fuera una app nativa, lo que facilita prácticamente hacer un solo desarrollo para diferentes plataformas.
- Permiten acceder a los recursos del dispositivo, no en su totalidad pero si se ha mejorado considerablemente el acceso a estos con el avance de nuevas tecnologías.
- El aspecto visual tradicionalmente era un factor que afectaba el trabajo con este tipo de aplicaciones, pero de la misma manera esto ha ido evolucionando de tal forma que se puede tener un aspecto visual acorde a cada sistema operativo.
Evolución de las Aplicaciones Hibridas.
Las aplicaciones Hibridas tradicionalmente se ejecutan en un contenedor o un navegador web, sin embargo con las nuevas mejoras en cuanto a versiones de plataformas y surgimiento de nuevas alternativas para el desarrollo de apps, se ha notado una gran evolución en esta categoría ya que existen referentes como Xamarin, ReactNative o Flutter que permiten crear apps multiplataforma que pueden ser ejecutadas de forma nativa en el sistema operativo, ya que hacen uso de widgets o Api’s nativas del sistema.
Lo anterior permite que este tipo de aplicaciones tengan un comportamiento nativo con muchas mejoras a nivel de rendimiento y aprovechamiento de recursos, ya que si bien no corren directamente sobre el sistema operativo si lo hacen en componentes propios del sistema.
¿Cuál es mejor?
No se puede decir cual es mejor, ya que como en la mayoría de cosas en esta industria, todo depende de las necesidades del usuario y el contexto en el que se va a utilizar la aplicación.
Y listo, espero que este vídeo y esta entrada te hayan gustado, en las próximas entradas seguiremos profundizando en este sistema operativo!!!!
También te podría Interesar.
- Introducción Desarrollo de aplicaciones Android
- Curso desarrollo de aplicaciones móviles Android con Kotlin
- Redimensionar imagen en Java
- Componentes de Texto.
- Componentes Atomicos Java Swing
- Componentes Java Swing
- Que es Java Swing?
- Uso Básico de JComboBox en Java
- RadioButton en Java
- Conceptos Básicos de Programación Orientada a Objetos.
¿Hay algo que quieras anexar o comentar sobre esta entrada? no dudes en hacerlo.....y si te gustó...... te invito a compartir y Suscribirte ingresando al botón "Participar en este sitio" para darte cuenta de mas entradas como esta ;)