aplicaciones de desarrollo multiplataforma

¿Qué son las aplicaciones de desarrollo multiplataforma?

Carlos Yañez

12-07-2021

El desarrollo de aplicaciones para dispositivos móviles es algo que tiene mucho mercado, ya que constantemente se publican nuevas aplicaciones.

La forma en que se desarrollan ha evolucionado a lo largo de los años con el fin de poder optimizar los costes y generar desarrollos válidos para los diferentes sistemas operativos del mercado, principalmente Android y iOS.

Si estás interesado en el estudio del desarrollo de aplicaciones multiplataforma en el post anterior ¿Por qué estudiar Desarrollo de Aplicaciones Multiplataforma? Te explicamos cómo hacerlo y por qué es una buena opción de formación.

Qué son Apps multiplataforma

El post de hoy gira en torno a las aplicaciones multiplataforma, por ello es importante saber a qué nos estamos refiriendo cuando hablamos de este tipo de aplicaciones para dispositivos móviles.

Definimos como aplicaciones móviles multiplataforma a aquellas que se desarrollan en un lenguaje de programación general, no específico de una plataforma concreta, y que luego se pueden compilar y/o exportar a cualquier plataforma o dispositivo con unos cambios mínimos para garantizar su ejecución, pero sin necesidad de una adaptación total de esta.

Este tipo de desarrollos es una manera de abaratar costes de desarrollo y mantenimiento, puesto que generar aplicaciones móviles de forma nativa implica programar en diferentes lenguajes y entornos para cada sistema operativo (iOS, Android, Windows…) lo cual puede llegar a multiplicar el coste de desarrollo por casi el doble.

Además de ser aplicaciones desarrolladas en un lenguaje común para ejecutarse en diferentes sistemas operativos, también el desarrollo se centra en que sea óptimo para visualizar en distintos dispositivos de distintos tamaños, ya sean tabletas o smartphones.

Características de las Apps multiplataforma

Dentro del desarrollo de aplicaciones multiplataforma, nos podemos encontrar básicamente con tres tipos de aplicaciones:

  • Desarrollo de WebApps con HTML5
  • Desarrollo de aplicaciones híbridas:
  • Desarrollo de aplicaciones compiladas

Veamos a continuación las características de cada uno de estos tres tipos de aplicaciones multiplataforma.

El desarrollo con HTML5, es posiblemente la estrategia más recomendada y fácil, ya que mediante las API de HTML5, JavaScript y CSS podemos casi garantizar que nuestro desarrollo va a funcionar sobre cualquier dispositivo que disponga de un navegador web basado en WebKit.

Si nos decantamos por este tipo de desarrollo tendremos dos tipos de entornos de desarrollo adecuados:

Usar cualquier entorno de desarrollo JavaScript para el frontend, como Backbone.js, Angular, React, Ember.js, … Junto con algún entorno de desarrollo CSS como Ratchet o TopCoat.

Usar un entorno de desarrollo que dispongan de un catálogo de componentes especializados en interfaces móviles, como podrían ser Ionic Framework, Onsen UI, Framework7 o Sencha Touch.

La primera opción está más orientada a aplicaciones web adaptativas que deban funcionar en sobremesa y en dispositivo móvil. La segunda opción es más usada en desarrollo de aplicaciones únicamente enfocadas a dispositivos móviles y probablemente candidatas a ser encapsuladas como aplicaciones híbridas.

Otra de las opciones de desarrollo para aplicaciones multiplataforma es el desarrollo de aplicaciones híbridas. Las aplicaciones híbridas son aplicaciones HTML5, JavaScript y CSS que encapsulamos en una aplicación nativa.

La diferencia con las aplicaciones HTML5 vistas anteriormente es que en vez de ejecutarse en el navegador del dispositivo lo hacen en un componente nativo WebView.

Este tipo de desarrollo se encarga de montar el componente WebView y cargar dentro nuestra aplicación, además de ofrecer los mecanismos para comunicar la aplicación JavaScript con la parte nativa, y de esta forma ofrecer funcionalidades que dentro de un navegador no es posible ofrecer, pues podremos acceder a cualquier API nativa que nos ofrezca cada SDK.

Por último, podemos desarrollar nuestra aplicación multiplataforma mediante un desarrollo de aplicación compilada. Entendemos como aplicaciones compiladas aquellas que han sido desarrolladas con un entorno de desarrollo capaz de generar código nativo a partir de código escrito en lenguajes como JavaScript, C#, Python, etc.

La aplicación parecerá nativa, pero estará desarrollada bajo una única capa de abstracción y lenguaje de programación comunes. Con este tipo de desarrollo desaparecen las limitaciones teóricas a la hora de acceder a cualquier librería o componente nativo ofrecido por cada plataforma soportada.

Cualquiera de las tres opciones de desarrollo comporta ventajas e inconvenientes por lo que ninguna de ellas puede considerarse mejor que otras, aunque sí que es cierto es que últimamente la tendencia es el desarrollo de aplicaciones mediante WebApps, ya que sus ventajas son mayores que los inconvenientes en referencia al resto de opciones que hemos revisado.

Ahora es cosa tuya elegir el tipo de desarrollo y el entorno de programación. En este sentido qué opción elegirías para desarrollar tu aplicación multiplataforma.

 

Profile picture for user Carlos Yañez
Carlos Yañez

Ingeniero Superior de Telecomunicaciones por la UPC. Director de Informática en un Laboratorio de Análisis con implantación nacional. Profesor de los cursos de Electrónica y Técnico en Sistemas Microinformaticos y Redes.

FP de Grado Superior en Desarrollo de Aplicaciones Web

en FP de Grado Superior / Informática y Tecnología

Consigue ahora tu título de FP de Grado Superior de Desarrollo de Aplicaciones Web con la mejor preparación a pruebas libres.

1.500 Horas

Videotutoriales

Prácticas Profesionales

Solicitar información