Eat, pray, love Xamarin

Using the title “Eat, pray, love” A good book and film. Yes, it’s a love history, however take the main plot of the history. A woman that finds herself to love again. (OK… it’s really mawkish)

Why this post?, it’s beacuse if you read the Stack Overflow Trend and specially Most Loved, Dreaded, Wanted frameworks. You can check this amazing paradox…

Loved Frameworks. Xamarin 49.0%
Dreaded frameworks, Xamarin 51%

Wait… What?

The half of StackOverflow people hate Xamarin and the another half love Xamarin, it’s really weird, don’t you think?

Well, when I saw this stats, I started to think about this term, so I will give my two cents about this.

Xamarin it’s not C#

This premise is only a click bait, in fact Xamarin is C#. But, there are a lot of companies that use C# developers to create Xamarin applications. Having a know how about C# is not enough to develop correctly in Xamarin, this is a fact.

Many years ago, I was a desktop developer, when Xamarin didn’t exists and Custom Framework and Windows Compact framework were the only way to create Mobile .NET. Around this time, I received my first OutMemoryException.

Bam! Visual Studio, didn’t show me only an OutMemoryException, Visual Studio tried to communicate with me and tell me. “Dude, this is a mobile, not a PC. Memory here is limited, so start thinking how to develop in a smart devices with low memory”

In this moment, I had a epiphany, I needed to change my mind to develop if I wanted to start developing in pocket devices…

But not all people have this epiphany, thinking that they can work like in servers or PC, having lots of memory, processors and a system that it’s not limited.

Triangle of evilness

I use evilness in a friendly way, obviously.

When you start working with Xamarin, you are working at least, with Microsoft tech, Google tech and Apple tech. Yup, Xamarin is from Microsoft, but any Xamarin developer needs to stay updated about all happens with these three companies.

It’s true that Xamarin Forms is an abstraction, in part. But the reality is that you need to know what happens under this abstraction, because this code run in Android or iPhone and now, Tizen, Linux, Windows, Mac and so on…

This is a reality, but the first impression about Xamarin is don’t worry, all is working and it’s really cool, you only need C# and Xaml and tada! you have a Mobile App.

However, you need to know how it works or at least suppose how it’s working… a ListView in Xamarin Forms, it’s a abstraction, that it’s translated to a TableView in iOS or a ListView in Android. This sounds like, “Xamarin guys your work is really bad” but not, it’s more like “Xamarin developers take care and worry about what happens inside” And believe me, you have the tools to achieve that.

Haters gonna hate

I was lucky and went to last Evolve, oh man, these days, It was amazing. I want to repeat. Miguel if you read this, take note dude. Xamarin community wants another Evolve.

I met a lot of people from Xamarin team, I met a lot of people of the community. Xamarin community is… Loves Xamarin and wants to contribute in any way. It was magical, when I saw, in Evolve, the Xamarin team showing the new features and people started screaming, like sports fans.

For this reason, there are a lot of times when you read tweets or hear people saying. “Xamarin is a piece of shit” and then a Xamarin lover answers “Why? What happens?” Try to help and change the mind of a Xamarin hater. Something like this (Yup, first comments it’s from Nat and Miguel, but please continue reading…)

Silver bullet is an unicorn

I’ve been Xamarin developer for 5 years, more or less, and developer for about 10 years. (dude… 10 years…) in this time, I learnt something, Silver bullet in tech doesn’t exists. (Man, for this reason we have a lots of work, so… sounds cool)

I defend Xamarin, like Microsoft paid me for this lines. (You know my bank account guys 😉 😉) however, I know it’s not the real solution for all our problems in mobility, there are places where is better to work on native or use another cross platform framework.

I’m just saying, if Xamarin doesn’t fit with you, don’t hate it like it’s a piece of shit.

Conclusion

While writing this lines, I’m thinking about all survey information from StackOverflow that you can download. So, I think “I can take information about people mark Dread in Xamarin and try to understand why all this hate”

When you check the data, you can see, what seems like different reasons for people to not continue using Xamarin. That sounds like companies “force” to work in Xamarin without any formation. People seems like they want to change to another Framework, if any of this haters read this lines, please comment your reasons, I’m curious about them.

A good point, when you check Xamarin lovers, the frameworks that this people use mostly are .NET Core and Xamarin, instead of haters that seems like are not full .NET developers, but they develop in another languages and frameworks, but in mobility, for commercial reasons, use Xamarin or something like that.

So have another conclusion, maybe this people don’t come back from a Microsoft technologies experience and then don’t have all technical experience to understand all the things that need to consider. It’s another supposition.

Two appointments more to conclude:

In part, people maybe have a misunderstanding or maybe I’m reading data from SO survey wrongly

In the SO survey you can read:

Part of survey for Frameworks

If you don’t want to work the next year with this framework, what’s your reason to dread this framework? Because it’s the only information about Framework in the survey.

I hope any people of SO staff can clarify a bit more about this.

Numbers

Between haters and lovers there a 3832 developers declare use Xamarin against 98855 developers answer the survey. Woah man.

Another number, 18510 declares themselves Mobile developers.

And the last number 4369 declares using Cordova (yikes!)

You can take a look if you want, about all this info:

If you read this, thanks for reading. I hope all this information is considered useful.

Finally, if you haven’t tried Xamarin I recommend you to take a look, if you are Xamarin hater, please, try again, also contact with me, maybe you will change of mind and if you are a Xamarin Lover, remember “Eat, Pray and Love Xamarin.”

Regards!