1.- Introducción
Hoy un gran sector de la población utiliza un smartphone es usado para comunicarse, comprar, vender o, incluso, buscar trabajo. Esto a abierto un nuevo campo de mercado para los desarrolladores de software ya que muchas de las empresas buscan alcanzar a sus clientes utilizando estas aplicaciones.
Contar con aplicaciones móviles es una necesidad para las empresas y una ventaja para los profesionales del software. No hay más que mirar las estadísticas.
En 2020 aproximadamente el 60% de la poblacion mundial utiliza internet , el 52% de ellos lo hace através de su telefono celular.
México cuenta al 2019 con 74 millones de personas utilizando internet de las cuales más del 90% lo hace através de su celular
Android se mantiene como lider en el mercado de sistemas operativos móviles. En Europa, según Statcounter, Android copa el 71,77% de dispositivos, frente al 27,72% de iOS.
Como vemos la demanda es muy amplia y mantiene un crecimiento constante pero también es cierto que en la actualidad hay cada vez más competencia en el mundo del desarrollo.
Existe también una amplia variedad de tecnologías que sirven al próposito del desarrollo de aplicaciones móviles. y podemosa gruparlas en las siguientes categorías:
- Desarrollo de sitios web con HML5 responsive
- Desarrollo de sitios web para móviles utilizando HTML5
- Desarrollo aplicaciones web para dispositivos utilizando HTML5
- Desarrollo de aplicaciones nativas para dispositivos utilizando HTML5
- Diseño de aplicaciones nativas para dispositivos (Android, iOS, Windows Phone, etc.)
A continuación se explican las características mas importantes que distinguen a cada una de las categorías mencionadas.
1. Sitio web HTML5 Responsive
Esta técnica permite diseñar aplicaciones web que se adaptan a las capacidades de visualización de los dispositivos, reorganizando los elementos de pantalla para que puedan ser accedidos desde cualquier dispositivo. Se desarrolla un único sitio web que es accedido a través del navegador.
La limitación más obvia es que no se aprovechan las capacidades de ningún dispositivo, ya que el diseño debe ser generalista y no puede incluir ninguna funcionalidad específica. El sitio web es accesible desde cualquier dispositivo, pero la experiencia de usuario no es óptima para ninguno de ellos.
2. Sitio web móvil con HTML5
A través de esta tecnología se diseñan sitios web específicos para dispositivos móviles, redirigiendo las peticiones a una URL diferente a la del sitio web tradicional. El sitio web móvil es diseñado de acuerdo a las características de los dispositivos, enfocando su construcción a la usabilidad de los contenidos, y los dispositivos acceden mediante el navegador web.
La limitación de este tipo de soluciones se basa en el empleo del navegador como software de visualización, lo que restringe el acceso a características específicas de los dispositivos. Asimismo, al tratarse de una URL, el acceso de los usuarios al servicio suele ser más errático, ya que no disponen de una aplicación catalogada en los diferentes Markets .
Existen diferentes frameworks web para poner en práctica esta tecnología (JQuery Mobile, Sencha Touch, Ember.js…)
3. Aplicación web móvil con HTML5
Esta tecnología es parecida a la anterior, pero se diferencía en que en este caso se empaqueta una aplicación nativa para cada tienda (playStore, Windows Store,…) que se basa en la inclusión un marco de navegación que accede al sitio web móvil.
4. Aplicación nativa con HTML5
Este desarrollo de aplicaciones nativas que no usan el navegador para mostrar los contenidos al usuario, puede ser realizado usando tecnologías de desarrollo HTML5. Las cuales permiten desarrollar una única vez y distribuir la aplicación para los diferentes sistemas operativos (Android, iOS…). Asimismo, ponen a disposición del desarrollador algunas de las características específicas de los dispositivos que no eran alcanzables en las alternativas anteriores.
Las limitaciones de esto radican en que no se pueden utilizar algunas de las características específicas del dispositivo (como la grabación de voz) o la toma de fotografías, ya que aún no están soportadas en los diferentes intérpretes de HTML5. Asimismo, la experiencia de usuario todavía no alcanza la calidad de las aplicaciones nativas.
Existen diferentes frameworks(PhoneGap, AppCelerator) que permiten construir este tipo de aplicaciones, aunque el conocimiento en JavaScript del desarrollador debe ser elevado.
5. Aplicación nativa
Las aplicaciones nativas se construyen empleando los propios entornos de desarrollo facilitados por los fabricantes del sistema operativo (SDK de android, SDK de IOS, etc) y se programa en el lenguaje específico del dispositivo (Java, Objective-C…). Estas aplicaciones pueden ejecutarse en diferentes versiones del sistema operativo.
Estas aplicaciones son mejores en el sentido de que aprovechan al máximo las capacidades de un dispositivo móvil , sin embargo el mayor inconveniente de este tipo de aplicaciones es el costo de desarrollo que implican, ya que es necesario volver a codificar la aplicación para cada sistema operativo en el que se quiere distribuir. Incluso a veces es necesario realizar versiones específicas para diferentes dispositivos o versiones del sistema operativo.
En el contenido de este curso nos centraremos en el desarrollo nativo utilizando android studio y el lenguaje de programación kotlin.
0 Comments