En el mundo tecnológico actual las aplicaciones nativas para un solo tipo de dispositivo o un sistema operativo no son las de mayor desarrollo de juegos; las que tienen la mayor cuota del mercado son aquellas multiplataforma y multisistema, por eso es tan importante Marmalade, una tecnología multiplataforma para la creación de aplicaciones y juegos desarrollados con C++.
Marmalade Technologies Ltd. es la compañía creadora de Marmalade SDK, un kit de desarrollo de juegos y de software usado por desarrolladores para reducir tiempo y esfuerzo en la creación de juegos y aplicaciones para diferentes sistemas operativos y plataformas. Gracias a la SDK de Marmalade se usa el mismo código base en todas las plataformas compatibles y se puede compartir, integrar y reutilizar tecnologías y herramientas de terceros.
Como ejemplos prácticos de renombre podemos ver Plantas contra Zombis, Blur Overdrive, Draw Something y GODUS, algunos de los miles de juegos y aplicaciones creadas con Marmalade.
¿Cómo funciona Marmalade para el desarrollo de juegos?
- Escribes el código en tu IDE preferido (Xcode o Visual Studio)
- Seleccionas tu arquitectura destino (ARM, x86, MIPS), compilas tu aplicación y Marmalade se encarga de crear un CPU binario nativo para tu aplicación.
- Seleccionas la plataforma a la que deseas orientar tu app o juego y Marmalade combina la CPU nativa de la aplicación con un ‘loader’ específico para la plataforma escogida y crea un paquete de aplicación instalable.
- Marmalade arregla cualquier llamada de la API del sistema operativo y tu aplicación o juego se ejecutará como nativa.
El flujo de trabajo con Marmalade también es muy sencillo: creas tu proyecto, programas en tu IDE preferido, agregas elementos multimedia a tu app o juego, lo pruebas en un simulador, luego lo cargas en tu dispositivo, lo pruebas y por último envías tu app o juego a tu repositorio.
Software Development Kit de Marmalade
El kit de desarrollo de software de Marmalade es un conjunto de herramientas de desarrollo de juegos y otro tipo software que le permite al programador crear aplicaciones o juegos y está compuesto por 5 subsistemas:
1 – Marmalade C++
Aquí tendrás todo el poder de C++ localizado, ya sea para programar para una plataforma o para varias. Solo hay que concentrarse en programar un buen juego o aplicación y no hay que preocuparse mucho de como funcionará en otras plataformas.
Este entorno provee un gran rendimiento, apertura, flexibilidad y fácil acceso. Permite desarrollar en C++ para cualquier plataforma y minimiza la curva de aprendizaje para llevar esa experiencia existente a cualquier sistema operativo o plataforma.
Posibilita mantener todas las ventajas de C++ en desarrollo de jugos multiplataforma con un alto rendimiento, apertura, flexibilidad y acceso sin igual. Por su gran flexibilidad se puede programar juegos para iOS y Windows.
2 – Marmalade Juice
Marmalade Juice es una nueva tecnología que ofrece a los desarrolladores la capacidad de compilar sus proyectos iOS nativos para Android. Con ella ya no es necesario reescribir el código para que funcione igual de bien en Android.
Incluso puedes crear juegos con Objective-C y Xcode y compilarlo y exportarlo para todas las plataformas y llevar luego tu juego a un nuevo público. No necesitas reescribir código pues tiene un solo set de herramientas y una sola codificación que aprovecha las ventajas del código abierto.
3 – Marmalade Quick
Marmalade Quick está diseñado para ser rápido y flexible. Usando Lua, el lenguaje de script más rápido en el mercado, se logra un producto de gran alcance y completamente multiplataforma. Ningún otro entorno RAD ofrece un despliegue simultáneo de tantas plataformas: con ella puedes desarrollar para Android en un Mac o para iOS desde un PC.
Con Marmalade Quick puedes orientar tu producto final para iOS, Android, Windows Phone 8, Windows Desktop, Mac Desktop, Tizen, BlackBerry 10, BlackBerry Playbook y Roku.
4 – Marmalade Web
Marmalade Web permite la creación de aplicaciones híbridas utilizando HTML 5, CSS y JavaScript. Estas aplicaciones se empaquetan como instaladores de aplicaciones nativas, listos para su despliegue en las tiendas de aplicaciones.
Ofrece una posibilidad única de combinar elementos para la web y las funcionalidades de las aplicaciones nativas. Este elemento del SDK está muy bien documentado para los desarrolladores, esto les permitirá crear productos originales y de alto rendimiento en HTML5, CSS3 y JavaScript con C++e incluir gráficos en 3D cuando sea necesario.
5 – Marmalade Ecosystem
Dentro del SDK también tienes acceso a una amplia gama de módulos, servicios, herramientas y extensiones que pueden ayudar a enriquecer, conectar y monetizar tus aplicaciones. El Ecosistema Marmalade incluye muchas integraciones proporcionadas por los proveedores de middleware y servicios líderes.
¿Y las licencias?
En el caso de Marmalade existen varios tipos de licencias. Las licencias Gratis permiten publicar tus productos en iOS, Android, Windows Phone, Windows Store, BlackBerry 10 y Tizen, pero tiene sus limitaciones en cuanto la creación de aplicaciones nativas y no se puede eliminar la pantalla personalizada de Marmalade.
La licencia Comunitaria permite publicar en los mismos sistemas pero suple las desventajas de la gratis y cuesta 149 USD al año. La licencia Indie además de estos sistemas permite publicar en Roku, Windows Desktop y Mac OS X, cuesta 499 USD al año, pero tiene un tiempo de respuesta del soporte técnico de 72 horas.
La licencias Plus permiten publicar en todas las plataformas anteriores pero también en los sistemas de TV conectados y permite respuestas del soporte técnico en menos de 72 horas hasta para 3 ordenadores de un mismo usuario al año, algo muy importante para pequeñas empresas y cuesta 1 499 USD.
Las licencias Pro otorgan los mismos beneficios que la Plus, pero permite soporte técnico para 5 ordenadores al mes y es la única que permite acceso al código fuente de Marmalade, algo ideal para desarrolladores avanzados. Solo que cuesta 3.500 USD al año.
Ventajas de Marmalade
- Con Marmalade tienes una sola fuente para tu aplicación independientemente de la plataforma
- Puedes integrar fácilmente las bibliotecas de terceros
- Puedes compilar tu aplicación directamente con las instrucciones de CPU nativas para dar la máxima velocidad en tus plataformas de destino
- No hay máquinas virtuales o cruces de lenguajes de programación.
- Puedes volver a implementar la aplicación para otra plataforma sin tener que volver a compilar
Los altos precios de algunas licencias de Marmalade pueden que sean una limitante para futuros desarrolladores, pero es compensada por sus funcionalidades y la posibilidad de usar una licencia Gratis.
Definitivamente Marmalade es una de las opciones que seguro será usada por emprendedores y por grandes compañías en el mundo de las tecnologías, y quizás sin saberlo ya estamos usando productos hechos con ella en nuestros dispositivos.