Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pros and Cons of Xamarin Vis a Vis other frameworks

I am a C# developer, entrusted with a project to develop the Android native app for one of our project, whose logic engine in C# is exposed as a REST service. Current project has a Web version using Html5 and JS and desktop using WPF. We have good Html5, Angular JS developers at our disposal, now after little research to understand what I need to do to get started, following is my understanding:

  • Learn Java / Python for native Android development, it has some learning curve vis a vis other options

  • Use frameworks like Cordova, Titanium, which are able to convert HTML5, JS code to native Android and IOS app

  • Now I have come across Xamarin, which can help the C# developers to develop Android and IOS Apps, which we can adopt quickly, but I am not able to find the convincing answer to following questions, which are based on my understanding of the complexity of the project requirements, since they change over a period of time:

    • Does Xamarin generated apps have any performance issue in real android system?
    • Are Xamarin apps optimized when developed exclusively for the Android or do we still have a common denominator code?
    • Does Xamarin supports most of the Complex UI features like maps, grids, that would be available by default on native Android?
    • How is Xamarin vis a vis similar hybrid systems for the JS like Phonegap, which one is a better and more adoptable framework

Any suggestion / pointer would be great, that can help us take informed decision. Do not want to proceed with a framework, without understanding a major limitation or roadblock, which can make future difficult

like image 613
Mrinal Kamboj Avatar asked Dec 09 '22 00:12

Mrinal Kamboj


1 Answers

Xamarin is not limited to the common-denominator because it creates bindings to native code.

Regarding Android performance, I've heard that Xamarin apps actually perform better because the Mono runtime should be more mature than Dalvik, although this may just be a rumour.

Yes, Xamarin supports anything you could do on the platform's native toolchain.

With Cordova you'd only write your app once and compile it for multiple platforms. With Xamarin, you'd share as much business code as possible, and only create the UI layer for each platform, which is why you can customize it to each platform.

like image 174
Jeff Avatar answered Dec 28 '22 01:12

Jeff