Yo mobile, tú mobile, nosotros mobile…

En los últimos años se ha producido un incremento importante en la cantidad de usuarios de dispositivos móviles.

Basta recordar algunas cifras para entender la magnitud de los usuarios actuales y potenciales que estarán usando en un futuro muy cercano una aplicación en su dispositivo móvil, lea nuestro artículo “El mercado de los dispositivos móviles” del mes de Septiembre de 2012.

A estas estadísticas se suman las tendencias que indican que el mercado de aplicaciones en dispositivos móviles crecerá tanto como Internet dentro de los próximos 7 años, además se espera que 7 de cada 10 teléfonos sean “teléfonos inteligentes” (Smart Phones) para el 2015, así como el hecho de que las aplicaciones impulsan la compra de teléfonos inteligentes ya están cambiando
los hábitos de consumo.


¿Y Usted qué está haciendo en su organización para aprovechar este nuevo medio tecnológico?

Si ya decidió incursionar en este ambiente tecnológico va a tener que tomar algunas decisiones técnicas al respecto, ejemplo de ellas son:

dispositivos-moviles

  • ¿Está mi organización preparada para estar en ese ambiente personalizado?
  • ¿Qué tipo de aplicaciones estoy interesado en desarrollar?
  • ¿Solo estamos interesados en aspectos de mercadotecnia?
  • Si estamos interesados en desarrollar algunas aplicaciones, ¿Qué herramientas deberé de usar? ¿Nativo para iOS o Android o genérico con HTML5 o híbrido? ¿Debo usar herramientas multiplataforma (Cross-Platform Tools (CPTs)?
  • ¿Es verdad que la metodología de desarrollo cambia mucho en estos ambientes?

Analicemos

Permítame iniciar este artículo recordando lo que opinan algunos expertos: “El desarrollo web complementa al desarrollo móvil, permitiendo que el usuario continúe usando su aplicación también en internet y no solo en su dispositivo.”

Aplicaciones web para móviles

Todos los teléfonos inteligentes tienen un navegador basado en HTML5, por lo que podemos desarrollar una aplicación web y ejecutarla desde el navegador de estos teléfonos sin mayor problema.

Ventajas

  • Diseño simple
    Considerando un diseño adaptado a una pantalla pequeña con menor resolución podemos diseñar la navegación en estos dispositivos. Se puede manejar una hoja de estilos (CSS) para cada dispositivo. Habrá que adaptar estas aplicaciones web para que parezcan aplicaciones nativas con los elementos visuales (icono, barra de estado, etc.).
  • Implementación simple
    Podemos usar nuestro lenguaje (Java, Phyton, PHP, etc.) favorito para desarrollar las aplicaciones web sabiendo de antemano que se verá igual en cualquier dispositivo final.
  • Seguridad
    Depende enteramente de los mecanismos de acceso y actualización que se tengan implementados en tu organización, no requieres cumplir con las políticas de los repositorios comerciales ni pones en riesgo la propiedad de tu aplicación.

 

Desventajas

mobile-trends

  • Uso de APIs Nativas
    No hay acceso completo a todas las APIs nativas del móvil, una API te permite acceder a una funcionalidad específica del dispositivo, como el envío de un correo. Y, aunque la cámara y el micrófono son accesibles con Flash, esta herramienta está vetada en iOS. También es posible acceder a APIs del móvil con HTML5 y JavaScript pero no es en tiempo real ni es eficiente. Imaginemos usar el acelerómetro, la brújula o el acceso a coordenadas GPS para ubicación, el resultado sería una percepción muy mala por el usuario final.
  • ¿Y el URL?
    Para ejecutar una aplicación en un dispositivo móvil, es necesario que se abra el navegador y se teclee la URL. Y aunque Usted la haya incluido en favoritos, será complicado y difícil decirle a todo el mundo que haga esto. Difícil de acceder implica caer en desuso. ¿Quién nos acostumbró a los iconos? La respuesta quizás sea la simplicidad.
  • Velocidad
    Interpretar JavaScript o HTML5 será más lento, sin duda alguna, que ejecutar una aplicación nativa. Cualquier retraso, por pequeño que sea, ya sea una recarga de una página o un acceso, causará una mal impresión en nuestros usuarios finales. Una aplicación nativa ejecuta todo en forma local y solo accederá al servidor cuando demande por un intercambio de datos. Así que, una aplicación web será más lenta que una aplicación nativa siempre.
  • Descarga y Actualización
    Si un usuario final se registró en cualquier repositorio de aplicaciones (Ejemplo: AppStore), le bastará con proporcionar su contraseña y confirmar la compra de su aplicación. En cambio, hacerlo como una aplicación web lo obligaría a proporcionar o confirmar todos sus datos como el nombre, número de tarjeta de crédito, dirección, etc. ¿Usted qué prefiere entre estos dos métodos? Por algo ha de ser que existan tantos mercados de aplicaciones como AppStore de Apple, Chrome Web Store de Google, Google Apps Marketplace, Android Market, Amazon Appstore, OpenAppMkt y los que se acumulen esta semana. Si Usted cree que su aplicación será tan popular que pueda competir con estos mercados de aplicaciones, entonces deberá ser fabulosa.

Ambiente de Desarrollo de aplicaciones móviles

Si ya vio nuestro artículo del mercado de los dispositivos móviles, estamos seguros que decidirá crear su aplicación para iOS o para Android o ambas. Veamos estas plataformas.

Cada plataforma tiene su propio lenguaje, herramientas de desarrollo y APIs con los que crear aplicaciones. Aquí vamos a revisar solo las más importantes: iOS y Android. Demos un breve repaso a cada uno de ellas.

El Mundo Apple

 Apple

¿Las desventajas de las aplicaciones web le orillaron a desarrollar para su iOS? Aquí lo más importante que debe saber sobre el desarrollo nativo para iOS:

Si Usted desea que su aplicación ejecute en forma nativa en IPhone, IPad o IPod Touch, deberá usar el lenguaje Objective-C en un entorno recomendado de Xcode. Con este entorno de desarrollo podemos crear aplicaciones para Mac y para iOS. Existen algunas herramientas para crear aplicaciones en IPhone como Appcelerator, Corona y PhoneGap y que utilizan Xcode para dejar la versión ejecutable, aunque existen herramientas como Flex que no lo utilizan.

Considere el costo de distribuir aplicaciones en el App Store dentro de su plan de inversiones. Algunos desarrolladores consideran complejo el desarrollo sobre Objective-C, además de que se debe desarrollar usando un entorno de Mac.

El Mundo Google

Android

Si ya decidió que su aplicación ejecutará sobre el mundo de los dispositivos Android, aquí le mencionamos algunas cosas que deberá considerar:

Si su intención es liberar una versión para Android, las opciones son más simples y accesibles. Aquí no se nos obliga a desarrollar en un entorno Mac, ya que puede usar el lenguaje Java y un SDK multiplataforma que funciona en Linux, Windows y Mac. Muchos desarrolladores opinan que es más fácil de programar en Java que en Objective-C. Existen varias alternativas para simular el entorno de desarrollo, la mayoría de distribución libre y gratuita.


Desarrollo móvil multiplataforma

¿Recuerda las CPTs que le mencionamos al principio del artículo? Aquí le mencionamos algunas herramientas del mercado que sin llegar a generar un código nativo son una alternativa de tipo “híbrido” entre el desarrollo en ambiente web y el desarrollo en herramientas nativas.

Tanto iOS y Android se adjudican diferentes títulos como “la mayor cantidad de aplicaciones de paga está en el App Store” y cosas parecidas, así que, aquí analizaremos qué hacer cuando quiero que mi aplicación corra en ambas plataformas pero no quiero hacer doble desarrollo ni tener doble mantenimiento de mis aplicaciones. Existen en el mercado algunas herramientas que nos permiten hacer esto. A continuación haremos una mención muy breve de algunas de ellas.

PhoneGapTitanium Appcelerator y Ansca Corona, que nos permiten construir aplicaciones usando otros lenguajes como JavaScript y Lua, aunque requieren Mac y Xcode aunque sea de manera muy limitada.

¿Te interesa adentrarte más en el tema? Lee nuestro artículo completo descargando el PDF.

descargar-pdf


En Northware® podemos apoyarle para el desarrollo de su nueva generación de aplicaciones en dispositivos móviles, por favor contáctanos para acelerar este proceso.

Somos una empresa especialista en desarrollo de aplicaciones, base de datos y aplicaciones para dispositivos móviles.

Desarrollamos software basado en Microsoft .net, java, iOS, Android y Windows Phone; y para aquellas empresas que sólo requieren la contratación directa de especialistas, proveemos consultores por proyecto, temporales o fijos con experiencia en las tecnologías más avanzadas para apoyar tú estrategia en sistemas de información y desarrollo de software.