El desarrollo multiplataforma en los dispositivos móviles

Cada vez son más necesarias las aplicaciones móviles tanto en el mundo empresarial como en el sector del entretenimiento. A pesar de esta necesidad, a la hora de desarrollar aplicaciones móviles las empresas están teniendo que enfrentarse a los problemas de la segmentación de los dispositivos y les está obligando a desarrollar la misma aplicación varias veces en diferentes plataformas para cubrir una amplia cuota de mercado.

Esta duplicación de trabajo (normalmente android y iOS) hace que los costes de producción de aplicaciones móviles se disparen y que en algunos casos el desarrollo de las aplicaciones no sea rentable. En estos casos siempre se tiende a desarrollar una única versión de la app y perder una cuota de potenciales usuarios importante con tal de reducir gastos.

Para solucionar estos problemas poco a poco van apareciendo los frameworks de desarrollo de aplicaciones móviles multiplataforma. Con estas herramientas normalmente se desarrolla la aplicación en un lenguaje de programación diferente al que se utilizaría nativamente en las diferentes plataformas y con este código en lo que podríamos llamar un “lenguaje neutro” se llevan a cabo compilaciones específicas sobre cada una de las plataformas móviles. De esta forma, las empresas desarrollan el código una única vez y lo pueden distribuir sin costes adicionales de programación en otras plataformas móviles.

Lógicamente, estas plataformas intermedias de desarrollo no están pensadas para desarrollar aplicaciones punteras que explotan al 100% el potencial de un dispositivo. Estos frameworks están orientados a desarrollar aplicaciones con unos requerimientos técnicos normales, es decir, aplicaciones que no necesitan de implementar sistemas complejos de cómputo, sin necesidad de trabajar en OpenGL con aplicaciones numerosos gráficos y entornos 3D etc… Básicamente estos frameworks, están pensados para desarrollar juegos 2D, o aplicaciones de caracter empresarial, guías turísticas, etc…

Uno de los frameworks típicos para el desarrollo de juegos 2D puede ser Corona SDK. En este framework programamos en un lenguaje de alto nivel llamado LUA (muy sencillo de aprender) y podemos desarrollar aplicaciones y juegos 2D sin ningún tipo de problemas. Corona permite al desarrollador utilizar los diferentes periféricos del dispositivo, dispone de motor físico interno, permite también utilizar elementos de interfaz nativos de las diferentes plataformas y permite trabajar con elementos gráficos de una manera muy sencilla. Una vez tenemos nuestra aplicación funcionando en Corona SDK, se puede llevar a cabo la compilación de la aplicación tanto para android, como iphone/ipad, kindle fire y para el lector de libros electrónicos nook.

Por otro lado, si lo que buscas es un framework pensado para desarrollar aplicaciones más centradas en contenido y estructuración de información, la solución a tus problema puede venir de la mano de Phonegap o App Acelerator. En estos frameworks desarrollas todo el contenido de tu aplicación en HTML5 /CSS y tienes la posibilidad de utilizar javascript para multiplicar las posibilidades de interacción de tu aplicación. Estos frameworks también disponen de acceso a los periféricos de los dispositivos y a la hora de desarrollar tu aplicación tienes la libertad que te proporciona HTML. En el caso de Phonegap por ejemplo, tienes la posibilidad de publicar tus aplicaciones para Android, iPhone/ipad, windows mobile, blackberry, webOs y Bada. ¡Más multiplataforma imposible!

Para terminar, solo decir que al fin y al cabo el uso de frameworks multiplataforma de ninguna manera constituye una piedra angular que hace que todo quede unificado. Lógicamente siempre tendrás que realizar pequeños cambios en el código que realices en cada uno de los frameworks para adaptarlos a las diferentes plataformas correctamente, pero como es obvio, eso pequeños cambios siempre requieren un esfuerzo menor que desarrollar toda la aplicación desde cero en cada una de las plataformas donde quieras publicar tu app.

 

Comentarios desactivados

Introducción a la programación de aplicaciones móviles.

El mercado de las aplicaciones para móviles ha cambiado de una forma radical en los últimos dos años. Al principio, para publicar aplicaciones móviles tenías que disponer del apoyo de una operadora o de una gran firma de juegos, pero con la aparición de los markets de aplicaciones, esto ha cambiado y cualquier persona puede publicar su app y empezar a ganar dinero. Si estás empezando en esto del desarrollo de aplicaciones para móviles, puede que esta entrada te resulte útil, porque vamos a intentar tratar en ella los aspectos fundamentales para comenzar a crear tus propias aplicaciones.

Antes que nada debes plantearte en que plataformas te quieres especializar, a modo orientativo, a continuación te mostramos una gráfica con el volumen de mercado de las diferentes plataformas:

Evolución del mercado móvil

A la vista de la gráfica anterior, puede ser una buena apuesta posicionarte en desarrollar para android o iphone. Esto tiene sus ventajas e inconvenientes. Como ventaja, estas trabajando en un mercado amplio, con demanda (a priori), pero como inconveniente, es un mercado donde hay ya muchísima gente trabajando. Así que otra posible opción es optar por mercados más selectos como RIM o Windows Phone 7. Todo dependerá de como plantees tu estrategía y en que mercado te vas a sentir más cómodo.

Otra alternativa que tienes a la hora de acceder a un mercado, es optar por un sistema de desarrollo multiplataforma. Este tipo de soluciones te van a permitir acceder a múltiples mercados a la vez, pero posiblemente con un sacrificio en el rendimiento de las aplicaciones. Todo depende del tipo de aplicaciones que pretendas desarrollar. Existen algunos frameworks de desarrollo que una vez realizado el código puedes compilarlo y distribuirlo en múltiples plataformas. Normalmente estos frameworks están basados en HTML5 como el caso de PhoneGap, o AppAcelerator o en otros lenguajes de programación como Corona SDK que trabaja usando LUA como lenguaje de programación.

Llegados a este punto es cuando tienes que empezar a leer. Absorbe toda la documentación que encuentres a tu alcance sobre la plataforma por la que te has decidido, consigue toda la información que puedas para aprender los fundamentos y empieza a desarrollar pequeñas aplicaciones que vayan dándote soltura y que te ayuden a ir aprendiendo. Por otro lado, también habla con otros desarrolladores en foros y sigue a todos los blogs que estén relacionados con tus plataformas de desarrollo y está siempre al tanto de todas las novedades.

A continuación a modo de resumen, se relacionan algunos tipos de aplicaciones, y una valoración personal de que se podría utilizar para desarrollarlas:

Juegos:

  • Desarrollo nativo en la plataforma (máximo rendimiento)
  • Corona SDK (Multiplataforma)
  • AndEngine (Android)
  • Cocos 2d (iOS)

Aplicaciones multiventana (información turística, app empresarial, BBDDs, etc…)

  • nativo (Si realmente es necesario)
  • PhoneGap (Multiplataforma con html5)
  • App Acelerator (Multiplataforma con html5)

Aplicaciones de realidad aumentada

  • Desarrollo nativo (máximo rendimiento)
  • Mixare
  • Layar
  • Wikitude

Con esto terminamos esta primera entrada dedicada a los comienzos en el desarrollo de aplicaciones móviles. A esta entrada le seguirá un conjunto de entradas específicas de cada una de las herramientas que hemos nombrado, contando sus principales características. ¿Crees que nos hemos dejado algo atrás?

Comentarios desactivados

Aplicaciones para desarrolladores web en Android

Hoy vamos a hablar de uno de los aspectos que poco a poco empiezan a abrirse paso en las plataformas móviles. Nos referimos a las herramientas para desarrolladores. Vamos a centrarnos hoy viendo algunos de los editores de texto para desarrolladores web que nos encontramos en android:

Android Web Editor

Es un editor de html, css, javascript y php con soporte para subir los ficheros via ftp a nuestro servidor y en la versión de pago (2,23 €) tienes la posibilidad de depurar los ficheros php directamente a través del servidor de los creadores de la aplicación (web del desarrollador).

 

Touchqode

Esta aplicación intenta ir más allá de la programación web y además de soporte para html,css, javascript y php también tiene soporte para Python, C++, C# y Ruby. Dispone de versión gratuita y versión de pago (6,66 €) que además de las funcionalidades mencionadas proporciona acceso directo a tus proyectos en GitHub (solo permite verlos pero no permite hacer el commit). (web del desarrollador)

 

SilverEdit

Muy similar a las aplicaciones anteriores, permite la edición de los ficheros típicos de cualquier entorno web así como hacer el preview de la web en local y subir los ficheros vía ftp. Además presenta una interfaz de usuario muy cuidada e intuitiva. Dispone de versión gratuita y de pago (2,49 €) con funcionalidades adicionales como un selector de colores web o implementación automática de etiquetas HTML5 (web del desarrollador)

 

Mockups for Android

Como su propio nombre indica nos brinda la posibilidad de crear mockups de nuestros diseños directamente desde nuestro terminal móvil. Dispone de versión demo gratuita y versión de pago (4,44€) (web de desarrollador)

 

Esperemos que este goteo de aplicaciones para desarrolladores continue en el market, porque cada vez son más los usuarios que en movilidad necesitan llevar a cabo tareas de programación. ¿Conoces alguna aplicación más relacionada con la programación en Android?

Comentarios desactivados

Concurso de Microsoft sobre Kinect

Desde su salida al mercado Kinect ha sido objetivo de múltiples hackings y modificaciones, ampliando el espectro de aplicaciones del popular dispositivo desarrollado inicialmente por Microsoft para la XBox 360. A pesar de esas modificaciones actualmente son muy pocas las aplicaciones comerciales que se desarrollan sobre Kinect.

Para solucionar esta falta de aplicaciones comerciales sobre Kinect, Microsoft y TechStart han desarrollado un concurso para la creación de Startups centradas en Kinect. El concurso estará abierto hasta el 25 de Enero. Después de esta fecha 10 de los proyectos presentados, serán instalados durante 3 meses en una incubadora empresarial de Microsoft en Seattle y recibirán 20.000$ a modo de capital semilla para iniciar la empresa.

Vía: Techcrunch

Para más información: Web del concurso

Comentarios desactivados

Google libera Ice Cream Sandwich

Lo que llevaba siendo un rumor desde hace ya par de días ha terminado por confirmarse. Google ha confirmado ya la liberación del código fuente de la última versión del sistema operativo Android (versón 4.0) también conocida como Ice Cream Sandwich. el código fuente queda liberado a través del proyecto Android Open Source Project.

El hecho de que Google haya liberado este código fuente va a repercutir positivamente en el mercado ya que multitud de fabricantes que hasta ahora no tenían acceso a lanzar terminales con android, van a poder crear sus dispositivos usando este magnífico sistema operativo.

Con esta noticia de google, ya tenemos una libertad tecnológica de al menos el 50% en los dispositivos móviles, ahora falta que empiecen a verse alternativas hardware libres sobre las que implantar este sistema operativo. Aunque el movimiento arduino empieza a encauzar el mundo del hardware libre todavía queda mucho camino por recorrer para llegar a disponer de terminales móviles 100% libres.

Via: El Androide Libre

Comentarios desactivados