I am considering using MonoTouch for some iPhone development, but payload size is an important factor.
For a user who has never installed Mono on their iPhone before, what would the size of an Objective-C "Hello World" app be compared to a MonoTouch "Hello World" app?
More specifically, what is the approx. number of bytes that need to be downloaded, and what is the approx. number of bytes used once installed?
A "Hello world" program in Objective-C occupies 50 KB (whole .app folder). With MonoTouch, a similar "Hello World" app occupies 5 MB (whole .app folder), which is not bad at all considering it has a runtime with garbage collection in it.
In 1.5 Monotouch
A release build - that is a an application built with a distribution license - and with nothing but the default project settings, is 5 MB. Of that 4.3 MB is the binary executable.
They often rise to up to 10 MB in my experience, and the forums paint the same picture. The appstore reports the unzipped size, however they are downloaded zipped. Zipped it is around 3 MB which, even on a 3G, is fine.
In my view, most people won't look at the filesize before downloading an app, nor particularly care. The appstore limit for 3G downloads is now 20 MB which is well within the MonoTouch size.
To play devil's advocate, yes, it is many orders bigger than the Objective-C equivalent and could scare off a few people worried about occupying 4-10 MB more of their 16 GB space. However there is also time to market and the existing tools available for .NET. I develop and build all my MonoTouch apps in Visual Studio 2010 then test them on the Mac, and I don't think even Apple would argue their IDE is close to the industry leader.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With