|
I'm venturing in to mobile development, finally, and am targeting Android first as I have a Galaxy S3. I've started with Eclipse but it is a bit clunky and am more comfortable with VS. My question is; since I want to eventually port my app to iOS, is the Xamarin suite of apps worth the cost in the end? I'm using the Mono for Android trial at the moment and a personal license costs $399. A bit steep but it is easier to develop in C# with the (hopefully) easier migration to iOS in the future. I'm using the VS 2012 templates that are installed when I installed the development kit. The documentation is a bit lacking but there are many samples and the community seems well established. So bottom line is would you recommend Java and the Eclipse route or C# with Mono?
|
|
|
|
|
If you're starting a new app... go with Java/Eclipse... You don't know whether Mono will keep getting supported in that platform (since it's not exactly a "native" language) so you might as well start out with what most of the other apps are already written in, Java.
|
|
|
|
|
I had started using Eclipse but also wanted to target iOS. I was using Mono for Android but they want $400 for a license, then another $400 for Mono Touch. That and the fact that I already had to purchase a Mac for iOS development sealed the deal. I decided to go with Titanium for a couple of reasons. The IDE is Eclipse but it also provides easy hooks into the native APIs of the device and everything is written in JavaScript. I am not writing a resource-intensive app and Titanium is well supported by the community, plus there's plenty of resources published by Appacelerator. I contemplated PhoneGap as well since many apps have been written by colleagues but wanted something with a bit more flexibility. Titanium also allows one to target Windows Phone and Blackberry. (in the future)
|
|
|
|
|
Cross platform support for mobile is a pain any way to cut it, probably because most phone manufacturers have the luxury of picking both hardware and software and have no real incentive to support other people's software.
|
|
|
|