If you were talking to someone whose organization is considering Xamarin Platform, what would you say?
How would you rate it and why? Any other tips or advice?
If you are already heavily invested in the .NET platform and C# development, Xamarin is the quickest way to make native iOS apps. Their leadership is exceptional at both listening to the customer base and delivering innovative, best-in-class products. A company that takes great care of its people. Xamarin has just been bought by Microsoft. What an endorsement!
This product is very easy to design and develop, and it is using C#. Microsoft is supporting this application, so product reliability increases.
We have been using Xamarin for over four years on multiple app projects of varying sizes, complexity, and code-reuse, ranging from fully featured custom UI social networking applications to data-driven forms apps with a maximum degree of codeshare and minimal UI. Xamarin can sure look like the one hammer that makes every project look like a nail, but it is not. Here at Seamgen, we consider it another tool in our toolbox, suitable to successfully realize our customer's ideas.
I have been using Xamarin for about seven years, since before it was Xamarin (it used to be MonoTouch and MonoDroid).
It does have its drawbacks. From time to time, it is a bit harder to code some specific scenarios compared to the native approach. Since Xamarin is the another layer of abstraction, it also adds its own bugs to the whole process. However, the overall experience is really positive. The benefits listed above are much higher than the costs associated with the overhead needed to work with Xamarin.
I have been using this solution for the past three years. I have developed many iOS and Android apps using Xamarin classic as well as Xamarin.Forms. In a nutshell, I would say that for those who love C# and mobile, this platform is a blessing. I would like to rate this solution as a seven out of 10. The reason for this rating is that this solution is definitely better than others. We can share a lot of code among the different platforms and can also use our C# skills, which we love. In addition, we can get native UI, native API access, and native performance. Still, there are a lot of areas in which Microsoft can make it better. And I must say, they are working on it. Architecture is the key point of every successful project and this is applicable to Xamarin as well. When implementing any project, one needs to be sure the app is following all the design patterns like MVVM, dependency injection, etc.
Be sure to look at the lessons from Xamarin University, as well as test projects on GitHub.
I rate it a 10 out of 10. It's the best cross-platform framework, and it continuously improves.
I would rate Xamarin Platform an eight out of 10 because, while developing applications using Xamarin Platform you will come across some library issues which need to be taken care of first. But I would strongly recommend Xamarin Platform because it’s a reliable technology compared with what is out there in the market and a plus-point is support for C# language. My only advice is that you please do a proof of concept before diving straight into development. It is always good to see beyond what you want and the requirements of your project. First, do some benchmarking of the requirements and then go for implementation of your solution.