Is Xamarin the best cross platform mobile development tool?

avitaavita AUMember ✭✭

Is Xamarin the best cross platform mobile development tool?

Best Answer

Answers

  • Hardik_MistryHardik_Mistry USMember, University ✭✭✭
    edited May 17

    @avita

    Yes it is one of the best in the market right now, provided you /your team is performant with C# and/or XAML.

    Plus you get to play around Xamarin.Forms (Share your code + UI ~90% reuse, it is framing up as one of the most cross-platform frameworks out there).

    An inclination may be, that you or your team should be competent on C# + XAML to take benefits offered with Xamarin as a tool/technology, if you are web person (HTML + JS + CSS), the learning curve is significant but the effort will pay off once things get in order for your / your team.

    Other popular frameworks React Native (by Facebook), Ionic 2 etc. do provide native feature capabilities, but they lack in certain hardware performant features (GPS, Background services and others)

    Let me put it this way

    You have a choice to either buy a BMW M4 Coupe vs Jaguar F Type V8, now both of them

    • are equally performant on the track and pain in the #$# when you drive them on the country side roads
    • both of them can go from 0 to 60 MPH under 3.5 seconds (BMW with the DCT transmission)
    • both of them look sexy
    • both of them sound sexy
    • both of them are fun to drive
    • both of them ...
    • ....

    But then you really cannot argue which one would be better, but rather you may incline yourself towards Jaguar or a BMW specific to your perceptions about the brand and customer feedback etc.

    So yes, to summarise:

    • if you and/or your team are competent with C# and/or XAML, Xamarin is the best bet for you with better ROI
    • if your and/or your team are competent with Web (HTML + JS + CSS), React Native or something similar will be the best bet with better ROI

    Nothing personal here, sharing my experience I had so far.

    Hope this may help.

  • JohnHardmanJohnHardman GBUniversity ✭✭✭✭✭

    As @JimBennett says, there are pros and cons to all tools. I chose to use Xamarin.Forms as I come from a C# background (with C++ and others before that). Had I come from a web background, I would probably have gone for Apache Cordova so that I could make use of existing skills.

    As it happens, for something other than my main project, I have done a reasonable amount of Web (HTML, CSS, JavaScript) recently, including Cordova.

    Now that I am back on my main project, I am still using Xamarin.Forms and C#, but where it is easier, I am also building functionality inside WebViews using JavaScript, with communication between the JavaScript inside the WebViews and C# outside the WebViews. I've basically ended up with a hybrid solution.

    After doing all that, I still cannot say one tool is better than the other when comparing Xamarin.Forms and Apache Cordova. It largely comes down to what your existing skillset is, rather than one being hugely more capable than the other (although there may well be constraints that I haven't encountered yet).

    Whilst I don't have a suitable test harness for comparing performance of Xamarin.Forms and Apache Cordova, my gut feel is that for simple apps, Cordova apps are more responsive than Xamarin.Forms . But I repeat - that is gut feel with simple functionality, not a result of timed comparable tests.

  • MaharshiChoudhuryMaharshiChoudhury INMember ✭✭✭

    Xamrin.Forms is the worst framework for making apps. Go native if you want Xamrin.Android and Xamarin.iOS.
    Don't believe in that 90% code share. because in that scenario your app will be such a bloatware , you will be wondering what is going on. Sharing 90% code means adding plugin or nuget package. Now the person whose nuget package you will be using he does not know why you are using his package so it will have other unnecessary plugins which you will not need and it will add your app memory. Then you have to deal with the linker mumbo jumbo. Everybody has their own theory , use sdk assemblies, do not use sdk assemblies. Make trial and error and after that you are ended with a hodge podge app.
    One more thing xamarin.forms is used by developers who have recently started mobile development- means they have no idea about mobile development both for android and ios. Nobody i know stayed with xamarin forms for more than 1 year . They all moved to native development. So you can understand what kind of people you will attract if you are working on xamarin forms. So think atleast two to three times before selecting xamarin forms

  • astoncalvinastoncalvin USMember

    It is a unique software which supports single programming language called C# for mobile app development. Xamarin is compiled natively that creates a go to option for developing high quality and performance apps by native look & feel.

    Xamarin Advantages for App Development:

    • High Performance Close to Native
    • Native UX
    • Complete Hardware Support
    • Open Source Technology with Strong Corporate Support
    • Simplified Maintenance
    • Complete Development Ecosystem
  • astoncalvinastoncalvin USMember

    It is a unique software which supports single programming language called C# for mobile app development. Xamarin is compiled natively that creates a go to option for developing high quality and performance apps by native look & feel.

    Xamarin Advantages for App Development:

    • High Performance Close to Native
    • Native UX
    • Complete Hardware Support
    • Open Source Technology with Strong Corporate Support
    • Simplified Maintenance
    • Complete Development Ecosystem
Sign In or Register to comment.