I think the best description of your choice would be between MonoTouch (created by Xamarin) and PhoneGap (which provides the native HTML5 shell). Both generate their own applications. Both work on multiple platforms. Both allow you to connect external Objective-C libraries.
If external libraries are needed - I think PhoneGap may be more platform independent than MonoTouch. I just did the iOS development, but I believe that the Android Mono libraries are structured somewhat differently, so it is not wise to have the same codebase for the user interface part of your application. But in this case, you can just stick with HTML5 and put all the code on the server.
If you need to connect in external libraries, I found PhoneGap much easier than MonoTouch. I can create a PhoneGap project in the same Xcode workspace as the rest of my code, and everything just compiles and debugs. In MonoTouch, I have several script files that make universal static libraries, and then linked through awkward gcc flags.
If you can stay in the HTML5 world, I would recommend placing all your files on a server to avoid all the headaches associated with native applications. But if you need a native application, you can create amazing applications in any environment.
source share