Some thoughts after (almost) a year of real Xamarin use

Ten months ago at my team we reached that point that I think any mobile developer know about. Is it worth developing native? Should we keep coding the same things two/three times? Master a programming language and a technology is difficult, think about three. Not to mention to try to keep updated with the continuous incoming of frameworks, versions, libraries and components.

This is, of course, something inherent to software development in general, not only mobile. The thing is that even that we daily need to deal with different browsers nonsense in web development, or with multiple OS versions and environments in server/desktop, those are (usually) implementation details. We don’t usually need to re-implement the whole app and maintain separate codebases for Chrome and Firefox.

So, and finishing the self-pity for today, we tested most all the code-one-deploy-all available environments at the time (Cordova, Marmalade Phonegap, Appcelerator…) and we finally decided to give a serious try to Xamarin. The main reasons? We wanted the most native approach, not HTML5 web wrappers, we had lot of experience using C#, and the Mono-.NET framework ecosystem availability was too tempting. (Once you know linq is hard to renounce to it).

Now is time to decide to renew or not the Xamarin subscription and following the internal discussion we are having here, these are my conclusions from a programmer and software architect perspective.


  • Xamarin works. During this time we have developed, tested and deployed Android and iOS applications using most of the possible features a mobile app can  target, among others:
    • Google play and Apple store deployment
    • In-house deployment with custom autoupdates
    • Push notifications
    • Custom and remote web content loading with both ways native-javascript interaction
    • Beacons technology and real time signal processing
    • Any kind of imaginable UI layout
    • PCL development and background code sharing
    • Automated testing using Calabash
    • Video streaming
    • OAuth integration
    • Remote REST APIs consuming
    • Social media (facebook, twitter) integrations
    • Embebbed SQLite
    • XMPP
    • Phone and tablet deployment

    So, our general feeling is that if is possible to do it native is possible (I don’t say easy) to do it using Xamarin.

  • The Mono framework integration works. Yes, you really can use C#, linq, Lists, Generics and -most- of your beloved .net stack
  • Growing ecosystem. The components library keeps improving and getting more and more useful stuff.
  • Growing project  and community. I don’t know of course the internal situation of the company, but seems that the Xamarin project is alive and has future. There are continuous  developer meetings in cities all around the world and they keep pushing new improvements in the product.
  • Microsoft seems to start to seriously support the project.


  • Yes, you can make the same things that you make using java or objective c or swift, but when your app needs to go a bit further in terms of UI or interaction, things are not straightforward. We develop very specific and customized boutique apps with intense requirements in terms of design, animation and integrations and when you try to push that forward in Xamarin problems start to appear. (Missing features, compatibility issues, not existing libraries…)
  • Xamarin creates his own problems. As a new layer over the native environment you don’t have real control of what is generating as the final code that will be run on the device. There is the case of an iOS objective-c feature we translated to Xamarin, a very specific subclass customization of the UINavigation bar. In theory we were using only standard objective c instructions (like, add this UIView here, push that in the UINavigationController , change this color…) so the translated C# code was the same, line by line. But the Xamarin implementation didn’t work. We never got to know exactly what the problem was, but the order in what the UIViews were drawn  was important and we suspect that the code generated by the xamarin compiler wasn’t the same that the one generated using Xcode. We ended implementing a not pretty workaround.
  • Following this, xamarin has his own bugs. This is normal, of course, but the point is that you are in fact adding a new source of possible problems to your development process. We had a problem using the HttpClient class  that costed us a lot to track as a Mono implementation problem, and not ours. Again, we ended implementing a workaround against the standard use of HttpClient. Similar stories to this one regarding memory leaks,  not standard behavior, happened to us very often
  • All these required workarounds are something you cannot plan at the beginning of the projects, nor are problems you can expect if you use standard programming guidelines, and keep adding time, cost and effort.
  • Logically, the amount of resources, components, libraries and available help is far from the available for java or objective c. Situations like ‘I would use this cool slide menu library but the xamarin bind/port doesn’t exist, or is much older, or it would take a lot to implement’  or ‘this stack overflow thread will help me, wait is for native not for xamarin’ are common.
  • Android development is slow. Like painfully slow. Not the development itself, but the process of deploy to the emulator or to the real test device. It takes ages, no matter if you use the standard emulator or the Xamarin Android Player , or a real device.  No possible comparison with deploy using Android Studio, specially to real devices.
  • Price. This of course depends of your team size, resources and what you can expect to save using Xamarin, but 1000$ developer/year is not exactly cheap.
  • You can share background code, business logic… but again, if you want real customization you need to implement the UI yourself.  There is part of the business logic  that in fact you can copy, but no share, because the specifics of the flow execution in each platform. (As a very simplified sample, you cannot always make a 1:1 relation between Android activities and ios UIViewControllers and that ends with part of code that should be in different places)   Even with Mvvmcross (that we have used) is not always possible.
  • The solution to even share the UI (Xamarin forms) right now, doesn’t work apart of for simple apps and UI. Of course this is only our experience, maybe we are wrong, but if make something detailed or specific in UI using Monotouch or Mono for android is difficult, with Xamarin forms is simply not possible, and speaking about the code itself, you usually end with a bunch of separate interfaces with different code for each platform.
  • Xamarin studio, the development tool if you are using mac or dont have Visual Studio, its still far away of Xcode or Android Studio. It has improving during this time of course, and is usable  but it lacks the features of his native counterparts, and continuous crashes and mysterious file disappearances are routine, not to mention the fear of what will crash now after each system update.
  • The community (only part of it of course) sometimes takes the defence of Xamarin too serious, and you cannot go against the idea of how is the solution to all the mobile development problems . I mean, is a great tool I enjoy working with, but that’s it. If I found a better solution for a problem, I would use it

So, to sum up, is it Xamarin worth it?  For me yes, but as other tool to add to your options, and not to totally replace native development, at least for now. Depending of the project and requirements I would be happy to have Xamarin available and I will use it, but there will be other situations in which I really think use native will be a better choice.


Add yours →

  1. Nice insights… thanks!.. this will greatly help us weight our options.. thanks again.

  2. Really interesting post.

    Tiny typo: Prize → Price :)

  3. Thanks for sharing your experience.. It means a lot to us as we are contemplating to give it a try ..

  4. Please get a native english speaker to review posts like this before you publish. The flow of the post is ruined with minor grammatical mistakes that could be easily resolved.

    • This is perfectly understandable and no such review is necessary (though it would help). Excellent, objective overview–thank you for a valuable set of insights.

    • The minor grammatical errors are no big deal. I still got the main gist of what Diego is trying to convey.

      This is a rude post.

      Diego – thanks for sharing. Appreciate it.


        April 4, 2015 — 6:51 pm

        Thanks!,It’s ok with Bob reply, I will pay more attention in the future.

        • Diego – no need to take more care – your post was absolutely fine and very informative – thank you for the time you put into it

          Bob – you’re a first class twat … no two ways about it

          • Wanted to second that. The post was good and informative. Bob IS a twat. People don’t like Bob.

          • I third it. Bob’s a first class twat!
            Bob, if you don’t like it, don’t read it. Diego is doing everyone a favour by blogging this, although it’s not in his best interests. And nothing for free is ever perfect. Deal with it.

            And excuse my British English spelling of the word “favour” because undoubtedly you take offense to that, don’t you?!

          • A year ago I was the fist commenter on this blog post (see first comment on top). Now a year later I revisit this page and this time just to say Bob is a twat.

            Bob… you are a twat!!

          • 2017 now and Bob is still a first class grade A Twat. Good article. Helped me a lot!

        • Fantastic english and even better post .
          Thanks a lot

        • What a great and mature response. Thanks for your hard work Diego

        • Well written article and very helpful article. Thanks for taking the time to put it together.

          From what I gather the Xamarin is probably a decent tool but it adds another layer of code that needs to be dealt with. Debugging in a native language can sometimes be very hard and another layer can obscure potential problems.

    • I also understood clearly your insights and greatly appreciated you sharing them!

      • You mean “clearly understood” in the future PLEASE ((and don’t take this personally – some of my best friends are ‘latin’)) PLEASE have a US NATIVE (born here or both parents killed by accident or disease before the infant was age of 1 ) review and correct your reply to a post re: an article because your version of Anglsise is tres ifficult-tay to ead-ray if u get my drift. Thanx in advance

        • The sad part here is that the response of this “US native” is constructed with really bad grammar, with this “US native” having no idea that “understood clearly” is acceptable proper English.

        • Get off your high horse, you ungrateful animal. The minor grammatical mistakes were hardly an issue. The post is both insightful and well-written. Be thankful that he even gave us his time and insight.

        • Bob is that you?

    • That’s totally rediculous. It’s perfectly intelligible for anybody with an ounce of reading comprehension.

    • Bob, millions of native English speakers have much worse spelling and grammar and still post articles on net. I bet you make mistakes too. This isn’t literature, you should be concerned about technical content not grammar. And it was written for free, shouldn’t expect the author paying for proofreading.

    • @Bob, you can learn to be more polite and thank a man who’s posting a good review with a language that happens to be your native language, but not his.

      Good and insightful review. I use Ionic/Cordova professionally, and I think things are getting better day after day in the hybrid world. I’m sticking to Javascript/CSS/HTML5.

    • quote “Please get a native english speaker to review posts like this before you publish. The flow of the post is ruined with minor grammatical mistakes that could be easily resolved.”

      I bet you are Indian or Filipino. People in this countries are slaves of the English Language.

      • HELLO jhorwin
        Please don’t blame a country, based on your assumptions. I like this post very much and thankful to author for such a nice presentation. fyi i’m a indian.

      • wow such a racist comment you got here my friend. I’m a Filipino and proud that I can speak and write English.

        Can you speak Filipino/Tagalog or even Bisaya?

      • @jhorwin – Did you know.. Indians, in particular, are slaves to anything and everything that is hallmark of “MASS” – then, no matter how alien they are. Because we enjoy oneness in diversity – my country’s core motto.

        Hence, “English” certainly qualifies, whereas “Racism” – well, we live that for you and your like-minded community..

        Cheers.. from an Indian.

        PS:- Hope “Bob” approves this “Slave”.

    • Oh Bob, please get someone who has some manners and basic respect to review your replies before you publish.

      And here’s a hug. xox

    • English is my first (and only language) this blog is perfectly readable.

    • Troll. Please ignore.

    • Very helpful post. You have solved many of my doubts.

      (Te lo agradezco de veras porque no la elección es difícil inicialmente además debido al coste).

    • bothersome person…sori for my gremer

    • @Bob, please get a native English speaker to review your comments–you neglected to capitalize the word “English.” All kidding aside, I believe I understand your point, but since it’s the only thing you mention, it *appears* you didn’t appreciate the content. Is that so? Perhaps you could offer to do the review you are recommending.

      @author, I very much appreciated the content. Thanks for your valuable contribution to the community. For me, the mistakes in grammar or spelling did not distract. On the contrary, I appreciate the considerable effort made to communicate with me in your second or third language. Thanks!

    • U fag! stfu

    • Oh my god.. You are really an ass..

      Mate, thanks for the post.. Do not pay attention to assholes like this guy… You did great job and helped us (developers) !

    • Remember, Bob, this is his second or third language. How many languages can you read/write/speak? It’s people exactly like you that push people away from helping others.

    • This is just flat-out rude.

    • The others are right Bob – You’re a twat – Maybe I’ve been living abroad too long but I read the article and I didn’t even realise the guy wasn’t English!

    • Grammar nazi detected!

    • This is Bob,
      Bob like to correct everyone’s mistake,
      Bob is perfect,
      But “Nobody is Perfect”,
      so Bob is nobody,
      Don’t be like Bob.


    • Seems good a post to me – quit being ungrateful for the time and efforts these guys have gone to writing this post for us to read,

    • Just submitted a new word to urban dictionary – bobtwat.

      The definition – when a guy named Bob (a.k.a. Rob, Robby, Robert, Twat) replies to a blog post written by a non-English speaker.

      If I had time, I would have registered and hunt all your posts down for your own site of how to be a super twat.

      Diego, I came across your post by mistake. Hell, if I was even mildly interested in writing with Xamarin, this post would certainly help me understand the pro’s and con’s of it. Great job.

      Bob, you are a twat.

    • It’s rude!! You can check the sites/blogs which are maintained by native!! English speakers.

  5. Adobe Air is an alternative, although it has more or less the same pros and cons, plus the con that Adobe is really slow at acknowledging and fixing bugs.

  6. Hi there, I’m the CEO of Xamarin.

    Thanks for taking the time to write up this thoughtful review, and for your nice comments. I’m really sorry to hear that you’ve also had some problems along the way, but we’re always glad to get feedback on areas we can improve.

    Luckily, many of the things you pointed out as issues are things we’re really, really focused on right now. Especially the concerns you had about using third-party SDKs. We’ve been doing a lot of work to make it easier to consume third-party, Objective-C and Java SDKs recently, and this area is improving a lot. First, we recently launched a new tool to automatically bind Objective-C libraries in C# called Objective Sharpie:

    We released it in December and hundreds of libraries have been bound with it since then. And it’s under active development. We also have documentation on how to do this for Java libraries on, and we’re about to release some free binding classes from Xamarin University that will be available to everyone. So there’s a way for you to bind these libraries yourself.

    If you’re not interested in doing this on your own, we also now have several people focused full-time on creating bindings for Java and Objective-C libraries. As they mature we are publishing many of them on our component store here:

    There are over 300 components now in the store, including some very popular third-party libraries. Some bindings we can’t publish immediately because we need to get the permission of the original library author to redistribute their native library, but that’s something we’re doing, and if you ask us we might be able to give them to you directly.

    We also regularly do custom bindings as part of our normal customer support. If you’re a paying customer you can request that we create a binding for you by emailing Turnaround time lately is about a week. Or you can just email me directly, :-).

    As for the slow android deployments, this is something we’re actively working on right now. We’re investigating a new technique that might speed things up a lot.

    Finally, Xamarin Studio might be the one area that we’ve improved the most in the last year. Hopefully your recent experiences have been better. We know we still have more work to do; it’s a big project. If you don’t like using Xamarin Studio or find that it’s missing features, we do have full support for Visual Studio.

    We take this kind of feedback really seriously and we’re working hard to improve exactly the things that you mentioned. If you have any other issues, please feel free to email me directly –

    • Alexandre Vinet

      July 8, 2015 — 5:41 pm

      I must say this is what I really enjoy about Xamarin: it’s ALIVE.

      You call, people answer. You need help, they reply, almost the same hour. The project is clearly active and, like you mentioned, Microsoft starts really supporting their project which is a very good sign. It’s expensive, but you definitely get your money’s worth, and that’s beyond just the tools provided.

      There are so many projects out there where forums are basically silent or most replies end up being simply “Read the docs…”.

    • I don’t know, I took a run through Xamarin about a year ago. I found that it was absolutely well thought out – but it has some major issues that prevented it from being usable for us.

      I second what the review wrote, Xamarin Forms are cute. But unusable. Basic things like header bar manipulation and control that is a basic one-line modifier in Android Studio, can’t even be done in Xamarin.

      And when you reach the point where your UI logic has to be recreated for every single platform – the hooks to the business logic will often need to change as well.

      I’ve found that Xamarin, in practice, reduces effort “very minimally” between platforms. But the large overhead (building hello world generates 10mb empty build binaries for example), large CPU usage on mobile and the fractured support and inherent bugs – I’m sorry. I appreciate you read the review, I don’t think you really understood it though.

      Working with clients, I recommend they go direct-native, or use an HTML wrapper. Having tried to work through Xamarin bugs before, it isn’t worth the headache (yet). And certainly, its far too buggy for the price being quoted – last time I tried to use it core features were still broken to the point of being undeployable. Not cool for 1,000$ software.

      Just wanted to say, I appreciate what you guys are trying to do. I’m happy you were bought by M$ – although I worry about what that means about your future product quality. But as of fairly recently, I’d say this is still a fairly accurate review of what my experiences have been with Xamarin as well (and one of the reasons I recommend against using it – at least until it matures).

  7. >So, to sum up, is it Xamarin worth it? For me yes, but as other tool to add to your options, and not to totally replace native development, at least for now
    Sounds like sunk cost fallacy to me. When something as basic as HttpClient is broken, how can you trust the rest of the tools?

    And cross-platform mobile development is a giant boondoggle since tracking platform-specific conversion bugs and trying to make your app appear native takes vastly more time than just implementing apps in their native dev tools.

    But to each his own… I’ve been down that road myself a few times in the past decade and don’t plan on ever wasting time again.


    • I’m really not sure what the HttpClient issue could be that the author is referencing. HttpClient has never been broken; it does have some different behaviors on iOS devices than it does on other devices (specifically you need to use the CFNetwork transport or manually enable the iOS radio before using it), and due to connection caching it can lead to misleading reports in profilers. Many developers use ModernHttpClient which backends to the native stacks to avoid this.

      That said, I’m not aware of any point at which HttpClient was broken.

    • HttpClient is/was broken in a specific version of Mono, has nothing to do with Xamarin.


        April 5, 2015 — 2:11 pm

        Hi! Yes, in the post I state that it was a mono implementation problem. It was just an example (probably not the best) of an error caused because the additional abstraction layer that Xamarin implies (or any other similar framework) but is true that it was not a strict Xamarin code problem. Anyways thanks a lot for taking the time of comment and clarifying it for any people that will read it in the future.

  8. Hi,

    I’ve been using Xamarin for a project for the same past 10 months.
    I managed to release only for iOS by now, but I started working for the Android and WP versions too.

    I’ve developed only native iOS apps in the past, and the two experiences (Xamarin vs native iOS) cannot compare in terms of easiness, available frameworks and components, and online support for the native development.

    Although I didn’t encounter so many problems as described in the post, I still subscribe to the main conclusions and pros and cons.

    I initially gave a try to the newly released Xamarin Forms only to find them practically unusable. Then I switched to the classical way of Xamarin development, calling directly the wrapped native ui components.

    As I needed a few custom components, like left side menu, pull to refresh and incremental loading of table views I had to use another expensive framework, Intersoft Crosslight. Not to mention that I needed some architecture to really make the PCL shared code truly shareable between the mobile platforms. For this I had massively used the MVVM classes provided by Crosslight. Although impressively promising and having a beautiful architecture the Crosslight framework does not really deliver any time you need it. The main problems would be the lack of enough good documentation, poor support and a too tight integration with the ASP MVC and Entity Framework for domain modeling (and you really need some time to figure out how to untie yourself from them).

    Otherwise, I cannot complain about too many issues with Xamarin (although I had used OAuth 2 and consumed JSON data from the network as well, haven’t encountered any problems in this area). The main reason for not adopting Xamarin for a future project would be only that it adds another layer of abstraction on top of the native sdks (which themselves are not perfect either) that adds no value in itself, especially because it doesn’t provide any bridging between the PCL and the mobile platform specific code (except the Xamarin Forms maybe, but which I find it too immature right now). Also, my main fear is that this added layer of abstraction is too prone to unpleasant surprises as diego described. From my perspective, I think the main positive aspect about Xamarin is C# niftiness.

    Currently, although I am not now a big fan of any mobile cross platform solution, I am contemplating Rubymotion for another project. I think it has more valuable assets than Xamarin does, like not having to bind anything, you just use the native components directly and running on top of the native runtimes (on iOS being a direct competitor to Swift). What do you think? Does anybody have any experience with it?

  9. Hi, I am not affiliated with Xamarin but I have been using Xamarin in production for the last two years on many applications and could not imagine doing native development in any other way.

    Two weeks ago a enterprise company that previously was “iPhone/iPad only” from the top-down by a board level mandate has started seriously considering moving over to Android for purely handset cost reasons. I knew this would eventually happen and deliberately designed/developed the application using the Xamarin platform as a way to reduce risk/hedge bets.

    If the application was not developed using Xamarin then the enterprise company would be facing a complete rewrite of the application in another language whereby the engineering costs to achieve this outcome would outweigh the savings and re-implementing the functionality would introduce substantial product quality/project risks.

    Now “all that is required” is to start work on a Android user experience, implement it and then sew it up against the core library. It also means that developers can concurrently patch bugs + ship features to both platforms during the migration phase.

    Anyway there seems to be a quite of bit of confusion that Xamarin.Forms == Xamarin and this is not the case.

    Xamarin.Forms is a package that runs on top of the Xamarin platform that provides a DSL to rapidly create CRUD enterprise applications that spits out the equivalent native user interface implementation depending on which platform you run on. It is extendable and becoming highly customizable. Can’t wait until they drop the “sealed” modifiers – hint, hint, nudge, nudge @natfriedman!

    Xamarin itself is a way to use either F# or C# on Android and iOS. All of the native platform specific API’s you’re used are available to you to use in any way you see fit. Admitely the there has been some minor naming changes to be in accordance with the but if your coming from a .NET background then it makes complete sense.

    That said if you’re coming directly from .NET, thinking that you can ship iOS or Android without learning the domain knowledge of each platform then you’re in for a royally rude awakening. Xamarin does not abstract away the differences between the platforms – ie. push notifications, application suspension or any of that jazz.

    With the correct software architecture you can write your business logic, data transport, caching and persistence layer once and share it between every non-web platform in existence – Android, iOS, Windows Phone and desktop applications on Linux, Mac & Windows/WPF/Store.

    Step one in decent architecture is to divide your application up into a Core library and use interfaces to bait and switch in a different concrete implementation depending on what platform is running your application. For more info see:

    Step two is to use a solid MVVM framework such as which is a functional reactive programming framework that uses the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform. Supports Xamarin.iOS, Xamarin.Android, Xamarin.Mac, WPF, Windows Forms, Windows Phone 8 and Windows Store apps. It is the framework that powers GitHub for Windows and various other undisclosed projects ;-)

    Step three is to architect your network services and data persistence exactly as detailed here:

    For more information on the above see – “Writing Mobile Apps the Github Way by Paul Betts”

    (disclaimer: contributor to the ReactiveUI project ;-)


      April 5, 2015 — 2:29 pm

      Very instructive and helpful comment Geoffrey. Thanks a lot to you (and the rest of people who is commenting) for taking the time to write. At least from my experience, is hard to find all this kind of information, links and resources clearly pieced together and for example the resilient network services approach is very interesting and to be honest I didn’t know it before.

  10. Hi,

    Thank you for your detailed post!

    I am working with Xamarin Studio myself and was able to use XForms as the GUI of the app I was currently working on – but the GUI is rather cookie cutter except for an opengl view.

    My biggest complaint is pricing – the cheaper rate forces you to use Xamarin Studio that is just buggy and crashing after each new update in a different way, just as you describe.

    So basically you have to pay them premium so that you don’t have to use their software and can keep using Visual Studio. Talking about an incentive to improve Xamarin Studio. :-p

    Anyway, currently I am editing / unit testing in Visual Studio and just switch over for deployment to Xamarin Studio.

    Now I am considering switching to RemObjects C#
    As I see it, you can just use C# against the native apis and drop the wrappers this way. e.g. You don’t have to wait for a wrapper implementation for a new feature and get rid of the bugs in this layer.
    It seems to come down to if you want cross platform GUI, then you’ll need XForms and Xamarin, if you want to use the native GUI you can use RemObjects C#. So far I haven’t tested it myself, so that’s still a theory.

    Do you by any chance have any experience with RemObjects C# as well?

    Take care,


      April 6, 2015 — 7:08 am

      Hi, unfortunately I have no experience with RemObjects C#. In the reddit link to this post someone also commented it, I need to give it a try.

      About Xamarin studio my experience is that once you are used to it is usable (In fact we use mac and during this time we have used only Xamarin Studio) but still cannot compare to Android Studio, Visual Studio or XCode, and occasional crashes and problems after updates are still a real issue. Comparing with 10 months ago the software is much more better though.

  11. We ported Couchbase Mobile to Xamarin for many of the reasons you lay out above. It’s quite cool to see what our developers have been able to do so far.

    Regarding the cons, my experience has been that the Xamarin community has been really helpful working through things. Yeah, there are always oddities you find with the semantics of a component or capabilities that are hidden behind an abstraction layer (since that’s what abstraction layers are for), but to your point, usually there are solutions.

  12. Hi Diego,

    Thank you for sharing your insights and experiences with Xamarin as a development tool. I have two questions that I was wondering you can shed some light on

    1. You mentioned that there are situations where native is better. Can you provide a cross-platform example? And is it caused by the extra layer of abstraction that can sometimes lead to less than ideal workarounds?

    2. When you had to fix an issue or add new functionality to your Xamarin mobile app, what was your overall experience?



      April 8, 2015 — 3:56 pm

      Hi Mike

      1. I.e one situation I think I would really consider to go native is if your project will have a dependence of some native external library, you want to keep updated to that library latest version and you cannot spend the time to write the Xamarin bindings/ports. I.e we use in a project estimote beacons. Xamarin android component is maintained by developer Tom Opgenorth (not affiliated afaik with Xamarin or Estimote), and is updated regularly but not for all new estimote versions. During last year there was not an “official” xamarin component for iOS (there was two or three outdated in github) so we ported one version ourselves, but we cannot logically keep updated porting all the fix versions and improvements that estimote was releasing. A couple of months ago Xamarin releases an official port for version 2.4.0 but estimote has already released 3.0.0. and continuous bug fixes all weeks in the indoor sdk. For other components maybe we wouldn’t absolutely need the latest version but for this specific one we think we need it as is a critical component of the project, so its easier to just use the native sdk.

      -This is more subjective and to be honest I cannot think in a standard “measure” for it, but is more about your team skills and experience/code from other projects you can reuse, but if I think that given the project requirements/nature I cannot really and clearly benefit from what Xamarin offers (I wont share a lot of code or there is not .net stuff that will simplify a lot the development) I prefer to go native.

      2. I don’t think there is significant advantages or disadvantages in bug fixing or change management because the app is developed using Xamarin. There are more help resources for native, sure, but the xamarin people are very helpful in their forums and the fact that you use C# some times helps a lot to search for alternatives and workarounds. It depends more in my opinion of your project architecture and proper design. The debug and profiler tools are good imho.

      • Many thanks Diego for your extensive response to my question and I agree with the point that it is very much dependent on other factors such as requirements, existing skill set in figuring out whether Xamarin is a fit for a particular project.

        If you don’t mind, is it ok to contact you directly via email as I would like to bounce a few things off you.


    • I’m so glad that the internet allows free info like this!

  13. Hello Diego,

    Thank you for this article about your one year experience with Xamarin which appears to be very interesting and comprehensive.

    I am the co-founder of Neomades, the company behind NeoMAD. As a direct competitor to Xamarin, I really appreciate reading that kind of feedback. Putting aside the competitive information that we can get from it, your article (and the comments it triggered) help us understand what may hold back or encourage the adoption of cross-platform mobile development tools among the developer community. The usual pros and cons pointless debates on the subject make your testimony even more valuable.

    I read that you tested a lot of cross-platform tools (Cordova, Marmalade Phonegap, Appcelerator…). Did you try NeoMAD at that time?

    In case you don’t know about it, NeoMAD is a Java based cross-platform mobile development tool that allows you to build native applications for Android, iOS, Windows Phone and Windows 8. I think the main competitive advantage of our solution is that the whole application source code is shared across platforms. This is made possible by a generic API that provides everything you need to develop your application business logic, connectivity and UI.
    I suggest that you take a look at the PropertyCross projet, so that you can compare the same application coded with most cross-platform tools, including Xamarin and NeoMAD. Not only can you download the application to run it on an actual device, but the source code is also available for you to compare.

    Of course, most of the Cons you raised for Xamarin may apply to NeoMAD too, except probably for the generic code share. But our technical approach is completely different, and you may find answers to some of the problems you faced with Xamarin. Our specific code feature, for example, allows you to include platform specific code to your application. That means Java code using the Android API, C# code using the Windows 8 or Windows Phone API, Objective-C code using the iOS API… That way, you can always find a way if you happen to be stucked with the NeoMAD generic API.

    Finally, I understand that you pay attention to the vitality of the project and its developer community. It is obvious that we have not reached the point where we can pretend to compete with Xamarin or PhoneGap on that subject. But on the other side (and our customers can attest it), our support team is very available and responsive.

    If you are looking for an option to Xamarin for at least some of your mobile developments, we would be glad to provide you with any support you need to start coding with NeoMAD. Anyway, your feedback would be appreciated.

    Best regards.

    • The “Indie”-Licence of Neomad costs 999$ per year and per developer. And what you get is “community support”…

  14. Diego, thanks for sharing your experience and insights with us. In particular, the roadblocks that your team had encountered and your approach to them.

    Best Regards,

  15. I have been heavily invested in Xamarin for the last 18 months. I have become certified via the Xamarin university and have been building enterprise-type apps with both traditional Xamarin and Xamarin Forms.

    Xamarin is an amazing technological achievement, when you consider all the things that need to work really well in order to get an app onto an IPhone or an Android device. The ability to leverage my existing C# skills for mobile app development has been a big win, and as a WPF developer since 2006 the opportunity to take my XAML expertise over to Xamarin Forms has been a delight.


    Xamarin tools have a lot of moving parts, that need to work together faultlessly 100% of the time in order for developer productivity to remain acceptable. Unfortunately it doesn’t take long during a dev session before something goes a little cranky – and then you need to spend time investigating and trying to find a work-around. Often that means cruising the forums, and then sending out support emails – which don’t often get responded to very quickly, and can sometimes take a long time to get resolved (if ever).
    In addition, the code/build/deploy cycle takes too long – you seem to spend more time waiting for the tools to do their stuff than actually coding.

    The conclusion is – if you are part of a big .NET dev team with generous project deadlines and a boss willing to pay for Xamarin, then you’re gonna love it. If you are an indie developer with tight time and budget constraints, who wants to be hyper-productive building cross-platform apps, then Xamarin isn’t for you.

    I’ve very much enjoyed my Xamarin adventures – I didn’t mind blowing $4k of personal money for a year on the licences and university membership, but I have cancelled the auto-renew as I think I am now done with the Xamarin solution.

    I’m looking at technologies that have a much greater level of developer mind-share. I think the costs of Xamarin limit its appeal to the dev community at large, and that could eventually be Xamarin’s undoing, as real competitors are starting emerge that have a much more exciting and relevant developer proposition.

    Native apps rule, but Javascript also rules. This is why AppCelerator was interesting, but not many of us like the vendor lock-in, and the poor general developer support from that company.

    However —

    React Native has been pushing all of my buttons lately. Its a native development solution that uses JavaScript to tie together native ui components in a running app – the same as AppCelerator Titanium.
    What makes it better than Titanium is that it is open source, is backed by Facebook, and works really REALLY well – even though Android support is still a couple of months off.

    Is React Native a better choice? – perhaps. For me it is more exciting than Xamarin ever was (and that’s from someone who loves C# and hates Javascript). What is certainly the case, is that my productivity has gone through the roof since using this technology. I have been re-creating an iOS app in React Native that I started in Xamarin, and I am at least 5 times more productive, even with React’s still very immature tools.

    Of course time will tell – React Native is very much in its infancy, but I recommend that you try it out – so far I am extremely impressed.

  16. I worked with xamarin for almost 3 years. Was one of the first to buy indie licenses. I figured this out in 3 years. xamarin will never have the support and community to compete with apple xcode swift just like you couldn’t compete with the visual studio c# community. I am a c# developer since beginning of .net.

    The problem with xamarin is you are too dependent upon component authors to create and more importantly maintain/update their component you so heavily depend upon to make real apps with social integration, advertisers and so on.

    You can’t write apps in all low level code so you depend upon a component if for example you are integrating amazon, admob, dropbox, etc. The list goes on and on and on. When programming in native, all this is at your disposal, and is heavily supported by many. All of it. Only a fraction is supported with xamarin and that fraction barely works or will work for a few days before breaking again. Yes, it is really that bad. There just isn’t the community and mass numbers to support the infrastructure needed for xamarin.

    I was forced to drop out of a lot of invested time in xamarin after xamarin refused to acknowledge they didn’t have a native FB component and you was force to use a broken, non native FB component. Sure, who wants to type in their FB username and password each time they use your app. Answer: No One. That was one of many disappointments of failed components but it was also the one that was a deal breaker for me.

    You see, when people say, you can make an app with xamarin, look further and see what kind of app. Sure, you can make a simple calculator app. Try the supposed real world apps in their portfolio on your phone right now. Test them out. See if that is the kind of quality that suits your needs. It didn’t suit mine.

  17. Wolfgang Schreurs

    August 5, 2015 — 1:23 pm

    I agree with all of the points made. We experienced more or less the same issues when creating 2 multiplatform (iOS & Android) mobile apps. In some situations I found the debugging facilities very limited as well. Sometimes had weird errors that without good stack traces. Might have had something to do with async/await code though …

    For now I’ve decided to not renew my licenses, as I agree the price for Indie licenses is way to high. Most indie apps don’t make a lot of money (if at all).

    I might use Xamarin for a Mac OS X desktop app in the coming year though.

    For iOS I’ll go back to native apps for now, at least for any personal stuff. Maybe for Android I might use Xamarin (I don’t do Android work often), since I loathe Java and actually like C#.

  18. I need help. I am a C++/C# developer and I want to developer an app which may use XMPP with intensive security features like x509 certificates, digital signing, encryption/decryption using AES and RSA. I wonder if Xamarin has libraries or components to develop for such the features, so the app can publish in Apple, Google and Microsoft.
    Thanks in advance for your help.

  19. Michal Dobrodenka

    September 7, 2015 — 12:09 pm

    I have 3 years experience with Xamarin on Android & iOS.

    For me Xamarin is worth the money and energy. From time to time having problems with long deploy times & bugs especially on Android, but in the end of the day the result is done with less effort than using separate native developments.

    The decision factor is how much code are you going to share. IF you are going to share more than 30% code (so your app is more than simple UI with almost no code behind) its definitely worth it.

  20. Really nice post man. We’re considering using Xamarin and it will help us a lot on making our decision.

    Thanks for sharing this :D

  21. Really good summary and I think I agree with every point.

    For anyone using this post to research the pros and cons of various cross-platform options, don’t be put off by the large number of negatives – Xamarin is far more ambitious and comprehensive than the alternatives and so has a far larger “surface” for bugs. Most of these things are simply not possible in other systems let alone buggy.

    One fundamental problem for Xamarin is that they must keep pace with the features of iOS and Android (products of large and well funded companies) while trying to maintain stability. These competing pressures have led to quality problems that hopefully they will get a handle on as they grow.

  22. 89 trackers and 54 ads. Well done.

  23. Hey Bob , Thanks for your review it help to me for best decide and yet i think continue with native java

  24. Thank you for sharing your experiences and thoughts on Xamarin.

    I’m about to select tools for delivering an app for mobile devices. My scenario is much like the one you had a year ago. The pros and cons you described was roughly what I expected, but it is very valuable to hear it from someone with handson experience.

    So again, thank you for writing this summary and sharing it publicly.

  25. Hey Diego,

    I would like to give a strong handshake for your reviews about Xamarin. Have invested a lot of time for binding native libraries like OpenCV, AirWatch, WhirlyGlobe, Sparkle,… for iOS and Mac.

    Btw, I have worked on this since Xamarin 2.0 and now having Indie licenses for iOS, Android and Mac products.
    They are not perfect in some cases, but it’s great solution to do cross-platform, i.e I have to implement iOS, OS X, and Win versions for the application, so (one) shared logic and specific platform UIs are making my life easier.


  26. This was a very informative article Diego! Each cross platform development framework has its own set of unique attributes that may or may not appeal to some members of the developer community. Xamarin has greatly improved as a platform and added a number of features that make it a consistent choice for X-platform mobile app development. In short, it has many +ves and a few -ves. Thanks for writing.

  27. Were I developing apps using native UI for each OS, I think I’d use Xamarin without any hesitation in spite of differences between platforms and compilation. QT would be another runner up.

    But for what I’m doing – a high-performance game for multiple platforms – C & OpenGL are good enough, as the UI and everything are done natively in GL. Yes, it’s tedious working with cstrings, for example, but C is largely portable out of the box… it was not overwhelmingly difficult to port from Windows/Linux to Android, iOS remains to be seen. Having said that, some games rely far more on e.g. integration with social media, transaction platforms etc.

  28. …and in those cases C# is definitely the way to go, making Xamarin necessary if you plan to deploy to mobile.

  29. Thanks for the overview and critics. Great article.

  30. Xamarin looked promising, so had a look at it on Mac and Windows 10.
    Worked OK on Mac, although the emulators where a bit slow.

    Tried it on Windows 10 in combination with VS 2015. After some hassle, got the Android emulator to work, but :
    – it uses over 1GB of RAM (which is rediculous)
    – it takes forever to startup and to load the app you’re testing (which is unworkable).

    Probably not Xamarin’s fault, as the emu is provided by Google, but
    I also have been using the Intel XDK which has built in emulators (iOS, Android, Windows mobile) that are MUCH faster (couple of seconds to start up, fast switching between models).

    So if Intel can do it, why can’t Xamarin ?
    Too bad that a good IDE like VS Studio is crippled by these crappy emulators. I won’t be using it like this.

  31. OK, to answer my own question (think before you write)..

    The Intel XDK is based on Cordova, which uses a webview in the mobile device to run the javascrip/html/CSS.
    So those are not ‘real’ emulators.

    Still, I wish the ‘native’ emulators could be as fast..

  32. Really glad I came across this post!

  33. I think that the fact you have to know only one big framework (.Net)
    and can do anything with it on Android , iOS and WindowsPhone , without the need to know almost nothing about Java or ObjC (yack) ,
    this is A MAJOR benefit.

  34. Quote:
    “..if you are part of a big .NET dev team with generous project deadlines and a boss willing to pay for Xamarin, then you’re gonna love it. If you are an indie developer with tight time and budget constraints, who wants to be hyper-productive building cross-platform apps, then Xamarin isn’t for you.”

    That’s it. I’m a .Net developer, with a small company for mobile development with a strong interest in Xamarin, but its price has prevented us buy it. So, we’ll continue to develop with PhoneGap.

  35. Great piece thank you! As the author says, it depends heavily on the type of project, but for all the advantages and problems, do people think that in balance Xamarin development is quicker and/or more predictable than developing native for two or three platforms? From some of the comments it seems that for apps which are mainly complex GUI, or which rely heavily on some cutting edge library, native will be better, and for apps which contain a substantial amount of business logic, C# would be quicker. Or are there other factors? Thanks again

  36. Hi – I am a CS student, and I am currently trying to decide whether to take a course on Mobile and Cloud computing that involves using Xamarin — here is the course description:

    Does anyone believe that learning Xamarin as an entry-level developer is a good choice?

    A bit more background: I have over a year of Java, but have a long way to go to be at a professional level. I also have some experience with JavaScript, PHP, Laravel, HTML/CSS. My goal is to eventually become a developer.


  37. Really nice and great article. Thank you for your time.

  38. Just imagine how irritating if a platform came with new development feature (like when .net introduced TPL for example) and you are waiting Xamarin to support it. Xamarin is for kids.

  39. The fact that Microsoft markets Visual Studio 2015 as a cross platform environment for Android and iOS, yet, it requires an expensive Xamarin product to be purchased, is HIGHLY UNETHICAL. Microsoft takes the hit for that. It is a turnoff for using Visual Studio. VS is now viewed as just another marketing tool for third party products and not a serious development tool for the Microsoft platform.

    • Yes it is unethical but your statement that VS is viewed as just another marketing tool is simply ludicrous, maybe you view it this way!

      Excellent article. And I understood your english just fine my friend!

    • They market Visual Studio 2015 as a cross platform environment for Android and iOS, because it is, even without Xamarin.
      Yes you need Xamarin if you want to develop in C#, but without Xamarin you can also use C++ and target both Android and iOS. They provide their own build host for Mac with C++.

  40. Evert Wiesenekker

    January 13, 2016 — 9:11 pm

    Thank you for posting this. I have a question:
    How would you regard Xamarin for writing business applications when you use it as is? So if it does not support a feature I personally would try to convince my customer to cancel/change the feature instead of trying to write Non-Xamarin-Standard-Code.

  41. Nice insights !!! Thanks very much…

  42. Nice insights! My experience with Xamarin was positive, I agree it has its flaws. I would definitively recommend it, but I also think it is not for everyone.

  43. Nice article :-).

    I have used Xamarin.iOS extensively as well over the last year. Overall my experience has been mostly positive too. What Xamarin has done, and the quality with which they done it, is very impressive considering all the hurdles that must be taken when developing such a product. Which is essentially, like you write, another layer over the native api’s. On other words, lots of potential for bugs, errors, performance issues, etc. Yet, Xamarin somehow just does it’s job 98% of the time and manages to stay out of the way, which is no small feat.

    That being said, I have had a couple of headaches as well when working with Xamarin but I have never worked with any technology, either for web, desktop, server, mobile, native, hybrid, etc, etc that did not have it’s kinks and quirks and did not require research and face palms. It’s just the nature of software development. Given the fact that Xamarin allows you to approach the 3 major platforms from one single language (i’m not even talking about code sharing yet) is a huge gain in itself and worth the headaches, which you would have any way no matter what technology you would choose :-).

  44. Great Post and the Comments are really helpful , Ive been looking at Xamarin for Visual Studio as an option for cross platform mobile development and have been contemplating the price.. but I think its worth a test.

    Many Thanks

  45. Could you please reveal the secret – is it possible to write something (“core functionality”) in xamarin and use it cross=platform, as a library, in different _native_ projects (on iOS, on Android…)?

    • We have a solution with an Android project, an iOS project and a shared code project. The Android and iOS projects use the shared code project.

      You can also use Portable Class Libraries.

      • If I understand correctly he means use a xamarin library in a native project, like a reverse bind. Honestly I don’t know if its possible, if it is, I would love to know how because sound very interesting from the technical point of view.

  46. Nice and helpful article. And I also love this website design. You really make the article comfortable to read. thank.

  47. Thanks for sharing!

    Great article

  48. If you know C#, you can use Swift (iOS) and Java(Android) without so many efforts.

    I tried to see exactly the advantage using Xamarin, and I found more problems than benefits.

    * You must to know iOS and Android environment to create good Apps, so Xamarin will create a new layer using a different approach. Classes names for Android and iOS isn’t the same in Xamarin. A big problem! A new curve in your cycle development. Forget, you can’t use iOS and Android web examples.
    * The IDE is very, very bug. I lost many of my time trying to deploy a simple project *(even the Xamarin demo doesn’t run). I tried in a clear iMac.
    * For me, is more fast recreate the business logic in Swift and Java than with Xamarin to make “cross platform”.
    * I can’t imagine a great iOS app without know iOS architecture, the same for Android.

  49. Greetings
    I really like your post. So honest and necessary for me.
    I am just starting in the amazing and messy world of mobile development. But as I can see now there is today a lot of options for mobile development. Of course one of the favorites one is the native! But I have researched a bit farther and I founded Xamarin as an option. Also there is React, Ionic 1 and Ionic 2. All of them have pros and cons.
    Now here is my doubt about what should I pick?
    I know that Ionic 2 has really nice improvement and I have worked with Javascript before.
    Also I took the time to see the apps that you have mention before and are really really bad.

    So far are you still working with Xamarin?

  50. Thanks for the post.

    Is there any way to interop/link .Net/mono with ios native? The best development scenario for my company is large core libraries in portable .Net and a native UX

  51. Hi Flaviu Pasca,

    I am little confused by your statement of ‘adding new abstraction layer’ because I have read somewhere is something different.
    Which is:
    “Xamarin does not use the higher level of API’s of Android or iOS to construct user interface rather it has direct access to the lower level api’s like ‘skia’ in Android and ‘cocoa touch in iOS’ to do the same”.

    So what I understand is that it does not add another abstraction layer on top of existing API’s. Please correct me if I wrong.

  52. Thanks Diego for the time you put into sharing your experiences with us.

    With the recent events in which Microsoft has bought Xamarin, and quickly made available to the dev community for free in Visual Studio, this should negate the price issue. Will change anyone’s mind to use it?

    • Thanks for the text; always happy to read about real experiences from a professional rather than the many opinions you find all over the web.

      I myself am currently looking at ways to avoid having to develop multiple codebases in parallel. As a seasoned .NET developer, my first choice would indeed be Xamarin – especially now it has become part of the VS.NET ecosystem. Hence my question, as I can see this post is 1 year old:

      Has there been much improvement now Microsoft has taken over Xamarin and integrated it with VS.NET ? I mean in terms of

      o pricing
      o bugs
      o documentation
      o native support – I read you did have some issues creating specific iOS UI’s.

      Would be greatly appreciated!

  53. I am confused whether to go for Xamarin.Forms or Xamarin Native development. I heard that Forms have limited resources available for development. If your design is pretty good then custom component are not available for Forms.

    Can you please guide me whether to go for Xamarin.Forms or Xamarin Native development of Xamarin.

    • Hi Chintan, Xamarin Forms is a wrapper over the native layer developed by Xamarin to produce native android and iOS from a single source, so you use Xamarin Forms Components (i.e, to display a text you use a Xamarin.Forms.Label component)
      In Xamarin ‘Native’ you just use direct representations of the native SDK (i.e you have UILabel and TextView)
      So the main problem is that if iOS has some nice property for labels that Android has not, that property cannot be used in Xamarin.Forms.Label directly, as it won’t work for Android. (In practice you can, but you need to manually take care of that exceptions and check you are in iOS, make a fallback for Android…) Is some kind of minimum common denominator compromise. If the component is more complicated (App workflow, animations, complicated components) it gets more and more tricky to provide the same user experience that with native components.
      In my experience, if you need a complicated layout, for sure go with ‘Native’ Xamarin.

      • Hi Diego,
        You wrote this excellent post almost one year ago. Did you notice significant improvements in the product that would justify going for it now?
        We have quite a big application running on iOs and Android and makes intensive use of SQLite, HTTP access and has obviously modern UI. And we are asking ourselves if we are going to save time if we move to a cross platform development, being said, that honestly, once we write a code in either platform the time to migrate to another one is really minimal. Another attractive part of the move would be to have Windows tablets and PC compatibility, but is that worth the effort to move all that code?

        • Honestly, imho if you already have the platform developed, I think is not worthy the work to rewrite everything to Xamarin.

  54. After 3 years of using that crap called Xamarin, I believe that is just should be forbidden!

  55. Used Xamarin extensively.
    All I can say is, its pathetic for anything that PhoneGap-type apps, in other words: if you have a basic idea that already is out there.

    If you want to invent or make functionality that is not so common, you may as well just call it quits.

    I spent 25% of my time developing, 50% googling for issues caused by xamarin / lack of libraries.
    That leaves us 25%, where did that go? Waiting for the clown Visual Studio with Xamarin Agent to BUILD and DEPLOY.
    It takes 5 minutes to deploy!!! I am person who likes to learn by changing code, deploy and see how it acts. But when every deployment takes 5+ minutes, what the hell.

    I was close to crying because I was stuck with Xamarin issues when my competitors were already deploying their apps to AppStore and gaining alot of users.

    I am now using XCode on MacOS. (MacOs is a big handicap, so is xcode but i dont have a choice. Windows is the best and most productive OS)

  56. WOW!

    This is by far the best Xamarin review I’ve ever read.
    Now, that it’s been over a year later many things have changed. First of all Xamarin now belongs to Microsoft, and for small teams (<5), it's totally free.
    So you totally convinced me.
    The only thing I'm looking forward is to have Xamarin deployed as a website. Then Microsoft and C# will conquer the world. It's about time to get rid of a third party language (JS/TypeScript).
    C# and XAML should serve everything for any possible platform. Just like Silverlight used to do.

    Anyway, thanks again for sharing your experience!!

  57. Cool Diego,

    thanks for this. I am faced with writing an application that will utilize dynamic code. Hope it works…. :$


  58. Hi,
    I also understood clearly your insights and greatly appreciated you sharing them! I am waiting to get more information from your site….
    Thanks for sharing this information…………..

  59. Nowadays software development becoming fast growing app development in the information technology. Thanks for post!

  60. I completely agree. I have used Xamarin in the past for their cross-platform development promises, and you really are stuck to developing, dare I say, “generic” apps. If you want any more functionality than what is provided within the framework, more often than not, your best bet is to use the native framework. I dream of a world where developers don’t have to conform to the naivety of competing companies, but that just isn’t possible as of yet. If you are new to the world of mobile app development, by all means, design and deploy with Xamarin, but be warned of the limitations, and the constant downpour of bugs which are seemingly beyond your control.

  61. Thanks for your personal marvelous posting! I quite enjoyed reading it, you happen to be a great author.

    I will ensure that I bookmark your blog and definitely
    will come back later in life. I want to encourage that you continue your
    great writing, have a nice day!

  62. Warning – many of the posts below have nothing to do with the article, but focus, instead, on “Bob”. Ironic, as they distract from the good article, whilst heaping ordure on Bob and his post.

  63. Looking at Xamarin to write cross-platform apps that are 2D/3D. We’ve been using Marmalade until now (which is excellent for this purpose) but may not be with us for much longer :=(

    Has anyone developed 2D/3D apps using Xamarin? If so, what was your experience across iOS/Android/WP? From my 1st attempts, it seems far less productive and way more complex than Marmalade. Thanks.

  64. Where is Bob after all this confusion? :)

  65. Very interesting article, and I definitely can relate to some of the challenges you’re expressing. I have to say though that I’ve found the combination of Xamarin (and Xamarin Forms) with MvvmCross to be very productive, although combining Forms and MvvmCross was a bit painful when I set out to do it. With some planning you can get great code reuse out of PCLs and really minimize the amount of platform-specific code you need to write. My ongoing challenge is finding developers who have good platform-specific UX skill who are willing to adapt their practices to the .NET Framework. Our early experience with Xamarin’s tools was challenging (the tools were still relatively immature and we were pushing them pretty hard), but the past couple of years have been very productive.

  66. I tested Android Studio and Xamarin, but its more convenient developing android app using Android Studio.

  67. Thank you so much for the insight, I’m going to try them both.

  68. Hi Diego and Et Al.,

    Would like to share my experience on this:

    “Android development is slow. Like painfully slow. Not the development itself, but the process of deploy to the emulator or to the real test device. It takes ages, no matter if you use the standard emulator or the Xamarin Android Player , or a real device.”

    Initially, as per the standard, I used emulator, android player etc for debugging/deploying my android app. Agreed that “ITS PAINFULLY SLOW” and crashes a lot between series of testing/developing (mainly due to memory overflow, as I suspect).

    Then I tried an alternate. Being a super-fan of VMWARE, I was always keen on installing Android on it. After good amount of efforts I succeeded in doing so.

    Sooner, I was immensely rewarded. The speed is beyond imagination!!! Was able to hook the debugger and it worked like any desktop based debugging.

    And on top of it, got rid of frequent crashes too, as the memory allocation in VMWARE is totally in my control. With decent larger memory management that VMWARE comes with, the boot-up time drastically came down.

    Would be happy to share the whole process, just in case anyone needs so.

    Cheers.. An Indian Slave :)

    PS:- sorry can’t help it..

  69. I really like when people are expressing their opinion and thought. So I like the way you are writing.
    Mobile App Development companies in Bangalore

  70. This was really informative. Can you possibly update it each year? Because I’ve heard that Xamarin is getting better.

  71. Thanks for posting this. This is exactly the kind of insight I was interested in as a developer.

  72. Great post – thanks! I can certainly re-iterate the pain about making Xamarin.Form user-interfaces doing something more involved.

    Also, 1st hand experience with Xamarin.Forms bugs draining development time.

    If you wish to keep to native UI look and feel without tweaks, then it’s a very strong contender. I stuck to using XAML to build the UI and only recently they added a ‘preview’ feature, but no drag and drop UI builder, which hopefully is coming.

  73. Fantastic post however I was wondering if you coul write a litte more on this topic?I’d be very thankful if you coulpd elaborate a little bit more.Thank you!

  74. Thank you for sharing your article. This is very informative article to xamarin mobile apps development.
    Keep it up.

  75. Fantastic posts! I am bored to death at work so I decided to browse your blog on my iphone during lunch break. Will you write more about this? My roomate would like to be a master in this issue someday. Any team would be lucky to have you on it.

  76. This article is very much helpful and i hope this will be an useful information for the needed one. Keep on updating these kinds of informative things…

  77. I must say these are very insightful inputs from your end. This topic also covers the important points.

  78. Thanks alot for taking pain for writing this nice and great article.i appreciate it again,but i wanna getting started to write android apps,i know c# and i don’t have any point about which one of xamarin or java-based environments to get started.

  79. 正規品と同等品質のルイヴィトンスーパーコピーバッグを低価でお客様に提供します。

  80. Hi admin, i’ve been reading your content for some time and
    I really like coming back here. I can see that you probably don’t make money on your page.
    I know one awesome method of earning money, I think you will like it.

    Search google for: dracko’s tricks

  81. This article was written 04/2015… it’s now 3 1/2 years later. I would be interested in hearing whether Xamarin has matured since then. Are some of the bugs referred to in the article worked out? Is there still such a need for work-arounds? Any further feedback would be helpful.

  82. Hello, yes this article is in fact good and I have learned lot of things from
    it about blogging. thanks.

  83. Thanks for your insights.Have been using it for quite a few time now and have experienced some of the pros and cons mentioned here. Great article!

  84. Xamarin is an extremely powerful and flexible tool.
    Your blog is really a guide to people who are learning more on this topic. Thanks

  85. Darujemy ograniczenia sρośród klikі instytucϳі betafence.

  86. Great info. Lucky me I discovered your website by chance (stumbleupon).
    I’ve saved as a favorite for later!

Leave a Reply