Esa es una buena razón por la que los desarrolladores de aplicaciones suelen poner primero la versión iOS de su aplicación: la App Store fue la primera en la escena y sigue siendo muy popular, pero las otras plataformas no deben ser ignoradas. La industria de aplicaciones de Android predijo que alcanzaría las ventas de aplicaciones de iOS en 2017. Una aplicación de Android exitosa en Google Play puede ser tan rentable como una aplicación de iOS en la App Store.
La popularidad de las aplicaciones en dispositivos iOS y Android hace que el desarrollo multiplataforma sea una consideración importante. La capacidad de codificar una vez y construir en todas partes ahorra mucho tiempo, incluso si solo planea desarrollar para iOS y Android. Cuando agrega Windows, Mac y otras plataformas a la mezcla, puede ahorrar mucho tiempo. Sin embargo, el desarrollo multiplataforma viene con una advertencia. A menudo, está bloqueado en un kit de herramientas de terceros, que puede proporcionar limitaciones sobre lo que puede hacer con una aplicación, como no poder usar las últimas funciones de un sistema operativo hasta que su kit de herramientas las admita.
Aquí hay una selección de kits de herramientas que le permiten hacer un desarrollo multiplataforma.
Corona SDK
El popular kit de desarrollo de software (SDK) de plataforma cruzada Corona Labs es compatible con computadoras Windows y Mac y es una excelente manera de desarrollar aplicaciones iOS y Android. Con Corona SDK, crea un proyecto una vez y lo publica en varios dispositivos, como computadoras, teléfonos inteligentes, tabletas y televisores inteligentes.
Corona SDK está dirigido principalmente a juegos en 2D, pero también tiene algunos usos de productividad. Algunos desarrolladores han tenido éxito en el desarrollo de aplicaciones no relacionadas con el juego utilizando el SDK de Corona. La plataforma usa LUA como lenguaje, lo que hace que la codificación sea más rápida que usar los diversos sabores de C flotando, y ya tiene un motor gráfico incorporado.
La mejor parte es que el Corona SDK es gratuito para principiantes y aficionados. Serios creadores y profesionales pagan una cuota mensual. Puede descargar y comenzar a desarrollar juegos y aplicaciones de productividad de inmediato. No es genial si necesita una gran cantidad de entrada de texto por parte del usuario, pero es sólido para la mayoría de los otros usos de productividad y sobresaliente para los gráficos 2D.
Usos principales: Juegos 2D, Productividad
Continuar leyendo a continuación
Unidad
El Corona SDK es excelente para gráficos en 2D, pero si necesita ir en 3D, necesita Unity. De hecho, si planea pasar a 3D en el futuro, Unity puede ser la mejor opción, incluso si su proyecto actual es un juego 2D. Siempre es una buena idea construir un repositorio de código para acelerar la producción futura.
Los juegos de Unity pueden tardar más en desarrollarse, pero Unity es compatible con casi todas las plataformas, incluidas las consolas y los juegos web, que son compatibles con el motor WebGL.
La versión 2018 de Unity agregó plantillas para que pueda comenzar con varios tipos de proyectos, incluidos juegos 2D y 3D. Otras opciones de plantilla incluyen una plantilla de realidad virtual y plantillas de gama alta y ligera. El nuevo Scriptable Render Pipeline (SRP) significa que los desarrolladores y artistas técnicos pueden iniciarse en Unity sin necesidad de dominar C ++. En su lugar, SRP utiliza C # y sombreadores de material.
Uso primario: Juegos 3D
Continuar leyendo a continuación
Cocos2D
Como su nombre indica, Cocos2D es un marco para la construcción de juegos en 2D. Sin embargo, a diferencia de Corona SDK, Cocos 2D no es exactamente una solución de código una vez, compilación en todas partes. Más bien, es una biblioteca que se puede insertar en diferentes plataformas que harán que el código real sea el mismo o similar. Esto hace mucho del trabajo pesado al trasladar un juego de una plataforma a la siguiente, pero aún requiere más trabajo que Corona. Sin embargo, la ventaja es que el resultado está codificado en el idioma nativo, lo que le brinda acceso completo a todas las API del dispositivo sin esperar a que un tercero las incluya.
Diferentes versiones de Cocos2D están disponibles para C ++, JavaScript, C #, Xcode y Objective C, y Python.
Uso primario: Juegos 2D
PhoneGap
PhoneGap aprovecha HTML 5 para desarrollar aplicaciones multiplataforma. La arquitectura básica de esta plataforma es una aplicación HTML 5 que se ejecuta dentro de una vista web en la plataforma nativa. Puede pensar en esto como una aplicación web que se ejecuta dentro de un navegador en el dispositivo, pero en lugar de necesitar un servidor web para alojar la aplicación, el dispositivo también actúa como servidor.
Como puede imaginar, PhoneGap no competirá bien contra Unity, Corona SDK o Cocos en términos de juegos, pero puede superar fácilmente esas plataformas para negocios, productividad y codificación empresarial. La base HTML 5 significa que una empresa puede desarrollar una aplicación web interna y enviarla a los dispositivos.
Los desarrolladores de PhoneGap se benefician de una robusta biblioteca de complementos que amplía las capacidades de las aplicaciones móviles multiplataforma.
PhoneGap también interactúa bien con Sencha, que es una plataforma para crear aplicaciones web.
Uso primario: Productividad y negocios
Continuar leyendo a continuación
Y más…
Corona SDK, Unity, Cocos y PhoneGap representan algunos de los paquetes de desarrollo multiplataforma más populares, pero hay muchas otras opciones. Algunos de estos no son tan robustos, requieren más tiempo para pasar del código a la compilación real o son caros, pero pueden ser adecuados para sus necesidades.
- QT: Una buena opción para aplicaciones empresariales y de productividad, QT ha existido por un tiempo en varias formas. La última versión pone mucho brillo alrededor de una plataforma por lo demás sólida.
- Xamarin: Otra gran opción para las soluciones de no juego, Xamarin usa C # como lenguaje de programación.Xamarin se especializa en el uso de elementos de la interfaz de usuario nativos, por lo que las aplicaciones parecen diseñadas para cada dispositivo en particular.
- Mermelada: Principalmente una plataforma de juegos, Marmalade tiene una herramienta C y Marmalade Quick, una herramienta LUA. Es útil para recompilar juegos de iOS para Android.
- Appcelerator: Si prefiere compilar utilizando JavaScript, Appcelerator puede ser su herramienta. No es una solución perfecta de código una vez que se construye en todas partes; aún tiene mucho trabajo por hacer para compilar dispositivos específicos, pero afirma que puede desarrollarse para cada dispositivo sin compromisos híbridos.