Sunday, May 6, 2012

Alternatives to Objective-C that target iOS

While some have fun with Objective-C and despite neat features like automatic reference counting I have no deep love for the language.   So I started looking for some alternatives to target iOS devices.  So far my list is very short:
  • RubyMotion – based on MacRuby is a Ruby implementation built in Objective-C.  The backend is a LLVM derived compiler that emits iOS native code.
  • MonoTouch – from Xamarin, the developers of Mono, it’s a version of C# that targets iOS.  They also have developed Mono for Android so there is the possibility of sharing some code between platforms.
  • RoboVM - translates Java bytecode into native ARM or x86.  One advantage RoboVM has over RubyMotion and MonoTouch is that source is available at GitHub robovm/robovm.
WikiPedia has a longer list of platform development environments in a  Mobile application development article.  Also, Simone D’Amico summarizes several cross-platform mobile development SDKs.  Finally, there are some mutterings around about developing with other languages, besides MacRuby,  then emitting iOS binaries via the LLVM middle-end optimizers and LLVM back-end code generators.

No comments: