Mobile Application Development


Xamarin vs Ionic

2020-02-17

: Steven Kelly


Through my time spent at First Digital. I've been involved in two different technologies that revolve around the creation of apps, IOS and Android, through one code base.


The creation of applications is always something that interests anyone in any field. Everywhere I have been, every bar that I have gone to, any event in fact, I always get asked the age-old question of, 'So, what line of work are you in?'. As soon as the words 'Dev...' leave my mouth, I am immediately hit with the 'OH I HAVE THIS GREAT APP IDEA!'. Yes.. if you are a dev, you have been hit with it too. Time and time again. So, the goal of this post is to just run through my experience between Xamarin and Ionic. Should you decided to listen to said random stranger that you met wherever you choose to hang your head in shame because of your life choices of being a dev. First off, I want to state here that I am not an expert in Ionic or Xamarin, but more of a dev that was assigned a task that no one else wanted to finish, and secondly, this is not a deep in-depth look at each of the frameworks and what they offer, if they are more efficient, or some other in-depth item that might be relevant in a technical blog, but rather, this is my take on the two frameworks, from a very basic overview, in human talk. Ionic.... Ahhhh yes..... Open-source... Mmmm... Before getting more into this. Yes, I understand the power of this framework and the fact that it is free all around. Dude, you want a button to be sparkling and shining at the top of the screen. YOU GOT IT... Here someone has made that already... Oh, what was that? You want a flying pony to appear on the screen now and then? YOU GOT IT! COPY THIS CODE! Ionic.... Was by far one of the easiest frameworks to get my head around as it just used standard HTML, CSS and Javascript. Then, for the daring, and for those that thought they were better than everyone else using Vanilla frameworks... Yes... Angular... Nothing beats plopping an open-source product onto another one. To be fair here... Everything was easy to manipulate, manage and change. It got to a point where I thought I was the 'top dawg' in Ionic... I was baffled at people that complain about this framework? How can you complain about something this easy? But yes... it happened... Node... Package... Manager... NPM and all of the modules that had dependencies... Oohhhh... still grates me the wrong way to this day. I remember spending hours trying to resolve versioning issues between packages. That has ruined a lot of Ionic for me. (DISCLAIMER: Other problems arise with Ionic and deployments, but for that in-depth look at those statistics, you can go ahead and google it). Xamarin. Yes... Microsoft... Yes... C#... Yes... Easy... I've got this... I managed to develop an application that was estimated to be built over 3-4 months within a month (Yeah so there were a few bugs, but you are lying if your code has never had a few bugs in it! I'm watching you!). Xamarin was a pleasant experience. There is really only one way to go about things as well... You can not really express your artistic side within the application on a visual side unless you pay for it, or you have oodles of time... I had neither the artist side nor the time. So Xamarin was perfect. Although, yet again. Deployment time came around and yes... Thanks, Apple for being ridiculous with your requirements. Apple put a damper on the experience with Xamarin to be honest, so, make sure that you abide by the rules they set out for their apps, or you will be fighting with them for weeks. The only other problem with Xamarin on a high level here was that you do not have space to do fun insane things on it. Like I mentioned above, you can't really have a sparkling button as easy as it would be on Ionic? You can not have fun little things happening on the app in a matter of an hour or two. But that is what makes it so efficient, so clean, so easy to use. Xamarin literally says, 'Dude, like, you can do it this way, and maybe the other way if you want, and that's it' (unless you pay for it). So, in high-level, my opinion, don't judge me, conclusion. If, you want to make a 'WOW' application that is new, and fresh, and FREE. Go Ionic.... If you have your bosses breathing on you, or a client that requires an application to be pushed out fast with the basics. Go Xamarin. Regards, Every Dev Ever