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.
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.
Every Dev Ever