Tecnologías para aplicaciones en dispositivos móviles

por | 09/11/2014
3 Flares Twitter 3 Facebook 0 Buffer 0 Google+ 0 LinkedIn 0 3 Flares ×

Tecnologías para aplicaciones en dispositivos móviles

El uso generalizado en los últimos tiempos de dispositivos móviles como smartPhones o tabletas ha dado lugar a una gran demanda de software para este nuevo tipo de hardware.

Antes de comenzar a desarrollar software para alguno de estos dispositivos, es necesario ser conscientes de las limitaciones con las que nos podemos encontrar en estos aparatos. ¿Cuáles son las restricciones a las que nos vamos a tener que enfrentar?

Algunas de estas restricciones son:

  • Suministro de energía limitado (normalmente dependiente de baterías).
  • Procesadores con capacidad de cómputo reducida.
  • Poca memoria principal (RAM).
  • Almacenamiento de datos persistente reducido (pequeña memoria flash interna, tarjetas SD, etc.).
  • Conexión a algún tipo de red intermitente y con ancho de banda limitado.
  • Pantallas de reducidas dimensiones.
  • Teclados con funcionalidad muy básica y muy pequeños.

Este tipo de restricciones, y algunas otras que dependerán de cada dispositivo en concreto, habrán de ser tenidas muy en cuenta a la hora del análisis y diseño de una aplicación «móvil», pues no podemos pretender, que esa aplicación pueda contener la misma funcionalidad, que la que podemos encontrar habitualmente en un programa que es ejecutado en un ordenador de sobremesa o un portátil.

Por otro lado, no todo va a ser restricciones. También habrá que tener en consideración que esta tecnología va a aportar una serie de ventajas muy importantes: movilidad, poco peso, pequeño tamaño, facilidad para el transporte, conectividad a diversos tipos de redes de comunicaciones. Ésas serán las ventajas que podrás explotar en tus aplicaciones.

Cuando vas a desarrollar una aplicación para un dispositivo móvil, algunas de las primeras preguntas que te puedes hacer son:

  • ¿Sobre qué tipos de dispositivos móviles se pueden hacer programas? ¿Sobre qué tipo de hardware se puede programar?
  • ¿Qué sistema operativo puede llevar ese hardware?
  • ¿Qué plataformas de desarrollo existen para desarrollar sobre ese hardware y ese sistema operativo? ¿con qué lenguajes puedo programar? ¿qué herramientas (compiladores, bibliotecas, entornos, etc.) hay disponibles?

Las respuestas a este tipo de preguntas pueden ser múltiples y muy variadas:

  • Respecto al hardware, te puedes encontrar, como has visto ya, con teléfonos móviles (smartPhones), tabletas y con otros dispositivos.
  • En cuanto a los sistemas operativos, dependiendo del hardware habrá sistemas diseñados para unos u otros dispositivos. Los hay basados en Microsoft Windows, en Linux, y en MAC OS X, así como otros totalmente originales y desarrollados específicamente para estos nuevos tipos de dispositivos. Entre los más populares se encuentran Android, iOS, Blackberry OS y Windows Phone.
  • Si lo que deseas es conocer algo acerca de las plataformas de desarrollo disponibles para cada entorno (hardware y/o sistema operativo), podemos hablar de Java ME, Windows Mobile SDK, Maemo SDK, o bien de IDE como Microsoft Visual Studio, CodeWarrior, Eclipse, Netbeans.
  • Si te refieres a lenguajes de programación, normalmente te encontrarás con lenguajes como pueden ser las aplicaciones de escritorio para los PCs o las aplicaciones web (Java, C#, C, etc.).

En definitiva puedes observar que en este nuevo mundo del desarrollo para dispositivos móviles te encuentras con una problemática similar a la que te puedes enfrentar con los ordenadores convencionales: distintos tipos de hardware, distintas opciones de sistemas operativos dependiendo del hardware que los soporte, diferentes lenguajes de programación, plataformas, API y bibliotecas, entornos de desarrollo, etc.

3 Flares Twitter 3 Facebook 0 Buffer 0 Google+ 0 LinkedIn 0 3 Flares ×