In today’s technological world, apps with the largest market share are those who are available on several platforms. Long gone are the days of simply building native apps for a single device type or operating system – in the past you would focus on iOS and hope for the best. This has led to the rise of cross-platform technologies like Marmalade, which is a vital tool for cross-platform app creation developed with C++.
Marmalade Technologies Ltd created Marmalade SDK (a software development kit), in order to reduce time and effort when developers wish to create games and applications for different operating systems and platforms. Not only that but thanks to the Marmalade SDK the same code base can be used on all supported platforms, shared, integrated and technologies reused through third-party tools.
Some popular examples of applications created by Marmalade include the global sensations; Plants vs. Zombies, Blur Overdrive, Godus and Draw Something.
How does Marmalade work?
- The code is written in your favorite IDE (Xcode or Visual Studio)
- Simply select your target architecture (ARM, x86, MIPS), compile your application and Marmalade is responsible for creating a native binary CPU for your application.
- Select the platform you want your app or game to target and Marmalade combines its native CPU application with a specific ‘loader’ to the selected platform and creates an installable application package.
- Marmalade manages any API call operating system and your application or game will run as a native.
The workflow Marmalade is also very simple: you create your project, program in your favorite IDE, add multimedia elements to your app or game, try it in a simulator, then load it onto your device, test it and finally you send your app or game to your repository.
Marmalade Software Development Kit
The software development kit Marmalade is a set of software development tools that allows the developer to create applications or games and is composed of five subsystems:
1 – Marmalade C++
Here you have the full power of C ++ you’re able to either program for one platform or several. You’re able to focus on simply creating a good game or application and not worry if they work on other platforms
This environment provides a high performance, openness, flexibility and easy access. It also allows C ++ development for any platform and minimizes the learning curve in order to bring that experience available to any operating system or platform.
It’s Possible to keep all the advantages of C ++ multiplatform development with high performances, openness, flexibility and unparalleled access. STIs can be programmed with high Flexibility for games on iOS and Windows.
2 – Marmalade Juice
Juice Marmalade is a new technology that enables developers to compile their native iOS Android projects. With this it is no longer necessary to rewrite the code for it to work equally as well on an Android.
You can even develop your application with Objective-C and Xcode and then compile it in order to export it to all platforms – thus enabling you to expose new audiences to your application or game. There is no need to rewrite the code due to it’s single set of tools and singular encoding that takes advantage of open sources.
3 – Marmalade Quick
Quick Marmadale is designed to be fast and flexible. Using Lua (a lightweight multi-paradigm programming language designed as a scripting language with extensible semantics as a primary goal), you are able to achieve faster scripts and powerful product platforms. No other RAD environment provides a simultaneous display of multiple platforms: with it you can develop for Android on a Mac or a PC for iOS.
With Marmalade Quick you can position your final product for iOS, Android, Windows Phone 8, Windows Desktop, Mac Desktop, Tizen, BlackBerry 10, BlackBerry Playbook and Roku.
4 – Marmalade Web
5 – Marmalade Ecosystem
Within the SDK you also have access to a wide range of modules, services, tools and extensions that can help enrich, connect and monetize your applications. The Marmalade Ecosystem includes many integrations provided by middleware providers and leading services.
What about the licenses?
There are several types of licenses available for Marmalade. The Free licenses allows you to post your products on iOS, Android, Windows Phone, Windows Store, BlackBerry 10 and Tizen, however, it has limitations when creating native applications as you are unable to delete the custom screen for Marmalade.
The Community license allows you to publish within the same systems as the free license but makes up for the disadvantages at the costs of $149 per year. The Indie license also allows you to post in Roku, Windows Desktop and Mac OS X, costing a cool $499 per year, with a response time of 72 hours from the technical support team
The Plus licenses allow you to post in all previously mentioned platforms but also in connected TV systems. You also have access to the support responses technical team on up to 3 computers with the same user per year, which is important for small businesses and costs $1499
The Pro license grants the same benefits as the Plus, but can support up to 5 computers per month and is the only one that allows access to the Marmalade source code, ideal for advanced developers. Which is represented in the price – $ 3,500 a year.
Advantages of Marmalade
- Marmalade you have a single source for your application regardless of platform
- You can easily integrate third-party libraries
- You can compile your application directly with native CPU instructions to give maximum speed to your target platforms
- No virtual machines or language cross programming.
- You can re-deploy the application to another platform without having to re-compile
The high prices of some Marmalade licenses can be a stumbling block to future developers, but is compensated by its excellent functionality and the possibility of using a free license.
Marmalade is a tool that is definitely used by entrepreneurs and large companies within the technology industry. Perhaps you’re unknowingly already using products made with Marmalade on your device.