Desarrollo abierto para móviles: ¿Android SDK es la única opción?

Este es un artículo escrito para la revista eGNUX 4, donde además se publicó un artículo de introducción a jQuery Mobile.

La tendencia informática que marcará los próximos años es la masificación del uso de dispositivos móviles: no sólo para geeks, sino para nuestros padres, hermanos y el público en general. Siendo así, si decidimos construir nuestra primera aplicación móvil lo primero será seleccionar una plataforma y un conjunto de herramientas con las cuales desarrollaremos nuestra aplicación. Aunque la plataforma aparentemente condiciona las herramientas a usar, hay múltiples caminos que exploraremos en este artículo.

Desarrollo nativo y el caso de Android SDK

La primera respuesta que se nos viene a la mente al pensar en desarrollo de aplicaciones para móviles es el desarrollo nativo: apuntar a construir una aplicación exclusivamente para un sistema operativo. En el caso de programadores con predilección por tecnologías Open Source, la opción obvia será crear una aplicación para Android, y eso nos llevará a usar el Android SDK.

Android SDK está compuesto por una serie de librerías y herramientas de desarrollo: depuración, pruebas, documentación, imágenes del sistema, emuladores, código fuente, APIs para integración con servicios de Google y otras utilidades. Puedes conseguir cada uno de los módulos del SDK por separado o en un pack, el ADT Bundle, que incluye Eclipse IDE y un ADT plugin como entorno integrado de desarrollo. Un buen punto de inicio es https://developer.android.com/sdk/index.html.

Aplicación Descubre PUCP

IMAGEN: Aplicación Descubre PUCP, desarrollada para Android y que ofrece características de realidad aumentada para los visitantes del Campus PUCP. Fuente: Google Play.

Desarrollo multiplataforma: la apuesta de PhoneGap

Pero, ¿porqué limitarnos a construir sólo para Android cuando es posible llegar a más usuarios? A fin de cuentas, Android no es la única plataforma hoy en día. Es allí donde entra en juego el desarrollo móvil multiplataforma: construir una sola vez, generar aplicaciones para varias plataformas. Aunque hay múltiples herramientas que nos ayudan en este propósito, la más popular de ellas es PhoneGap.

El principio de PhoneGap es muy simple: construyes una aplicación web móvil usando tecnologías HTML, CSS y JavaScript. Luego, con ayuda de PhoneGap y los SDK de cada plataforma que desees puedes generar aplicaciones para plataformas específicas. En caso requieras acceso a componentes nativos de un dispositivo, PhoneGap proporciona una API en JavaScript con la cual es posible interactuar con componentes como la cámara, acelerómetro, geolocalización, etcétera.

Algo que debes saber es que PhoneGap ahora es una ‘distribución’ de Apache Cordova. Éste proyecto incubado en la Apache Foundation nació con el código base de PhoneGap, liberado de ambigüedades de marcas registradas. Actualmente no hay diferencias entre PhoneGap y Cordova, pero si en algún momento Adobe (actual dueña de PhoneGap) decidiese incluir extensiones propietarias, la base en Cordova seguirá abierta.

IMAGEN: UPC, aplicación para los estudiantes de la Universidad Peruana de Ciencias Aplicadas, y que está disponible en cuatro plataformas móviles. Fuente: Google Play.

IMAGEN: UPC, aplicación para los estudiantes de la Universidad Peruana de Ciencias Aplicadas, y que está disponible en cuatro plataformas móviles. Fuente: Google Play.

No todo es blanco y negro: una tercera alternativa

Estas dos opciones: el desarrollo nativo y el desarrollo multiplataforma tienen por objeto generar aplicaciones para plataformas específicas: Android, iOS, o la que prefieras. Pero hay un tercera vía: el desarrollo web de siempre, sólo que actualizado para smartphones y tablets.

¿Porqué construir aplicaciones web? Hay varias razones: los usuarios de sistemas operativos móviles están familiarizados con el uso cotidiano de sus navegadores (especialmente los de iOS), los desarrolladores web utilizarían tecnologías con las cuales ya están familiarizados, y los navegadores incluidos por defecto en los sistemas operativos móviles actuales tienen buen soporte de tecnologías web modernas. Sobre el último punto puedes revisar más al respecto en http://mobilehtml5.org/.

¿Cómo empezar en el desarrollo web móvil? Aunque puedes usar librerías clásicas de interfaces web como jQuery y Dojo, una herramienta más específica y útil es jQuery Mobile. Está diseñada para brindar una experiencia de usuario similar en distintos móviles, y permite al desarrollador agilizar el desarrollo de interfaces, con lo cual puede centrar su atención en la lógica de la aplicación.

IMAGEN: Británico Web Móvil, sitio de una institución peruana de enseñanza del idioma inglés, construida con jQuery Mobile. Fuente: Captura generada en Firefox Aurora.

IMAGEN: Británico Web Móvil, sitio de una institución peruana de enseñanza del idioma inglés, construida con jQuery Mobile. Fuente: Captura generada en Firefox Aurora.

En conclusión, hay al menos tres formas de construir una aplicación móvil: desarrollo nativo, desarrollo multiplataforma y desarrollo web móvil. Personalmente elegiría una aplicación web móvil, pero aún cuando desees crear una aplicación específica para Android puedes optar por un punto intermedio: una aplicación web móvil, construída rápidamente con jQuery Mobile y empaquetada con PhoneGap.

Anuncios

One response to “Desarrollo abierto para móviles: ¿Android SDK es la única opción?”

  1. Rudis games says :

    Muy interesante el post, yo estoy realizando un juego para android, es una aplicacion web y el archivo apk se genera en eclipse, desconocia lo de jquery y el phonegap.
    Seguire este blog, hay pocos blogs donde se cuenten cosas relevantes sobre desarrollo android

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: