I've recently done some Java programming for an android app (though my question is not android specific), and was wondering if what I was doing was just a lot less complicated, but generally the same as what a professional mobile app designer would do.

I kind of asssumed that an app designer working for, say, the BBC would use an expensive software package, and maybe a different language.

So my question is what language would they be using? Maybe they would use one that would work for both Android and iOS?

  • Do you mean mobile apps specifically, or computer applications as well? – Daenyth Feb 23 '12 at 16:41
  • @Daenyth I meant mobile. I have updated it. – ACarter Feb 23 '12 at 16:44

There are frameworks/toolkits out there that allow you to develop cross-platform for various mobile platforms, in various languages.

For example, Xamarin's MonoTouch is a framework that allows you to write an app in C# and then build an application for iOS or Android. It's also the only cross-platform kit I know of that allows you to share code for iOS, Android, and Windows Phone.

Corona lets you use Lua, a scripting language, but I think it supports Android and iOS only.

A more specialized platform is Unity, which allows you to use Boo, C#, or an EMCAScript-based (think Javascript) language to build games and target Android, iOS, as well as web browsers and console systems.

If you stick with being platform-specific, the main way to write apps for iOS is Objective-C, though you can also use Objective C++.

On Android, you can write applications in a JVM language like Java, but you can also alternatives like Scala or Clojure if that floats your boat. You can also go native on those respective platforms. Android, for example, provides the Native Development Kit, which allows you to write apps with native code.

For Windows Phone 7, you can use a CLR language. This primarily means C#, but you could also use a more exotic language, like F#.

| improve this answer | |

Barring things like SL4A, all android apps are written in Java, and iOS apps can be written in several languages

Android runs all software on the Dalvik VM, which is an alternative java implementation that strips down some things not appropriate for the system. Android apps are compiled to normal java bytecode and interpreted on the device.

I don't have any experience on iOS architecture beyond the language they use, but I would assume it's something similer. (Someone who does know, feel free to edit that information into here).

| improve this answer | |
  • I was under the impression you could use C (or maybe C++?) for iOS development as well. Have I been lead astray? – Matt Grande Feb 23 '12 at 17:04
  • @MattGrande: Actually it seems you may be right. I edited the answer – Daenyth Feb 23 '12 at 17:10

For android I use Java, and for ipad and iphone people use Objective-C. I think the big picture here is java, not because of android, but blackberry and other SDKs like Samsung is developed by Java. And JavaME was also big one before the android. And there is hybrid applications done with HTML5, CSS, JS. For example http://phonegap.com/

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.