Post a Comment
What, and add a bunch of bloat to my app? No thanks. The default system APIs can already add enough of that and, especially in the case of Android apps, they really don't need to be any slower. Write once, run everywhere doesn't really work as well as most people seem to think.
What bloat? Size? Performance? I've found it adds a few MBs to size, but performance isn't really severely impacted.
Start up? Slightly, but you can get around that in well documented ways.
The upside? The Mono JIT is dramatically FASTER than Dalvik. So, no, actually, if anything it makes your app more responsive.
Plus, write once run anywhere was never the intention. The intention is code sharing. Write platform agnostic back end code and write a native front end for Android, iOS, Windows Phone, Windows 8, WPF, and OSX (MonoMac or Silverlight)
.NET is the only platform enabling actual, real world, non made up, cross platform developer productivity.
It'd help if you tried it once in a while.
Using Mono in Android means running two VM alonside each other with lots of marshling between VM, because your .NET application needs to make use of the DalvikVM APIs.
Just code the core of your application in C or C++, and make use of the platform native UI for the best user experience.
As for WP7, just let it die, as WP8 also supports C++.
Have you actually used it and run into these supposed performance problems? Ive used it, and I haven't.
Just code the core of your application in C or C++, and make use of the platform native UI for the best user experience.
As for WP7, just let it die, as WP8 also supports C++.
Yeah, no. To do that, you'd still need JNI on Android, and a Cocoa bride on iOS since key APIs are not available as native interfaces.
You're doing the same bridging that Mono does, albeit without the slight double GC perf impact.
Also, nice little pot shot at WP7, but it has over 100,000 apps, and moving forward, C# will still be the majority language (as it is for Windows 8 apps).
Seriously, I don't get the Mono and C# bashing. Sure, maybe if you felt like hurting your productivity enough, you could use C++, but Mono has been proven to work in the real world.
Have you actually used it and run into these supposed performance problems? Ive used it, and I haven't. "
How many devices have you tried it on?
Actually you might find this talk interesting,
http://vimeo.com/43529195
Just code the core of your application in C or C++, and make use of the platform native UI for the best user experience.
As for WP7, just let it die, as WP8 also supports C++.
Yeah, no. To do that, you'd still need JNI on Android, and a Cocoa bride on iOS since key APIs are not available as native interfaces.
You're doing the same bridging that Mono does, albeit without the slight double GC perf impact. "
In Android's case JNI is an issue, but not as much as with Mono.
See Andreia's talk, there are some exposed APIs that go multiple times between VMs.
In iOS there is no marshalling happening.
In Germany, the only person I've seen carrying a WP7 mobile outside a store, was a guy I've met that works for a startup that develops WP7 games.
Don't take it wrongly. Personally my only issue is that Mono/C# is promoted as the only way to achieve portability of native application across mobile platforms, when actually other solutions do exist, depending on what platforms are valuable to target.
What, and add a bunch of bloat to my app? No thanks. The default system APIs can already add enough of that and, especially in the case of Android apps, they really don't need to be any slower. Write once, run everywhere doesn't really work as well as most people seem to think.
Meanwhile & pushing aside prejudices, the facts seem to be that ~Mono is the way which quite possibly gives most straightforward multi-platform capabilities with nice performance (adequate for that most demanding category: games), and numerous multi-platform examples in appstores - some of them quite high-profile (Bastion, for example - Xbox, Windows, iOS, OSX, Linux Humble Bundle)
http://monogame.codeplex.com/
Edited 2012-09-14 05:48 UTC
I am rather dubious when it comes to code translators from one language to another, but still, it's an interesting idea and I'll have to give it a whirl just for kicks if nothing else. A part of me can't help but remember that old Pascal to C translator and the god awful results that gave. Anyone else remember playing with that?
Except that Go does not seem to be that used by Google.
It is only part of Google App Engine, because the Go team is doing this work, not the Google App Engine team.
For me it appears to be a political decision not to support Go on Android, since the Go team has Go builds for Android.
Actually, I think that interpreted languages sort of make more sense for mobile phones, due to the large amount of SoCs that apps will have to run on.
Apple's native code approach only works because there only is a handful of devices to target, with similar underlying hardware.
Very cool, but your data access layer would have to be self-written/managed on both platforms. It's obviously not going to translate the Android content provider API, and I don't see how it could work with iOS' CoreData, so you'd have to manually do your DB data reading/writing code, right? That sounds like you'd end up with a horrible Frankenstein app, but I don't know. If Google is using it on some of its iOS apps (would love to know which), there must be a way to do that better.
For projects without huge resources, it sounds great. But ideally you'd write each app from scratch. I have no idea why Google would be using this itself.
And for all the people talking about MonoTouch: hahahahahaha.
Edited 2012-09-14 15:58 UTC




