Creating iOS and Android applications using C# and Unity

If I would be allowed to pick an IDE, a programming language and a platform I would use for the rest of my life, I would clearly pick:

1. Visual Studio
2. C#
3. Unity3d

Although, for a business app developer, finding this combo sounds like utopia – now it is closer than ever. A new RIA platform is on the rise!

Very recently, David Helgason from Unity Technologies announced the next big step for Unity: dropping the price of basic iOS, Android and (future) Blackberry packages to $0 (from the current $400 for each platform).

In their own words, they are “giving away” 3×400 = $1200 worth of application development IDEs.

This will for sure create a big wave because it opens many opportunities for (business app) developers still looking for a great platform to develop for (after the near-death-experience of Flex and Silverlight on the client).

Unity has a great and efficient multiplatform publishing. Driven by the Editor purchases (by game community) Unity makes no compromises when it comes to ease of use, development and publishing. Riding on that wave, I believe that other (non-game) developers could have a huge benefit.

My reasoning is:

1. Unity is a great RIA platform. This judgement is based on testing I made over time. You can check out my experiments made over a year ago at edrivenunity.com.

The only 2 things currently missing with Unity are:

  • an asynchronous programming paradigm
  • an acceptable GUI solution

I made a free / open-source solution called eDriven. It basically turns Unity into an asynchronous programming platform and solves the first problem. After making that switch, the development becomes familiar to programming model used by other client-server technologies.

I also made a eDriven.Gui, which is built on top of the same event-driven / asynchronous core, and it works great in RIA context.

Based on this two facts (plus successful client-server communication between Unity and any kind of server) I believe Unity is the next great RIA platform.

2. The pricing. This is the second important issue. While some (gigantic) companies keep the pricing of their toolsets unreasonable high, Unity’s mantra is to go as low as possible with the price.

  • Unity free is all you need for developing the professional grade business applications
  • Unity iOS and Android (basic) are now free
  • for the coding part, you can choose between great (and free) programming IDEs such as Mono Develop and Visual Studio Express

Nothing is stopping you from starting your own cross-platform business app right now and virtually free (well you’ll need the appropriate computer, and iOS developer license if publishing for iOS, which costs $100/per year).

Then you should make the following steps:

1. Download Unity Editor (free, includes iOS and Android exporters and MonoDevelop)
2. If on Windows, you can choose between MonoDevelop, or Visual Studio Express (both free)
3. Plug in an asynchronous framework like eDriven (free)
4. Pick your favourite GUI framework from the Asset Store (Editor Extensions/GUI)

You are now able to use your current C#/.NET framework experience, combined with a great IDE like Visual Studio (+ ReSharper, my favorite combo) for programming multiplatform client-server applications.

“Develop once – deploy everywhere”. :)

Danko Kozar, June 2013

iPad_003

Posted in News