Clasificación de las Aplicaciones Móviles.

Las aplicaciones móviles pueden clasificarse de acuerdo a su funcionalidad y arquitectura, tal y como se describe a continuación:

Clasificación de acuerdo a su funcionalidad.

  • Aplicaciones de Accesibilidad: Este tipo de aplicaciones están diseñadas para facilitar el uso del dispositivo a todo aquel usuario que tiene algún tipo de discapacidad, ejemplo de ellas son: reconocimiento de voz, de caracteres, lectura de texto, etc.
  • Aplicaciones de Sistema: Son todas aquellas aplicaciones que están relacionadas con el funcionamiento del dispositivo, tales como compresores de archivos, gestión de recursos, registro de llamadas, gestión de contactos, etc.
  • Aplicaciones Ofimáticas: Aplicaciones que permiten al usuario manipular documentos de texto, hojas de cálculo, pdf’s, etc.
  • Aplicaciones de Juegos: Este tipo de aplicaciones brindan entretenimiento y diversión a los usuarios.
  • Aplicaciones de Organización: Representan a toda aquella aplicación que permite a los usuarios organizar sus datos personales, contactos, notas, calendario, etc.
  • Aplicaciones Web: Este tipo de aplicaciones requieren de una conexión estable a internet para brindar su funcionalidad, ejemplo de ellas son: navegadores web, Gmail, YouTube, Facebook, Twitter, Google Maps, etc.

Clasificación de acuerdo a su arquitectura.

Aplicaciones Nativas: Son todas aquellas aplicaciones que son construidas de forma específica para un sistema operativo a través de un Kit de Desarrollo de Software  (SDK).

Ventajas:

  • Permiten el acceso a todas las características de hardware del dispositivo móvil a través de la solicitud de permisos, los cuales son solicitados al usuario en el momento en que instala la aplicación, aunque también podrían solicitarse en el momento en que se desea acceder al uso del hardware.
  • Cuando se construyen interfaces graficas con componentes nativos, se tiene como garantía una mejor experiencia de usuario en el uso de la aplicación, debido a que los controles nativos explotan de forma óptima los recursos del dispositivo móvil al momento de renderizarse y brindar su respectiva funcionalidad al usuario.
  • No dependen de una conexión a internet para poder funcionar.
  • Su distribución y actualización es sencilla, debido a que generalmente se lleva a cabo a través de un market de aplicaciones.

Desventajas:

  • Su costo de desarrollo es elevado, debido a que se necesita emplear especialistas expertos para diseñar una aplicación que aproveche de forma óptima los recursos de los dispositivos móviles.
  • El código de la aplicación no es reutilizable para otros SO.

Aplicaciones Web: Este tipo de aplicaciones requieren de una conexión activa para poder brindar su funcionalidad, ya que su funcionalidad depende de la conectividad que tenga hacia uno o n servidores alojados en la nube o en una red local.

Ventajas:

  • Al ser construidas bajo principios de desarrollo de aplicaciones web, se puede lograr un FrontEnd robusto capaz de adaptarse a cualquier resolución de pantalla de los dispositivos cliente.
  • El rendimiento de este tipo de aplicaciones es muy óptimo, debido a que el o los servidores a los que se conectan, son los encargados de ejecutar toda la carga de trabajo.
  • Su distribución y actualización es sencilla, debido a que generalmente se lleva a cabo a través de un market de aplicaciones.

Desventajas:

  • El acceso al hardware del dispositivo es más complicado, debido a que se tienen que crear interfaces de comunicación a código nativo para hacer uso de los mismos.
  • Son aplicaciones orientadas a la conexión, lo que implica que si no existe conexión al o los servidores, estas no serán capaces de brindar su funcionalidad a los clientes.

Aplicaciones Hibridas: Este tipo de aplicaciones combina las características de una aplicación nativa con una aplicación web.

Ventajas:

  • El instalador generado para la aplicación contiene código tanto nativo y web, permitiendo aprovechar cada una de las características de cada uno de los tipos de aplicación.
  • Generalmente son aplicaciones robustas en cuestiones de FrontEnd.
  • Su distribución y actualización es sencilla, debido a que generalmente se lleva a cabo a través de un market de aplicaciones.

Desventajas:

  • Los desarrolladores necesitan tener amplios conocimientos tanto en aplicaciones web y nativas para construir este tipo de aplicaciones.
  • Algunas veces el acceso al hardware del dispositivo móvil es complejo, debido a que se hace de una forma genérica, lo cual no asegura que sea capaz de funcionar en toda la gama de dispositivos existentes en el mercado.
  • Generalmente son aplicaciones orientadas a la conexión, lo que implica una conexión a internet estable para brindar su funcionalidad.

Market de Aplicaciones.

Un Market de Aplicaciones es un sitio web donde se distribuyen aplicaciones móviles para un SO en específico, donde las aplicaciones pueden ser distribuidas tanto por las empresas responsables de cada uno de los SO, así como también por desarrolladores independientes o empresas privadas.

Cabe mencionar que los markets de aplicaciones pueden distribuir tanto aplicaciones libres como de pago.

Panorama General del Desarrollo de Aplicaciones Móviles.

Actualmente los grandes avances en la tecnología han permitido que la sociedad tenga acceso a dispositivos inteligentes capaces de simplificar la vida de cada una las personas, algo que hace años se veía como un escenario futurista es hoy en día toda una realidad.

Si miramos a nuestro alrededor podemos darnos cuenta de todas aquellas ventajas que nos ofrecen los dispositivos inteligentes, desde el punto de ayudarnos a organizar nuestros contactos, citas y comunicarnos con familiares y amigos; hasta el grado de poder acceder a la nube para informarnos de las ultimas noticias, realizar compras en línea, pagos de servicios y transferencias bancarias desde un mismo punto.

Quien iba a imaginarse que aquellos dispositivos móviles lanzados hace años por las compañías de telefonía se convertirían en toda una moda y una necesidad para cada uno de nosotros. Tanta es nuestra dependencia hacia nuestros dispositivos móviles que imaginarnos un mundo sin ellos sería un escenario del apocalipsis.

Es importante mencionar que los primeros dispositivos móviles que salieron al mercado tenían grandes limitaciones en su arquitectura (hardware y software), pero a pesar de ello, estos ya contenían una serie de aplicaciones precargadas que permitían al usuario operar dicho dispositivo. Dentro de ese pequeño grupo de aplicaciones que venían precargadas, podíamos encontrar aquellas que se encargaban de gestionar sus contactos, llamadas, mensajes, citas y recursos del dispositivo.

El desarrollo de aplicaciones para dispositivos móviles no es algo nuevo, solo que en los inicios de los primeros dispositivos, las empresas creadoras y distribuidoras se reservaban el derecho de creación y distribución de aplicaciones para sus dispositivos, lo que implicaba un entorno totalmente cerrado para el desarrollo de aplicaciones. Ya después con el pasar de los años los proveedores de dichos dispositivos se dieron cuenta que si exponían sus herramientas de desarrollo para su plataforma y las ponían a disposición de cualquier persona interesada, se abría una gran gama de posibilidades de que surgieran nuevas aplicaciones para sus dispositivos, puerta que abrió una serie de oportunidades para desarrolladores independientes y empresas que empezaron a incursionar en el desarrollo de aplicaciones móviles. A partir de ese momento las empresas proveedoras de los dispositivos y dueñas de las distintas plataformas crearon una nueva forma de percibir ingresos, ya que aparte de poner a la disposición las herramientas para desarrollo de aplicaciones, también lanzaron al público en general un market de aplicaciones en la nube; sitio que era un repositorio de aplicaciones donde cualquier desarrollador o empresa podría adquirir una licencia para poder publicar, distribuir y monetizar sus aplicaciones. La estrategia tomada como un medio de apertura de sus plataformas resulto ser un éxito en donde tanto los dueños de las plataformas, distribuidores de dispositivos y desarrolladores eran beneficiados; y dicha estrategia hasta el día de hoy sigue siendo un éxito.

Hoy en día el desarrollo de aplicaciones móviles representa una gran área de oportunidad que puede ser aprovechada tanto por desarrolladores independientes como por empresas privadas.

Es valioso mencionar que ahora ya se cuenta con dispositivos inteligentes con mayor capacidad de procesamiento, memoria, almacenamiento, sensores y distintas versiones de SO, elementos que nos permiten a nosotros como desarrolladores poder crear aplicaciones que sean capaces de aprovechar al máximo todos esos recursos con los que cuentan los dispositivos.

Antes de finalizar con este artículo, me gustaría comentarles que la construcción de aplicaciones surge por alguna de las siguientes razones: por creatividad, por innovación, por crear una necesidad o por satisfacer una necesidad existente ;)