Popular Tools for Cross Platform Mobile Development

It used to be time-consuming to port apps between iOS and Android devices due to differences in the development environments, Xcode and Eclipse ,and the programming languages, Objective C and Java. Plus, there has always been the fragmentation of devices and screen resolutions on Android devices to contend with.

Thankfully, due to several emerging cross platform development environments, it is becoming easier and quicker to develop for both iOS and Android simultaneously. Here are 3 popular tools.

Gideros

Gideros

Gideros allows you to build apps for iOS and Android very quickly from within its easy to use, integrated development environment (IDE). It includes a built in player for rapidly testing your apps on your computer at multiple screen sizes/resolutions – which is very handy when developing for several Android devices. The most useful and innovative feature of the player software, though, is that you can install it onto your iOS or Android device and build your app to it wirelessly. This gives you the ability to modify and test your app immediately, which is a huge time saver.

For game developers, it is worth noting that Gideros includes an implementation of the Box2D physics engine.

Gideros is based upon the Lua scripting language, which is really easy to learn. It is completely free to use but costs $149 per year to remove the Gideros splash screen from your apps.

Gideros Mobile →

Corona SDK

Corona SDK

It is surprisingly easy to get up and running with Corona. Like Gideros, it uses the Lua scripting language which is straightforward to understand. I was quickly able to build an app in my text editor and get it running on the built in Android simulator. Corona also includes the Box2D physics library for game development.

One point to note about Corona – you will need to upload your project to their server in order for it to be compiled into a usable app. With the other development environments mentioned here this is not the case and you are able to create builds on your own computer.

Corona is available on a free unlimited trial but costs $199 per license per year to publish to the App Store and Android marketplace.

Corona Labs →

Unity 3D

Unity 3D

If you are developing a 3D app or, in particular, a 3D game for mobile, Unity is the market leading development environment. It has the ability to build for iOS, Android and the web. Unity has been designed as a visual tool, to reduce the amount of coding you have to do and to make creating apps more intuitive. Instead of writing code you are able to make connections between objects by dragging from one to another. In Unity, you are able to see graphical representations of your objects in 3D. It takes some getting used to, but once you do it becomes much more intuitive than working entirely in code.

For the actual coding, you can choose from a number of scripting languages: JavaScript, C# or Boo. The most commonly used Unity language is JavaScript and, if you come from a web development background, you will probably already be familiar with it – reducing your learning curve.

To run a Unity iOS or Android build on a device you will need to purchase a license, currently priced at $400 per platform. However, unless you buy the Pro version of Unity 3D, currently $1500 per platform, you will see a Unity splash screen every time your app loads.

Unity3D →

Conclusion

In conclusion, if you are considering making a 3D cross platform app then Unity3D is the obvious choice. It is possible to make 2D apps with Unity but, for me, this would be like using a sledgehammer to crack a nut. For 2D apps, my favorite cross platform development environment at the moment is Gideros – primarily for its ease of use, wireless player software and because you can build apps independently, without needing to upload your files to a server.

Author: (1 Posts)

iOS developer Simon Thompson created the hit app Chase The Dot, which has been downloaded over 2 million times. Check out his blog, www.iosdeveloperguide.com a great resource for iOS and mobile development.

  • http://www.facebook.com/profile.php?id=502780454 Miguel Benevides

    Corona for games, titanium (from appcelerator) for apps.

  • detour

    Worth mentioning Moai SDK along with Corona and Gideros. A bit harder to use but very powerful. Crimson Steam Pirates, Strikefleet Omega and the upcoming Shadowrun Returns and DoubleFine Adventures have/are being made with it.

  • http://www.ericbullington.com/ Eric S. Bullington

    Another interesting tool for cross-platform mobile development is Kivy: http://kivy.org

    They use Python as their scripting language, use OpenGL ES as their graphics engine, and claim to run on Linux, Windows, MacOSX, Android and IOS (this appears to be true, although the iOS support appears to be in its infancy).  

    I’m looking into using them for an upcoming project.

    • eryltalbot

      Thanks. I know how to use Python a little.

  • Phong Thai Thanh

    +1 for Gideros.
    All my games so far are made with Gideros: http://www.guava7.com

    (btw, Kivy looks interesting, I’ll check it out :)

  • John

    Don’t forget the key to developing a cross platform app is planning, prototyping & testing. A super quick and intuitive web app for prototyping mobile apps is found at http://www.fluidui.com 
    Enjoy!

  • eryltalbot

    I’ve never heard of Gilderoy before now. I’ll definitely try it out. Thanks. :)

  • http://www.facebook.com/maxime.dubois.792303 Maxime Dubois

    What criteria did you base on to define this list of “popular” tools? I’m in the business for years and had never heard about Gideros before. On the other hand, what about PhoneGap and Titanium, the two best-known cross-platform tools on the market?
    I mean, I understand you want to point up your favorite tool, but in this case maybe you should have called this article “My favorite tools for cross platform mobile development”… ;)

    In addition, you should have a look at NeoMAD (http://neomades.com). A Java based platform that produces native applications for all the major mobile platforms.Best regards.