Nell’attuale mondo tecnologico le applicazioni native per un solo tipo di dispositivo o un sistema operativo non sono quelle maggiormente sviluppate. Quelle che hanno la quota maggiore del mercato sono quelle multipiattaforma o multisistema, per questo risulta molto importante Marmalade, una tecnologia multipiattaforma e multisistema per creare giochi per cellulari sviluppati con C++ e applicazioni.
Marmalade Technologies Ltd. é una societá creatrice di Marmalade SDK, un kit per creare giochi e software usato dagli sviluppatori per ridurre il tempo e lo sforzo nel creare giochi e applicazioni per differenti sistema operativi e piattaforme. Grazie a SDK di Marmalade si usa lo stesso codice base in tutte le piattaforma compatibili e si puó condividere, integrare e riutilizzare tecnologie e strumenti di terzi. Come esempi pratici noti possiamo citare Piante contro Zombi, Blur Overdrive, Draw Something e GODUS, alcune delle mille applicazioni e giochi creati con Marmalade.
Come funziona Marmalade per creare giochi?
- Scrivi il codice nel IDE preferito (Xcode o Visual Studio)
- Seleziona la tua architettura di destino (ARM, x86, MIPS), compila la tua applicazione e Marmalade si incarica di creare un CPU binario nativo per la tua applicazione.
- Seleziona la piattaforma alla quale hai intenzione di orientare la tua app o gioco e Marmalade combina la CPU nativa dell’applicazione con un “loader” specifico per la piattaforma scelta e crea un pacchetto di applicazioni installabile.
- Marmalade gestisce qualsiasi chiamata della API del sistema operativo e la tua applicazione o gioco sará eseguito come nativo.
Inoltre, il flusso di lavoro con Marmalade è molto semplice: crei il tuo progetto, aggiungi elementi multimedia alla tua app o gioco, lo provi in un simulatore, successivamente lo carichi nel tuo dispositivo e alla fine invii la tua app o gioco al tuo repository.
Software Development Kit di Marmalade
Il kit di sviluppo di software di Marmalade è un insieme di strumenti di sviluppo di giochi o altro tipo di software che permette al programmatore di creare giochi o applicazioni ed è composto da 5 subsistemi:
1 – Marmalade C++
Qui avrai tutto il potere di C++ localizzato per poter programmare sia per una piattaforma, sia per varie. C’è bisogno solo di concentrarsi nel programmare un buon gioco o applicazione e non c’è molto sul preoccuparsi di come funzionerá in altre piattaforme.
Questo ambiente fornisce un grande rendimento, apertura, flessibilitá e facile acceso. Permette di sviluppare in C++ per qualsiasi piattaforma e minimizza la curva di apprendimento per portare questa esperienza a disposizione di qualsiasi sistema operativo o piattaforma.
Possibile mantenere tutti i vantaggi di C ++ nel creare giochi multipiattaforma con elevate prestazioni, apertura, flessibilità e accesso senza precedenti. Grazie alla sua grande flessibilità si può programmare giochi per iOS e Windows.
2 – Marmalade Juice
Marmalade Juice è una nuova tecnologia che offre agli sviluppatori la capacitá di compilare i loro progetti iOS nativi per Android. Con essa non è necessario riscrivere il codice affinché funzioni ugualmente bene in Android. Inoltre, puoi creare giochi con Objective-C e Xcode e compilarlo e esportarlo in tutte le piattaforme e portare il tuo gioco a un nuovo pubblico. Non hai bisogno di riscrivere il codice hai un set di strumenti e una sola codificazione che sfrutta i vantaggi del codice aperto.
3 – Marmalade Quick
Marmalade Quick è disegnato per essere piú rápido e flessibile. Usando Lua, il linguaggio di script piú veloce sul mercato, si ottiene un prodotto di grande portata e completamente multipiattaforma. Nessun altro ambiente RAD offre una ampiezza simultanea di tante piattaforme: con essa puoi sviluppare per Android in un Mac o per iOS da un PC.
Con Marmalade Quick puoi orientare il tuo prodotto finale per iOS, Android, Windows Phone 8, Windows Desktop, Mac Desktop, Tizen, BlackBerry 10, BlackBerry Playbook e Roku.
4 – Marmalade Web
Marmalade Web permette la creazione di applicazioni ibride utilizzando HTML 5, CSS e JavaScript. Queste applicazioni sono confezionate come installatori di applicazioni native, pronte per la loro distribuzione negli app stores. Marmalade Web offre la possibilitá unica di combinare elementi per il web e funzionalitá delle applicazioni native. Questo elemento del SDK è molto ben documentato per gli sviluppatori, questo gli permetterá di creare prodotti originali e di alto rendimento in HTML5, CSS3 e JavaScript con C++ e includere grafici in 3D quando è necessario.
5 – Marmalade Ecosystem
All’interno del SDK hai anche acceso ad una amplia gamma di moduli, servizi, strumenti e estensioni che possono aiutare a arricchire, connettare e monetizzare le tue applicazioni. Marmalade Ecosystem include molte applicazioni fornite dai fornitori di middleware e servizi leader.
E le licenze?
Nel caso di Marmalade esistono vari tipi di licenze. Le licenze gratuite permettono di pubblicare i tuoi prodotti in iOS, Android, Windows Phone, Windows Store, BlackBerry 10 e Tizen, pero ha i suoi limiti in merito alla creazione di applicazioni native e non si puó eliminare la schermata personalizzata di Marmalade.
La licenza Comunitaria permette di pubblicare negli stessi sistemi peró supplisce gli svantaggi della versione gratuita e costa $149 l’anno. La licenza Indie, oltre a pubblicare questi sistema, permette di pubblicare in Roku, Windows Desktop e Mac OS X costa $499 l’anno, peró ha un tempo di risposta del supporto tecnico di 72 ore.
Le licenze Plus permettono di pubblicare in tutte le piattaforme precedenti e anche nei sistemi di TV connessi e ha risposte del supporto tecnico in meno di 72 ore fino a 3 computers dello stesso utente all’anno, qualcosa di molto importante per piccole imprese e costa $1.499.
Le licenze Pro conferiscono gli stessi benefici di quella Plus peró permette il supporto tecnico per 5 computer al mese ed è la unica che permette accesso al codice sorgente di Marmalade, ideale per sviluppatori avanzati. Solo che costa $ 3.500 all’anno.
Vantaggi di Marmalade
- Con Marmalade hai una sola sorgente per la tua applicazione indipendentemente dalla piattaforma
- Puoi integrare facilmente le librerie di terzi
- Puoi compilare la tua applicazione direttamente con le istruzioni di CPU native per dare la massima velocitá nelle tue piattaforme di destino
- Non ci sono macchine virtuali o incroci di linguaggi di programmazione.
- Puoi tornare a implementare l’applicazione per un’altra piattaforma senza dover tornare a compilare.
Gli alti prezzi di qualche licenza possono essere una limitazione per futuri sviluppatori, peró é compensata dalle sue funzionalitá e la possibilitá di usare una licenza gratuita.
In definitiva, Marmalade è una delle opzioni che sará sicuramente usata da imprenditori e grandi imprese nel mondo delle tecnologie e magari senza saperlo giá stiamo usando prodotti fatti con essa nei nostri dispositivi.