- You can not achieve performance like native application. There are some dependencies like Xamarin compiles C# to native code, but still relies on the Mono runtime to do a lot of its work.
- The apps are going to be larger – this minor stuff matters when you are trying to get the max oomph out of your very resource restrictive mobile device.
- You still need a Mac for iOS
- A huge emphasis on better app patterns like MVC or MVVM, because user interface is still native. You can write about 70% reusable code using Xamarin, but the last 30% or more depending upon your app design and nature, has to be native.
- I’ve had better luck finding support and code samples for native, than for Xamarin.