Desarrollo

Aplicaciones para Tablets

Cuando hablamos de una tablet, nos referimos a un ordenador que combina aspectos de un portátil y una PDA. Se trata de un nuevo mercado que está creciendo a gran velocidad, contando con más usuarios y aplicaciones cada día.

A pesar de que Apple domina el mercado con su versión iPad, muchas otras marcas han apostado por este dispositivo: Samsung Galaxy Tab, HP Slate, MSI Tablet, Viliv S10 Blade... Cada una de estas tabletas utiliza un sistema operativo distinto. Pixel Consulting desarrolla aplicaciones para los diferentes sistemas operativos que existen en el mercado que luchan por hacerse hueco en el mercado.

iPhone OS

Es el sistema operativo utilizado en el iPad y desarrollado por Apple para los dispositivos móviles, el cual está basado en una variante del Mach kernel de Mac OS X. Es un sistema operativo que tiene 4 capas de abstracción:

  • Capa del núcleo del sistema operativo.
  • Capa de servicios principales.
  • Capa de medios de comunicación.
  • Capa de Cocoa Touch

Windows Embedded Compact 7

Es un sistema operativo desarrollado por Microsoft diseñado para los dispositivos compactos. Integra IE8 y es capaz de soportar aplicaciones basadas en Silverlight. Ofrece soporte para pantallas multitáctiles, acelerómetro y una gran cantidad de códecs multimedia, siendo compatible con conectividad 3G, Bluetooth y soporte para Open GL ES 2.0.

Android

Es un sistema operativo orientado para los dispositivos móviles, pero que dado el buen funcionamiento y la gran acogida que ha tenido, ha dado el salto a estos nuevos dispositivos. Samgsung entre otros ha apostado por este sitema operativo con su nueva Samsung Galaxy Tab.

Chrome OS

Es un proyecto de Google y que está basado en código abierto GNU/Linux. Dispondrá de un gestor de ventanas propio, y aunque está basado en un kernel de Linux, no utilizará GNOME o KDE.

Meego

Es un sistema operativo que ha salido de la unión de los sistemas operativos Maemo y Moblim, con los que las empresas Intel y Nokia pretenden competir en el mercado de los dispositivos móbiles.

Aqui les dejamos un video acerca las Android Honeycomb

 
El desarrollo de aplicaciones web tradicionales sería una posible solución, pero en muchos desarrollos HTML (y no, no me he olvidado del 5) se quedaría corto y seguiríamos teniendo problemas de compatibilidad entre navegadores. Una posible solución podría haber sido utilizar Flash en el navegador. El problema, como muchos sabréis, es que Apple no nos deja utilizarlo en iOS … por lo que esta solución tampoco cubre el 100%. No entraremos en detalles escatológicos sobre esto, porque ya se ha hablado suficiente de los beneficios económicos que le suponen a Apple no dar acceso a contenidos Flash.
Lo que se dejaron en el tintero nuestro colegas de genbetadev es una tercera opción: Cross-plaftform Development o desarrollos multiplataforma. Este enfoque lo puso de moda Sun hace ya unos cuantos años acompañado por el ya famoso eslogan “Write once, run everywhere”.
Los desarrollos multiplataforma permiten reutilizar la mayoría del código implementado para su despliegue en distintos dispositivos como podría ser una tableta, un teléfono inteligente, un ordenador personal o un televisor. De igual forma, también permiten entrar dentro de distintas plataformas específicas de cada dispositivo, como puede ser un sistema operativo Android, iOS, Windows, MacOS o Linux. De esta forma se reducen los costes y el mantenimiento del desarrollo.
AIR love all tablets!Centrándonos en “el mundillo de las tabletas”, tanto los dispositivos Android como Playbook de RIM disponen de esta posibilidad a través de distintas tecnologías, entre las que se encuentra Adobe AIR.
Para tener la solución completa sólo nos faltaría iOS y actualmente ya se dispone de esta posibilidad, ya que Apple relajó los términos de su licencia para desarrollo allá por septiembre del 2010, permitiendo de esta forma la entrada a sus dispositivos a aplicaciones desarrolladas en Java o Adobe AIR, entre otras.
Así, mediante tecnologías multiplataforma como Adobe AIR, podemos obtener un excelente desarrollo, guiado por expertos y profesionales que comprenden la tecnología que utilizan y ofrecer un producto a un precio de desarrollo y mantenimiento menor que creando distintas aplicaciones nativas.
Por último, y teniendo ya la foto completa, ¿cuál es la mejor solución? Pues depende. Según sea el proyecto, la mejor solución puede variar, pudiendo llegar a ser una de las soluciones propuestas o una combinación de las mismas. A la hora de tomar una elección siempre es positivo tener el apoyo de un entendido experto en el campo que comprenda la problemática y conozca las distintas soluciones, así siempre se podrá tomar la mejor elección dependiendo del escenario.



Veamos un par de ejemplos muy simples para entender mejor por donde vendría la elección:
Ejemplo 1: supongamos una empresa que quiere desarrollar un video juego para tabletas que requiere 3D  y el uso de ciertas características hardware concretas de la tableta. Aquí descartaríamos directamente crear una aplicación web accesible desde el navegador, ya que su acceso al hardware es limitado por no decir nulo. Se debería elegir entre aplicación nativa o multiplataforma. Si además requiere la utilización de características no soportadas por el API de la tecnología multiplataforma elegida (complicado que pueda suceder pero posible), la solución vendría por desarrollar una aplicación nativa (o varias, dependiendo del número de plataformas que queramos alcanzar).

Historia y evolucion de las tablets
Ejemplo 2: supongamos una empresa que necesita desarrollar una aplicación para uso interno en la que cientos de sus empleados van a utilizar tabletas en su trabajo diario. Aquí tenemos un factor adicional a tener en cuenta y es que si desarrollamos una aplicación nativa es posible que nos estemos “casando” con el fabricante. Obviamente, es algo a evitar, ya que si el coste de la aplicación es elevado y no estamos contentos con el fabricante, puede llegar a ser complicado cambiar en un futuro. En cambio, si se opta por el desarrollo de una aplicación web accesible a través de un navegador o una aplicación multiplataforma estamos cubiertos de cara al futuro. Si además la aplicación requiere acceso a características especiales de la tableta, también debemos descartar la aplicación web y nos quedaríamos con la aplicación multiplataforma.