height='66'desarrollo de aplicaciones móviles multiplataforma, lo bueno, lo malo, lo feo...


A lo largo de estos últimos dos años hemos visto como en el ámbito de desarrollo de aplicaciones móviles, las herramientas multiplataforma han jugado un papel interesante para muchos programadores abrumados por la cantidad de diferentes lenguajes, APIS y kits de desarrollo propuestos por las diferentes plataformas móviles, quienes queriendo quizás adoptar un estándard se encuentran con que el mismo aún no existe.

Al querer abarcar mayor cantidad de público para sus aplicaciones, los desarrolladores se encuentran con por lo menos tres o cuatro diferentes plataformas, cada una con un sistema operativo, lenguaje de programación y un kit de desarrollo completamente diferente, por lo que en muchos casos en vez de dedicarse al desarrollo de aplicaciones nativas para cada sistema, optan por desarrollar con herramientas multiplataforma como Apache Cordova/PhoneGapAppcelerator's Titanium, Sencha Touch y otras.

Desarrollo de aplicaciones móviles multiplataforma

Aún así no todo lo que brilla es oro, y existe una larga lista de asuntos pendientes por aprobación que hacen de las aplicaciones desarrolladas con esta técnica algo como una especie "secundaria". Indudablemente la opción de desarrollar con esta técnica depende directamente del tipo de aplicación a desarrollar y del propósito específico de cada equipo de desarrollo.

Los pros del desarrollo multiplataforma de aplicaciones móviles pueden resumierse en los siguientes:

  • Código reutilizable: 
    Solo tienes que escribir el código una vez y aplicarlo en cada plataforma. Esto indudablemente significa una reducción drástica de tiempo y esfuerzo a la hora de calcular los costos de desarrollo.

  • Fácil acceso a Plug-ins:
    Los principales entornos de trabajo le permitirán utilizar extensiones y módulos para mejorar el alcance funcional de su aplicación.

  • Facilidad de trabajo en grupo: 
    La gran mayoría de los entornos de trabajo multiplataforma utilizan Javascript, HTML5 y CSS3, haciendo más sencillo el proceso de aprendizaje y la comunicación entre desarrolladores ya que estos son estándares muy conocidos y ampliamente utilizados.

  • Reducción de costes:
    Aunque ya mencionamos esto de pasada en el primer punto, la razón primordial de este punto es la no dependencia de programadores específicos para cada ecosistema y por consiguiente el pago por separado por cada versión de la aplicación según sistema operativo.

  • Integración con la nube:
    Marcos de desarrollo como PhoneGap, Secha y Titanium ofrecen una fácil integración con los servicios de nube, lo que significa que una vez llevado a código el proceso, cualquier versión de la aplicación manejará esta integración casi transparentemente.

Los contras del desarrollo multiplataforma de aplicaciones móviles también deben tomarse en cuenta:

  • Su aplicación podría no soportar todas las características esperadas para cada sistema operativo:
    Este es un serio problema con las aplicaciones multiplataforma, o bien se tienen que ajustar a la velocidad con la que el entorno multiplataforma se adapte a los nuevos cambios en las versiones de los sistemas operativos, o simplemente hay opciones que no existen o no soporta un sistema operativo determinado. El típico problema de tener que escojer el mínimo común divisor, o decidir fragmentar el código en opciones diferentes para cada sistema operativo.

  • Restricción de la herramienta:
    En algunos casos por ejemplo en el caso de adoptar librerías de terceros, sobretodo aquellas desarrolladas para lectores de tarjetas, impresoras y componentes externos hay serias limitaciones que en las aplicaciones nativas simplemente no existen.

  • Su código podría ser algo más lento:
    Generalmente el código generado en este tipo de herramientas se apoya en una "traducción" a código nativo, pero en ocasiones el intérprete debe trabajar en tiempo real, haciendo que exista una capa adicional de procesamiento y por ende el código ejecutado sea algo más lento.

  • Carecen de gráficos y soporte para 3D:
    Si piensa desarrollar algún tipo de juego 3D, definitivamente estas herramientas no son la mejor solución.

  • Alta dependencia del prooveedor:
    La mayoría de los entornos de desarrollo multiplataforma usan su propio sub-conjunto JavaScript. Esto significa que si en un futuro deseara cambiar de herramienta le sería bastante difícil.


En conclusión, queda claro que los entornos de desarrollo "híbridos" tienen aún muchos retos por delante, pero si dentro de las necesidades de su empresa no se afectan por los inconvenientes de este tipo de herramienta, pueden ser una buena opción si se necesita una solución rápida y económica. 

Redactado por Mauro Maulini R.









Regresar al listado de artículos »




Nuestros serviciosnuestros servicios
Contácte SharpMind Software¿está usted interesado?
Contáctenos de inmediato y nuestro personal calificado le responderá a la brevedad posible.

Nombre y Apellido
Correo electrónico
Contácte SharpMind Softwarereciba nuestros artículos
RegistreseManténgase informado y reciba artículos especializados  en nuestros boletines...

Nombre y Apellido
Correo electrónico